On Wed, Feb 17, 2010 at 11:58 AM, Adrian Buehlmann <adr...@cadifra.com> wrote:
> On 17.02.2010 17:34, Steve Borho wrote:
>> On Wed, Feb 17, 2010 at 9:50 AM, Adrian Buehlmann <adr...@cadifra.com> wrote:
>>> (cc-ing thg-dev, hoping this is ok. It might be useful for thg
>>> development and others as well)
>>>
>>> On 17.02.2010 15:00, Yuki KODAMA wrote:
>>>> Hi Adrian,
>>>>
>>>> I was asked by my friend (TortoiseBZR developer) about
>>>> a new *rebootless* THG installer.  In general, an application which
>>>> uses Windows shell extension has to reboot after installing/upgrading it.
>>
>> It's nice to hear you're in contact with a TortoiseBZR developer.  I
>> wish one of them would hang out here so we could potentially
>> collaborate more.  We owe them a lot for the initial annotate and log
>> graph code, and various other bits.
>>
>>>> However, Steve's annouce says that THG's new installer can upgrade/
>>>> downgrade/package-change without reboot.  I don't know details about
>>>> THG's WIX installer, so I couldn't answer to his question then.
>>>>
>>>> Does the *rebootless* feature come from WIX toolset/framework?
>>>> Or are there a kind of technics for it?
>>>
>>> As I understand it, it's not related to WiX.
>>>
>>> It is a feature of Windows Installer.
>>>
>>> WiX is "just" a toolset to generate Windows installer database files 
>>> (*.msi).
>>>
>>> "The Windows Installer (previously known as Microsoft Installer) is an
>>> engine for the installation, maintenance, and removal of software on
>>> modern Microsoft Windows systems." [1]
>>>
>>> Windows installer is a part of Windows. It maintains a database of what
>>> components are installed and runs as a service (msiserver). It also has a
>>> client part that talks to the server when the user starts an installation.
>>>
>>> When a package is installed, Windows Installer does several actions.
>>> One such action is InstallValidate [2].
>>>
>>> In this action, Windows installer detects which running process has what
>>> exe or dll in use, that needs to be exchanged (upgrade/downgrade install).
>>>
>>> The user interface then offers the user to (A) shutdown the respective
>>> processes and restart them (in case of explorer, restart works). But the
>>> user may also choose not to shutdown the affected programs, but (B) instead
>>> schedule the exchange of the files for a reboot. Option (A) is preselected.
>>>
>>> I've uploaded a screenshot here:
>>> http://bitbucket.org/abuehl/thg-abuehl/downloads/ValidatingInstall-Windows7-shot1.PNG
>>>
>>> For the first install (no previously installed thg shell extension), the
>>> user needs to logout/login or restart explorer [3] himself for the shell
>>> extension dll to initialize the overlay icon handlers. It seems the context
>>> menu handlers get initialized on first context menu opening. So for the
>>> context menu, it works even without logout/login for the first install case.
>>>
>>> [1] http://en.wikipedia.org/wiki/Windows_Installer
>>> [2] http://msdn.microsoft.com/en-us/library/aa369546(VS.85).aspx
>>> [3] 
>>> http://www.addictivetips.com/windows-tips/how-to-restart-explorer-exe-process-properly-in-windows-xp-and-vista
>>
>>
>> Very recent thread on the tsvn list:
>>
>> http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2447781
>
> Case in point. I did the following test on Windows 7 x64:
>
> I have started Notepad, typed a bit, did a file open, canceled the file open
> (so that the shell extension dll was loaded into the Notepad process -- due 
> to the
> "file open" dialog).
>
> Then left Notepad running with the file unsaved.
>
> Then started our msi installer to do a downgrade install.
>
> InstallValidate then listed Notepad and explorer as programs holding files
> open.
>
> Then I choose to let Windows Installer close the apps (other option was: 
> schedule
> file exchange for reboot).
>
> Then I got a message box:
> '''
> The setup was unable to automatically close all requested applications. 
> Please ensure
> that the applications holding files in use are closed before continuing with 
> the
> installation.
> '''
>
> Next dialog shows the list of programs again with a request to close them.
> With Exit, Ignore and Retry buttons.
>
> So it is mostly in the hands of the user now, to avoid a reboot.

If the user does not install/upgrade the shell extension, explorer
won't necessarily be restarted and so the user may have to re-login to
get the PATH update.   It's a minor issue to be sure, but perhaps one
we can fix.

--
Steve Borho

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
Tortoisehg-develop mailing list
Tortoisehg-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop

Reply via email to