.NET Framework - Controlling Restart Manager behaviour

Asked By Nick Hall
02-Feb-10 06:09 AM
Our application installs a Microsoft Exchange agent (Exchange 2007, Windows
Server 2008) using a Wix-authored MSI.  The dll gets loaded by the Exchange
Transport Service.  I have added a ServiceControl element to stop and start the
service which seems to work OK.  The problem is that when the application is
being uninstalled I get a dialog telling me that a reboot will be required.
If I OK this, the uninstall functions correctly without the reboot (as by the
time the files are uninstalled the service has been stopped).

I believe that the problem is due to the way that the Exchange service is
implemented.  The service executable is called MSExchangeTransport.exe which
then uses a process called EdgeTransport.exe to host our dll.  Because the
dll is not being hosted directly by the service, Restart Manager is not
correctly recognizing that there is not a problem.

This is the contents of the uninstall log pertaining to the reboot request: -

MSI (s) (78:0C) [18:28:22:904]: RESTART MANAGER: Did detect that a critical
application holds file[s] in use, so a reboot will be necessary.
MSI (s) (78:0C) [18:28:22:904]: Note: 1: 1610 MSI (s) (78:0C)
[18:29:08:864]: RESTART MANAGER: The user chose to go on with the
installation, although a reboot will be required.

Is there any way, using a custom action or via another method that I can
somehow let Restart Manager know the dlls held by EdgeTransport should not
prevent uninstall (as the process will be terminated when its parent service
shuts down)?

Thanks,

Nick Hall
Windows Server 2008
(1)
Microsoft Exchange
(1)
Windows Installer
(1)
ServiceControl
(1)
EdgeTransport
(1)
Wix
(1)
Dlls
(1)
INH
(1)
  Wilson, Phil replied to Nick Hall
04-Feb-10 03:42 PM
I have heard that there may be a bug in this area, but that is just rumor. The
behavior is that only the first row in the ServiceControl table is
inspected,  so RM does not know that the service will be stopped.  Does that
look relevant here?
--
Phil Wilson
The Definitive Guide to Windows Installer
http://www.apress.com/book/view/1590592972
  Vadim Rapp replied to Nick Hall
12-Feb-10 07:59 AM
NH> Is there any way, using a custom action or via another method that I
NH> can somehow let Restart Manager know the dlls held by EdgeTransport
NH> should not prevent uninstall (as the process will be terminated when
NH> its parent service shuts down)?

If this is happening in the execute sequence, can you stop the service
before RM has looked?

Vadim Rapp
Create New Account
help
KB953297 .NET Framework Microsoft NET-Framework 1.1 Service Pack 1, Sicherheitsupdate f??r Windows 2000, Windows XP, Windows Vista, Windows Server 2008, Windows 7 und Windows Server 2008 R2 (KB953297) Hallo Experten, das Sicherheitsupdate KB953297 l????t sich bei mir leider
Problems installing PowerShell on Windows Server 2008 R2. .NET Framework Hello! I am trying to install Microsoft SQL Server 2008 Developer on Windows Server 2008 R2, and am having some trouble with the PowerShell aspect. I had never heard of
Porting from 32 bit Windows server 2008 to 64 bit Windows Server 2008 .NET Framework Hi, I need a help from you. I'm writing device driver for 64 bit Windows Server 2008. I have code for 32 bit Windows Server 2008, its working fine on 32
Install IIS in Windows Server 2008 .NET Framework Hi, all, I want to install IIS in Windows Server 2008. How can i script it in powershell? Powershell Discussions Windows Server 2008 R2 (1) Windows Server 2008 (1) IIS (1) ServerManagerCmd (1) PSToolbar (1) ScriptFanatic (1
CAL for Windows Server 2008 in a Terminal Server environment .NET Framework I need product keys for Terminal Server Windows Server 2008 access (CALs) under MSDN - TSLM Service said they cannot provide product keys for the access