This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Passing Properties in a chained install package
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 02, 2011
09:05 AM
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,
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,
(2) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 02, 2011
12:51 PM
Okay I figured out that all properties passed by the chained Parent should have quotes "[PROPERTYNAME]" around the name for this to work correctly.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 04, 2011
02:42 PM
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).
![](/skins/images/3B39CE851FDD5528C393F146EB70A2D0/responsive_peak/images/icon_anonymous_message.png)