Hi Peter... It was a bit of a nuisance to get a verbose log out of the wmi install, so I've been comparing the logs from the builds using the type 51 and type 35 work-arounds vs the builds just ignoring the error. The differences I see is that TARGETDIR=<my custom value> in the early phases of all logs, but in the ones with the type 51 and type 35 work-arounds TARGETDIR just doesn't appear to be used in coming up with the final destination for some of the merge modules. Why? I don't know.
E.g. Action ended 17:14:01: INSTALL. Return value 1. Property(C): Binaries = C:\OurPath\Binaries\ Property(C): TARGETDIR = C:\OurPath\ Property(C): ASP = C:\OurPath\ASP\ Property(C): Ptt = C:\OurPath\Ptt\ In the log when I just ignore the warning compared to Action ended 15:27:12: INSTALL. Return value 1. Property(S): Binaries = C:\OurPath\Binaries\ Property(S): TARGETDIR = C:\OurPath\ Property(S): ASP = C:\ASP\ Property(S): Ptt = C:\OurPath\Ptt\ In the log when I'm trying one of the other approaches. On your other suggestions, I found a few things: 1) Can't put a type 35 anywhere before after CostFinalize. It throws an error at any stage before. 2) I tried putting my own directory level (e.g. <Directory Id="PRODUCTDIR" Name="Ice48 Stub">...</Directory>) just inside of TARGETDIR, but using a type 51 CA Before="CostInitialize" still had the same problem of pretty random directory placement. Specifically, it put things in C:\Ice48 Stub\... 3) Same as #2 but going back to type 35 after CostFinalize appeared to do the trick. Things got installed where I expected when running the msi locally. Thanks Mark -----Original Message----- From: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com] Sent: Tuesday, October 04, 2011 12:10 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Dealing with ICE48 warning The subtle differences between the two are a bit beyond me since I've never needed to distinguish between them. There's a list of considerations at http://msdn.microsoft.com/en-us/library/aa367852%28v=VS.85%29.aspx which may answer your questions. It's worth trawling through the MSDN. For us, setting the property before CostInitialize has always worked. We use a setproperty action but setdirectory would work and should make slightly more sense. It probably helps matters that we don't use merge modules nor MSI UI so the directories are determined before the MSI even starts up and don't change during installation. There are setproperty and setdirectory elements in wix3.5 to more concisely express these kinds of custom action. The remote/local difference is somewhat strange, I agree, but I'm sure there's a good reason for it. A comparison of verbose logs may give you a clue. -----Original Message----- From: Mark Modrall [mailto:mmodr...@mzinga.com] Sent: 04 October 2011 16:57 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Dealing with ICE48 warning Thanks, Peter... I can give it a shot. I was a bit perplexed when I found that the Type 51 approach worked as I expected when it installed remotely through WMI, as opposed to being run locally on the computer. By and large our ops team uses a utility to manage the farm and the installs are run remotely; the difference in behavior just annoyed me. Just out of curiosity, if I switch to using INSTALLDIR instead, does it make a difference whether I use the Type 51 or the type 35 custom actions to set it? And at which phase? I googled around and found a few posts advocating the type 51 approach Before CostFinalize, now some saying type 35 after. I'm wondering if just avoiding the specific case of TARGETDIR would push one way or the other? Thanks Mark -----Original Message----- From: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com] Sent: Tuesday, October 04, 2011 11:45 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Dealing with ICE48 warning I've just looked back at your original post which is how to avoid ICE48 errors. The ICE48 error is issued because ... ICE48 checks for directories that are hard-coded to local paths in the Property table. (From http://msdn.microsoft.com/en-us/library/windows/desktop/aa368977%28v=vs.85%29 .aspx) ICE48 is objecting to the use of C:\OurPath\ TARGETDIR is by default set to the root of the drive with the most free space (I think). Some of the other components, probably in the merge modules, might have directory paths rooted under a well known directory property like ProgramFilesFolder which overrides the TARGETDIR, even though they appear underneath TARGETDIR. I'm not entirely sure how to fix it to work exactly how you have it currently but I can give some info that might help. The usual pattern for having a retargetable installation is to set up the default in the directory elements and then make the installation directory a public directory property, in this case, "INSTALLDIR". <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder"> <Directory Id="CompanyDir" Name="IniTech"> <Directory Id="INSTALLDIR" Name="Product v1"> ..components... Then you can set the value of INSTALLDIR (or whatever you call it) to some other value on the command line or leave it to get the default. Note that the built-in directory property ProgramFilesFolder will override whatever TARGETDIR is set to unless youre performing an admin installation. If INSTALLDIR is defined as an absolute path, that will in turn override [ProgramFilesFolder]\InitTech. You might be able to get this to work with TARGETDIR but since Windows Installer itself will set the value of it, it's easier to define your own property and use that: in this case INSTALLDIR. -----Original Message----- From: Mark Modrall [mailto:mmodr...@mzinga.com] Sent: 04 October 2011 16:00 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Dealing with ICE48 warning I was wondering maybe *before* CostFinalize? I'm just grasping around here... -----Original Message----- From: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com] Sent: Tuesday, October 04, 2011 10:24 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Dealing with ICE48 warning Could it be the file's encoding ? Declared as UTF-8 but written in something else maybe ? -----Original Message----- From: Mark Modrall [mailto:mmodr...@mzinga.com] Sent: 04 October 2011 15:17 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Dealing with ICE48 warning Thanks for the response... I tried replacing my type 51 with <CustomAction Id="SetTarget" Directory="TARGETDIR" Value="C:\OurPath\" /> After CostFinalize, but now I get an error "The folder path '?' contains an invalid character" when I run the installer locally. Not sure where the ? is coming from... Mark -----Original Message----- From: jhennessey [mailto:jack.hennes...@hyland.com] Sent: Monday, October 03, 2011 4:48 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Dealing with ICE48 warning When you use a type 51 custom action it doesn't call MsiSetTargetPath because you've told it you are setting a property and not a directory. Try using a type 35 custom action (after CostFinalize) by using the Directory attribute instead of Property. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Dealing-with-IC E48-warning-tp6841665p6856559.html Sent from the wix-users mailing list archive at Nabble.com. ----------------------------------------------------------------------------- - 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 ----------------------------------------------------------------------------- - 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 SDL PLC confidential, all rights reserved. If you are not the intended recipient of this mail SDL requests and requires that you delete it without acting upon or copying any of its contents, and we further request that you advise us. SDL PLC is a public limited company registered in England and Wales. Registered number: 02675207. Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, UK. ----------------------------------------------------------------------------- - 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 ----------------------------------------------------------------------------- - 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 ----------------------------------------------------------------------------- - 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 ----------------------------------------------------------------------------- - 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 ------------------------------------------------------------------------------ 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 ------------------------------------------------------------------------------ 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