I have a merge module with some content common to several .MSI's and I'd like the .MSI that contains/includes the .MSM to specify where the .MSM should install its content - how can I do that?
I've tried the following - but it puts the 2 folders (PanoCntrl and MyAccount) directly in c:\program files rather than under, say, c:\program files\Development Kit May 2010 <?xml version='1.0' encoding='Windows-1252'?> <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> <Module Id='MDSCLib' Language='1033' Version='1.0.0' > <!-- The package GUID should be changed every time you build MSI so * is used to tell tools to do that. --> <Package Id='8DD907C3-B5BF-4549-85BC-F34F1E1F4424' Comments='This MSM file installs the MDSC Library.' InstallerVersion='200' Manufacturer='Microsoft' /> <Directory Id='TARGETDIR' Name='SourceDir'> <Directory Id='ProgramFilesFolder'> <Directory Id='INSTALLDIR' Name='.'> <Component Id='PanoCntrl' Guid='{E147715D-55EC-47d3-AD33-258E6EB6C507}'> <File Id='PanoramaVSIX' Name='Panorama.VSIX.4.0.vsix' Source='$(env._WINCEROOT)\xapps\MDSC\Controls\VsIntegration\Panorama.VSIX.4.0.vsix' Vital='yes' /> <RemoveFolder Id="INSTALLDIR" On="uninstall" /> </Component> <Component Id='MyAccount' Guid='{2288A34B-8161-4990-8A59-0ADF977754C2}'> <File Id='DataServiceFrameworkDLL' Name='DataServiceFramework.dll' Source='$(env._WINCEROOT)\xapps\MDSC\MyAccount\Shared\DataServiceFramework\Bin\$(var.Configuration)\DataServiceFramework.dll' Vital='yes' /> <File Id='DataServiceFrameworkPDB' Name='DataServiceFramework.pdb' Source='$(env._WINCEROOT)\xapps\MDSC\MyAccount\Shared\DataServiceFramework\Bin\$(var.Configuration)\DataServiceFramework.pdb' Vital='yes' /> </Component> </Directory> </Directory> </Directory> </Module> </Wix> Here's what the WXS for the .MSI looks like: <?xml version='1.0' encoding='Windows-1252'?> <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> <Product Name='Dev Kit' Id='{971CA8AB-D03E-4C71-BB89-F129B9B39A84}' UpgradeCode='{56B49009-B0DE-474c-AEB5-1D713EC21176}' Language='1033' Version='1.0.0' Manufacturer='Microsoft'> <!-- The package GUID should be changed every time you build MSI so * is used to tell tools to do that. --> <Package Id='*' Comments='This MSI file installs the Development Kit.' InstallerVersion='200' Compressed='yes' /> <Media Id='1' Cabinet='DevKit.cab' EmbedCab='yes' /> <Directory Id='TARGETDIR' Name='SourceDir'> <Directory Id='ProgramFilesFolder'> <Directory Id='INSTALLDIR' Name='Development Kit May 2010'> <Component Id='MyDevKit.xap' Guid='{C820BDDC-1BA4-47EC-A9E3-E4B64328D746}'> <File Source='$(env._WINCEROOT)\xapps\MDSC\MyAccount\MyDevKit\Bin\$(var.Configuration)\MyDevKit.xap' Vital='yes' /> <File Source='$(env._WINCEROOT)\xapps\MDSC\MyAccount\MyDevKit\ Release Notes.docx' Vital='yes' /> <RemoveFolder Id="INSTALLDIR" On="uninstall" /> </Component> <Merge Id="MDSCLib" Language="1033" SourceFile="$(env._WINCEROOT)\xapps\MDSC\MDSCLibWix\Bin\$(var.Configuration)\MDSCLib.msm" DiskId="1" /> </Directory> </Directory> </Directory> <Feature Id='Complete' Level="1"> <ComponentRef Id='MyDevKit.xap' /> <MergeRef Id="MDSCLib" /> </Feature> <WixVariable Id="WixUILicenseRtf" Value="DevKit.rtf" /> <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR"/> <UIRef Id="WixUI_InstallDir" /> <UIRef Id="WixUI_ErrorProgressText" /> </Product> </Wix> So, the first question might be "what on Earth was I thinking specifying the INSTALLDIR as '.' ?!?" Well, I pieced it together from some info<http://blogs.claritycon.com/blogs/sajo_jacob/archive/2007/12/18/3543.aspx> on the internet - it's likely that I misinterpreted the posting I got that from. Thanks for the help! Charlie ------------------------------------------------------------------------------ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users