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