[wix-users] Major Upgrade Service Installer Displays Files-In-Use
bryand at recastsoftware.com
Thu Nov 7 14:28:49 PST 2019
Thanks Johan, yea a bootstrapper is an option we've considered. I won't say we've ruled it out but we work in the sysadmin space (Configuration Manager to be specific) so if at all possible we'd like to stick to vanilla MSI's because they're a known-entity as far as deploying silently.
From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of Johan Heikkila via wix-users
Sent: Thursday, November 7, 2019 1:50 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Cc: Johan Heikkila <johan.heikkila at fi.abb.com>
Subject: Re: [wix-users] Major Upgrade Service Installer Displays Files-In-Use
We moved to a bootstrapper and got rid of what I think could be a similar problem. When the whole installation runs elevated, services are always stopped.
Another issue of ours was that our services were .NET based, and dependent assemblies are registered not until after InstallFinalize. But you aren't allowed to schedule service start (deferred) after InstallFinalize. It's possible to work around (with groups and ownerships of the services), but the easiest way is to use a bootstrapper (bundle).
From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of Bryan Dam via wix-users
Sent: torsdag 7 november 2019 02:34
To: wix-users at lists.wixtoolset.org
Cc: Bryan Dam <bryand at recastsoftware.com>
Subject: [wix-users] Major Upgrade Service Installer Displays Files-In-Use
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
Coming up against what I think Neil Sleightholm describes in this thread: https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwindows-installer-xml-wix-toolset.687559.n2.nabble.com%2FFiles-in-use-td2869019.html&data=02%7C01%7C%7C0d131b94f8674f8769ff08d7631a3431%7C372ee9e09ce04033a64ac07073a91ecd%7C0%7C0%7C637086836504757670&sdata=lGJirQQs0biUpKGqJzQTTAostdcqImImo5%2F4te2QQ1Q%3D&reserved=0
We have a fairly simple installer that installs one of two services. Really it's the same service with the same set of files but with the choice of running as LocalSystem versus a specified account. We would like to create a major update that will not re-prompt the user for the service credentials. To that end we've defined the following in InstallExecutionSequence to not modify the service itself on upgrades:
The two service components both include:
<ServiceControl Id="<Unique Name Here>" Start="install" Stop="both" Remove="uninstall" Name="Proxy" Wait="yes" />
This seems to work just fine. The service is installed on install, removed on uninstall, stopped and started on major upgrades. The only hiccup is that when doing a major upgrade we get the files-in-use dialog pointing to the service's process. Which is because the installer hasn't stopped the service yet. Click 'ignore' and everything installs fine and you can see the service being stopped and started properly (including waiting for it to start). Run it silently and it installs just fine.
Any idea of how to handle this and avoid the files-in-use dialog?
FWIW, there's nothing being installed outside of the files required by the service itself so simply disabling that dialog is on the table since there's no other relevant files that would be in use. I've seen suggestions of setting MSIRESTARTMANAGERCONTROL to Disable but that didn't seem to change anything.
WiX Toolset Users Mailing List provided by FireGiant https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.firegiant.com%2F&data=02%7C01%7C%7C0d131b94f8674f8769ff08d7631a3431%7C372ee9e09ce04033a64ac07073a91ecd%7C0%7C0%7C637086836504757670&sdata=sQ%2B8nNwSqPG6IUVu%2FkhyJX0DZFyY3uViWhbACyqM85U%3D&reserved=0
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/
More information about the wix-users