Hi there,

I'm new to this list and am writing because I feel like im a Catch-22 situation.

I'm maintaining a WiX-authored MSI installer for our company's product
which supports major upgrades. In addition to the main product A,
we're also installing a standalone application B that checks if all of
A's required files have been installed, and have the expected file
version, file size etc.
B must be run after a successful install, which might or might not
require a reboot, and after all installed files have actually been
written to their target destinations. The original author of the
installer solved this for the reboot case with the following
sequencing in the InstallExecuteSequence table (excerpt):

- InstallInitialize
- [...]
- InstallExecute
- RemoveExistingProducts
- Check if a reboot is required, and if yes, run a CA that writes
RunOnceEx key to run B after next reboot; this requires elevated
permissions, therefore CA must run deferred
- InstallFinalize

So far, so good(?).

Now for the next major upgrade, the above requirements still hold,
while we're now also installing 3rd party .NET assemblies to the GAC
whose version is not under our control. This leads to the issue
described inĀ  http://support.microsoft.com/kb/905238, "An assembly in
the global assembly cache or SxS is missing after you perform a major
upgrade by using a Windows Installer package".

The recommended solution is to schedule RemoveExistingProducts after
InstallFinalize. However, (and now comes the Catch-22), while checking
whether a reboot is required only makes sense after
RemoveExistingProducts, the CA cannot be scheduled after
InstallFinalize, because it requires elevation, which in turn requires
it be scheduled between InstallInitialize and InstallFinalize.

Conversely, if I schedule the CA between InstallInitialize and
InstallFinalize, the reboot check might not be meaningful because
RemoveExistingProducts has not run yet.

I'd be extremely grateful for any ideas or suggestions.


Best,
Simon

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to