Check out our MSDN Webcast this Friday!

MSDN Architecture Webcast: Designing Software Installations for Windows Vista Using Windows Installer 4.0 (Level 200)
Friday, June 23, 2006
11:00 A.M.–12:00 P.M. Pacific Time

Hope to see you all there 🙂

[Author: Tyler Robinson]
This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at

Comments (4)

  1. During the Q&A I asked about the Restart Manager restarting applications across sessions and the answer was no.   I’m curious about this since I’ve had to script this in past versions of WindowsInstaller.

    An example installation story is that of a reservations call center agent monitoring software ( `Witness`).  Witness installs as a service and a tray application.

    The software packages is pushed silently with SMS 2003 as SYSTEM. The goal is to be able to shutdown the software, perform an upgrade and then restart the software very quickly without the agent noticing.  The service is easy to restart by using the ServiceControl tables but the Tray App required the use of DCOM impersonation to start a process using the users session and credentials.

    Is this a valid story for trying to find a way to have restart manager cross boundries or was there an easier way to advertise with SMS so that the installation ran in the users context but with elevated priviliges.

  2. ZippyV says:

    Will it be possible to install drivers with msi 4.0?

  3. zhakim says:

    I’m still a little unclear about the Restart Manager question above. If the question is "Can a RM in session x shut down apps in session y?" the answer is NO unless you spin up a Restart Manager session in session y. MSI does spin up RM sessions in session 0 as well as the session of the current user, but anything else you will need to code yourself. If the question is about shuttung down software installed with a different security context, then as long as the application is running with the same (or lower) security as the MSI engine, then you should be OK.

    To the question about drivers: You have been able to install drivers using MSI for some time now. Check out the Driver Install Frameworks (specifically DifXApp) for more information (

  4. Correct. The idea is that an unprivileged user is logged into Session 0. An SMS advertisement runs as SYSTEM with no desktop interaction.  

    The story is to spin down a program running on session 0 and to spin it back up at the end of the upgrade.

    Another installation story is that of a UDP based terminal program.  Basically a custom action kills the application and then a DCOM server set to impersonate the interactive user launches the program back up as the logged on non-priviliged user in session 0.

    I can continue to code it myself, but I was wondering if this was a use case that RM supported but it looks like it does not.

    I suppose the way RM would support it is if I somehow told SMS to execute the advertisement as the logged on user and then invoked UAC to elevate the context while maintaining a connection to session0 of the logged on user.

    I hope this makes it clear finally. 🙂

Skip to main content