Re: [WiX-users] Dealing with ICE48 warning

2011-10-05 Thread Peter Shirtcliffe
Open the MSI up in Orca or Inst Ed and you might find that the directory IDs
in the merge modules have had Guids added to them. Ids in modules are
modularised to avoid name clashes.

-Original Message-
From: Mark Modrall [mailto:mmodr...@mzinga.com] 
Sent: 04 October 2011 23:14
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Dealing with ICE48 warning

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

Re: [WiX-users] Dealing with ICE48 warning

2011-10-05 Thread Mark Modrall
Okay, I'm looking at the installer in Orca.  I see that all the directories 
declared in the modules have the package guid appended to them (e.g. 
ASPdirectory0.1A39512D_87E4_4FD4_AEFC_88DE0E1C2536), but that's the same for 
those that went to the right place and those that went somewhere else.

A lot of the binary modules had a Directory Id=INSTALLDIR inside the 
module's Directory Id=TARGETDIR, so all those INSTALLDIRs are 
differentiated by the guid...

Thanks
Mark


-Original Message-
From: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com] 
Sent: Wednesday, October 05, 2011 4:38 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Dealing with ICE48 warning

Open the MSI up in Orca or Inst Ed and you might find that the directory IDs
in the merge modules have had Guids added to them. Ids in modules are
modularised to avoid name clashes.

-Original Message-
From: Mark Modrall [mailto:mmodr...@mzinga.com] 
Sent: 04 October 2011 23:14
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Dealing with ICE48 warning

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

Re: [WiX-users] Dealing with ICE48 warning

2011-10-04 Thread Mark Modrall
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-ICE48-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


Re: [WiX-users] Dealing with ICE48 warning

2011-10-04 Thread Peter Shirtcliffe
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


Re: [WiX-users] Dealing with ICE48 warning

2011-10-04 Thread Mark Modrall
Nope...  The actual path is just as vanilla as the example below.  Straight 
7-bit ascii...

Thanks
mark


-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


Re: [WiX-users] Dealing with ICE48 warning

2011-10-04 Thread Mark Modrall
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


Re: [WiX-users] Dealing with ICE48 warning

2011-10-04 Thread Peter Shirtcliffe
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

Re: [WiX-users] Dealing with ICE48 warning

2011-10-04 Thread Mark Modrall
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

Re: [WiX-users] Dealing with ICE48 warning

2011-10-04 Thread Peter Shirtcliffe
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

Re: [WiX-users] Dealing with ICE48 warning

2011-10-04 Thread Mark Modrall
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

Re: [WiX-users] Dealing with ICE48 warning

2011-10-03 Thread Mark Modrall
Okay, now this is getting strange and I hope someone can help me figure out 
what's going on here...

I just discovered that having a type 51 custom action to set TARGETDIR  puts 
half the directories in the wrong place when I copy the msi to a machine and 
run it locally.

When I copy the msi to the machine and run it remotely through WMI, the 
directories are put in the right place.  So when I *thought* I'd resolved it by 
moving the CA from Before=CostInitialize to Before=CostFinalize it would 
appear the bigger difference was running the msi through our little utility 
using WMI instead of running it manually on the spot.

So again, anyone have any clue why running the msi locally with TARGETDIR set 
in a custom action would result in the directories being placed in the wrong 
spots?  And why running the same msi through WMI would put them in the right 
places?

Thanks
Mark

-Original Message-
From: Mark Modrall [mailto:mmodrall@...]
Sent: Wednesday, September 28, 2011 3:57 PM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] Dealing with ICE48 warning
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=InstallFinalizeNOT 
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


Re: [WiX-users] Dealing with ICE48 warning

2011-10-03 Thread jhennessey
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-ICE48-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


Re: [WiX-users] Dealing with ICE48 warning

2011-09-29 Thread Mark Modrall
I re-read some of the posts I found on Google, and in them they say to move the 
custom action to before CostFinalize where I had before CostInitialize.

I made the change, and it worked.  Not clear why it seemed to work partially 
when done before CostInitialize, though.

Thanks
Mark


-Original Message-
From: Mark Modrall [mailto:mmodr...@mzinga.com] 
Sent: Wednesday, September 28, 2011 3:57 PM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] Dealing with ICE48 warning

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=InstallFinalizeNOT 
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

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


[WiX-users] Dealing with ICE48 warning

2011-09-28 Thread Mark Modrall
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=InstallFinalizeNOT 
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