Sam,

Chaining installers is a general no-no and Microsoft recommend you don't 
do it.  Second, trying to install software in the Cost Finalise stage is 
also not a good idea.  Installing something using a custom action makes 
it very difficult to roll back should the installation fail or be 
cancelled and it makes uninstalling your application difficult if not 
impossible.  Your installer should allow a clean install and also a 
clean removal of you application (including DirectX if your application 
installs it) and given the design you are describing, that would be 
difficult to achieve.

If you need to install a second application, the recommended method is 
to use a bootstrapper such as dotNetInstaller or WiX's own "Burn" 
facility.  Its likely to cause you a lot less headaches in the long run.

Chris

On 05/04/2011 11:37 AM, Sam Morris wrote:
> I am running into difficulty making an installer support major
> upgrades. My installer has a CustomAction that installs DirectX. When
> installing a newer version of the product, during CostFinalize(!),
> Windows Installer decides not to install the components that contain
> DXSETUP.EXE and dsetup32.dll:
>
>    Disallowing installation of component: 
> {67628ECC-9735-503B-9EC1-148280D3BE95} since the same component with higher 
> versioned keyfile exists
>    Disallowing installation of component: 
> {83BFB124-42B3-5F67-8801-9D73B55EC4A9} since the same component with higher 
> versioned keyfile exists
>
> By the time it comes to run the action that installs DirectX, the files
> no longer exist and the installation fails:
>
>    DEBUG: Error 2753:  The File 'directx_redist_DXSETUP.exe_f' is not marked 
> for installation.
>    The installer has encountered an unexpected error installing this package. 
> This may indicate a problem with this package. The error code is 2753. The 
> arguments are: directx_redist_DXSETUP.exe_f, ,
>    MSI (s) (48:64) [15:14:36:309]: Product: Fate of the World -- The 
> installer has encountered an unexpected error installing this package. This 
> may indicate a problem with this package. The error code is 2753. The 
> arguments are: directx_redist_DXSETUP.exe_f, ,
>
> I am puzzled for the following reasons:
>
>   1. The error message says that 'the same component with higher versioned
>      keyfile exists', but this is not the case. The files installed by
>      both versions of the product are identical. Is the error message
>      correct, or does it really mean 'with equal or higher versioned
>      keyfile'?
>
>   2. If I'm reading the log correctly, the InstallDirectX action is being
>      run before any of the new versions' files have been copied into
>      place. The target installation directory is empty if I look for it
>      while the installer is displaying the 'error 2753' dialog box.
>
> I'm uploading the relevant bits of the installer source, and the log
> file produced from a failed installation to
> <http://albion.red-redemption.com/~sam/wix>. I'd be grateful if someone
> could take a look.
>
> Regards,
>

------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to