cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Tim_Mayert
Level 9

Passing Properties in a chained install package

I am creating a very big chained install package that has the parent as only the UI that gathers all the properties and settings and then these are passed along to the chained msi packages. From the help description they only have passing the install dir as follows: INSTALLDIR="[INSTALLDIR]"

Now this works but I am passing other properties as well and some may or may not have data and some are strings while others are interger values. So for example here is one that I am calling a chained msi with:
INSTALLDIR="[INSTALLDIR]" SCHOOLFILE="[SCHOOLFILE]" PROD_KEY=[PROD_KEY]

The SCHOOLFILE and PROD_KEY are there mainly to support admin push and therefore may not contain any values. So for my test I only have a vaule for INSTALLDIR, but the other 2 properties are not set. So if INSTALLDIR was C:\Temp\App, then I would assume that in the log it would show that the install is passing the following command line:
INSTALLDIR="C:\Temp\App" SCHOOLFILE="" PROD_KEY=
But what I got was:
INSTALLDIR="C:\Temp\App" SCHOOLFILE="" PROD_KEY=ISCHAINER=1

So it seems to place the next property right up next property if it does not have a value. So is this because I did not have Quotes around "[PROD_KEY]"?

If so then what would happen to the cases where the value of the property is suppose to be an interger, would it work if the property came back as PROD_KEY="1" instead of and PROD_KEY=1, therefore the entry is now a string instead of a interger?

Has anyone passed many properties by chaining that are mixed String and interger and had some with value and others not?

Thanks,
Labels (1)
0 Kudos
(2) Replies
Tim_Mayert
Level 9

Okay I figured out that all properties passed by the chained Parent should have quotes "[PROPERTYNAME]" around the name for this to work correctly.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

That's correct. To clarify a bit, all properties are stored as strings strings. (All that ever changes is that sometimes they are compared as the integer they represent.) So SOMEPROD=1 and SOMEPROD="1" result in identical values for SOMEPROD when passed on the command line, and SOMEPROD= ANOTHER=1 gets parsed surprisingly by Windows Installer (that intervening space is ignored).
0 Kudos