[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Potential installation bug in TortoiseSVN 1.9.4 64 bit edition

From: Edward Tippelt <edward.tippelt_at_it.ox.ac.uk>
Date: Mon, 19 Sep 2016 13:04:31 +0000

Dear Volunteer,

Running on Windows 7 SP1 Enterprise Edition, 64 bit.

I have encountered an installation problem with TortoiseSVN 1.9.4 64 bit that I have tracked down to the MSI action "InstallValidate". When this action runs, Windows Explorer is closed, but fails to re-open at the end of the install. The section in the verbose installation log that refers to the probable cause of the explorer closure is shown below:

MSI (s) (14:90) [13:42:45:466]: RESTART MANAGER: Will attempt to shut down and restart applications because the UI does not display any modal dialogs.
MSI (c) (1C:0C) [13:42:45:466]: RESTART MANAGER: Session opened.
MSI (s) (14:90) [13:42:45:513]: RESTART MANAGER: Successfully shut down all applications in the service's session that held files in use.
MSI (c) (1C:0C) [13:42:45:513]: RESTART MANAGER: Successfully shut down all applications that held files in use.

The time coincides exactly with the point at which Explorer closes, verified by placing Type 38 custom actions each side of InstallValidate in the InstallExecute sequence to show messages immediately before and immediately after InstallValidate.

Looking at the end of the log, the entries suggest that all previously closed applications have been restarted:

MSI (c) (1C:0C) [13:43:38:399]: RESTART MANAGER: Previously shut down applications have been restarted.
MSI (c) (1C:0C) [13:43:38:399]: RESTART MANAGER: Session closed.
=== Verbose logging stopped: 19/09/2016 13:43:38 ===

In our case, this is not happening.

We used PAExec (a redistributable application that mimics the operation of Sysinternal's PSExec utility) to run the install locally, as the install is triggered by the user from a menu of available apps, but run in an elevated context via PAExec.
If I run the install from an elevated command prompt, Explorer is restarted at the end of the install. However, in this scenario, the install is being run from a user account. In the PAExec scenario, the install is being run in a system context I suspect this is why the explorer session is not being restarted, or it is being restarted in a system context (eg Session 1) that is not visible to user accounts of any description in Session 2.

In order to be able to deploy this software to users, I need to find a solution to this problem. It would of course be ideal if this could be fixed within the TortoiseSVN package, as it is bad practice to just nuke running applications when a silent or basic UI installation is taking place. In our case, the average user would need to force a power off to restart the machine, or if more familiar with IT processes, start task manager and run Explorer.exe to get Windows Explorer running again.
Programmatically, the installer needs to identify the currently logged on user and restart any processes that were stopped in the context of that user, as you cannot assume that the install is being done by an actual user. Most corporates use a distribution system such as SCCM or Symantec DS/NS which all run installs using a local system account. With XP. Interaction with the desktop was simple, but with Win 7 and later, the system and user processes run in different sessions and interaction with desktop is no longer straightforward.

Are you able to help ?



Edward Tippelt
Applications Packaging and Deployment Specialist
NSMS Desktop Administration Team
IT Services | University of Oxford
13 Banbury Road, Oxford, OX2 6NN
T: 01865 613890


To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].

Received on 2016-09-19 15:17:51 CEST

This is an archived mail posted to the TortoiseSVN Users mailing list.