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