Hi... Our installers are used internally to install to a farm, so we had
<Property Id="TARGETDIR" Value="C:\OurPath" /> In our old Wix 2.0 scripts. We recently updated to Wix 3.5, and I started getting ICE48 warnings. I googled around on how to do this "properly", and I found some posts about moving the definition of the target directory to a custom action "at an early stage". So I replaced the definition above with <Custom Action="SetTarget" Before="CostInitialize" /> <Custom Action="InstallConfig" Before="InstallFinalize">NOT Installed</Custom> </InstallExecuteSequence> <CustomAction Id="SetTarget" Property="TARGETDIR" Value="C:\OurPath\" /> <CustomAction Id="InstallConfig" Impersonate="no" Return="check" Execute="deferred" FileKey="InstallConfig.exe" ExeCommand="[TARGETDIR]" /> That did get rid of the warning, but now when I run the installers produced most of the subdirectories end up at C:\ instead - except for a couple which end up in the right place for reasons I haven't figured out. For example, my main msi wxs file has <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="Binaries" Name="Binaries"> <Merge Id="PTCoreModule" Language="1033" SourceFile="..\PTCoreModule\bin\Release\PTCoreModule.msm" DiskId="1" /> ... <Component Id="InstallConfig" Guid="D746C5C0-12CB-4d4a-AA65-361D578F09F5"> <File Id='InstallConfig.exe' Name='InstallConfig.exe' DiskId='1' Source='..\InstallConfig\bin\Release\InstallConfig.exe' Vital='yes' /> <File Id='InstallConfig.pdb' Name='InstallConfig.pdb' DiskId='1' Source='..\InstallConfig\bin\Release\InstallConfig.pdb' /> </Component> </Directory> <Directory Id="ASP" Name="ASP"> <Merge Id="AspModule" Language="1033" SourceFile="..\AspModule\bin\Release\AspModule.msm" DiskId="1" /> </Directory> <Directory Id="Ptt" Name="Ptt"> <Merge Id="PttModule" Language="1033" SourceFile="..\PttModule\bin\Release\PttModule.msm" DiskId="1" /> </Directory> </Directory> The Component under Binaries ends up in C:\OurPath\Binaries\InstallConfig.exe, but PTCore's contents end up in C:\Binaries. The AspModule ends up in C:\ASP\, but PttModule ends up in C:\OurPath\Ptt. So a) did I just pick the wrong way to deal with ICE 48? Or more importantly, what did I do wrong? b) What's the "right" way? c) Any guesses why some directories would seem to work and others not? Seems like I should just live with the warnings until I figure out how to do it right... Thanks mark ------------------------------------------------------------------------------ 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