Sounds like you might be best served by using a bootstrapper/chainer.

On Mon, Oct 10, 2011 at 12:19 AM, Simon Hoffmann <
vol714poursyd...@googlemail.com> wrote:

> 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
>
>


-- 
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
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-d2d-oct
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to