Where is your launchapplication custom action scheduled in the
InstallExecuteSequence?

I think that the VC redists won't actually get installed to the SxS folder
until after InstallFinalize, so if your action runs before then, the app
won't find the VC dlls and you'll get the error message you're seeing below.

I think that the answer is to launch your application after InstallFinalize.
You lose the ability to fail the install and rollback if your app fails to
launch, but maybe that's acceptable.  You could also statically link the app
with the CRT & MFC and then the dlls aren't necessary.

If your CA is already scheduled after InstallFinalize, then I wasn't much
help :)

-Ari


-----Original Message-----
From: warne man [mailto:warne...@hotmail.com] 
Sent: Friday, July 17, 2009 2:59 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] merge modules not working only vcredist.exe







 
Hi,
 
I am using WIX 3.0 for the first time to create an install package for my
application. The App is developed in c++ in Visual Studio 2008.
 
Problem is the application will not run or launch using merge modules.
Instead I have to install the Visual C++ 2008 Redistributable Package
(vcredist_x86.exe) before installing my msi. If I do that the application
runs as expected.
 
My merge modules are installed in a seperate feature from my application as
follows (tried one feature for all, no difference either):
 
.
.
<!-- merge modules -->
<DirectoryRef Id="TARGETDIR">

<Merge Id='Microsoft_VC80_ATL' Language='1033'
SourceFile='installFiles/merge/Microsoft_VC80_ATL_x86.msm' DiskId='1' />
<Merge Id='Microsoft_VC80_CRT' Language='1033'
SourceFile='installFiles/merge/Microsoft_VC80_CRT_x86.msm' DiskId='1' />
<Merge Id='Microsoft_VC80_MFC' Language='1033'
SourceFile='installFiles/merge/Microsoft_VC80_MFC_x86.msm' DiskId='1' />
<Merge Id='Microsoft_VC80_MFCLOC' Language='1033'
SourceFile='installFiles/merge/Microsoft_VC80_MFCLOC_x86.msm' DiskId='1' />

<Merge Id='msxml4sxs32' Language='1033'
SourceFile='installFiles/merge/msxml4sxs32.msm' DiskId='1' />
<Merge Id='msxml4sys32' Language='1033'
SourceFile='installFiles/merge/msxml4sys32.msm' DiskId='1' />
<Merge Id='policy_8_0_Microsoft_VC80_ATL_x86' Language='1033'
SourceFile='installFiles/merge/policy_8_0_Microsoft_VC80_ATL_x86.msm'
DiskId='1' />
<Merge Id='policy_8_0_Microsoft_VC80_CRT_x86' Language='1033'
SourceFile='installFiles/merge/policy_8_0_Microsoft_VC80_CRT_x86.msm'
DiskId='1' />
<Merge Id='policy_8_0_Microsoft_VC80_MFC_x86' Language='1033'
SourceFile='installFiles/merge/policy_8_0_Microsoft_VC80_MFC_x86.msm'
DiskId='1' />
<Merge Id='policy_8_0_Microsoft_VC80_MFCLOC_x86' Language='1033'
SourceFile='installFiles/merge/policy_8_0_Microsoft_VC80_MFCLOC_x86.msm'
DiskId='1' />

</DirectoryRef>
 
.
.
.
<Feature Id="Merge" Title="Visual C++ Runtimes" AllowAdvertise="no"
Display="hidden" Level="1">
<MergeRef Id="Microsoft_VC80_ATL"/>
<MergeRef Id="Microsoft_VC80_CRT"/>
<MergeRef Id="Microsoft_VC80_MFC"/>
<MergeRef Id="Microsoft_VC80_MFCLOC"/>

<MergeRef Id='msxml4sxs32' />
<MergeRef Id='msxml4sys32' />
<MergeRef Id='policy_8_0_Microsoft_VC80_ATL_x86' />
<MergeRef Id='policy_8_0_Microsoft_VC80_CRT_x86' />
<MergeRef Id='policy_8_0_Microsoft_VC80_MFC_x86' />
<MergeRef Id='policy_8_0_Microsoft_VC80_MFCLOC_x86' />
</Feature>
.
.
 
I know the merge modules are getting installed from the difference in size
in the resulting msi package. 
 
I want to avoid using a bootstrapper to install the VCRedist package
seperately first for fear of users post uninstalling that later out from
under my application. Therefore Id like to get it working using merge
modules. Is there a correct order to installing these merge modules?
Anything missing (or shouldnt be there) from the above list that also needs
to be included?
 
I get the "application configuration incorrect" message when try to launch
with merge modules. From the msiexec log file I get 
 
"Debug: error 2896 executing action launchapplication failed". 
 
This my custom action to launch the application once install is finished.
Again this works fine if vcredist.exe is installed before my msi package.
 
 
 
many thanks for any help,
 
 

_________________________________________________________________
Share your photos with Windows Live Photos - Free.
http://clk.atdmt.com/UKM/go/134665338/direct/01/
----------------------------------------------------------------------------
--
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize

details at: http://p.sf.net/sfu/Challenge
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to