cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
RickRogers
Level 5

Trying to pass property value to chained msi...

Using IS 2009 Premier.

I am chaining an MSI that has 3 public properties: PROP_A, PROP_B, PROP_C

I placed the following in the Installed Properties box when defining the chain:

PROP_A="FOO" PROP_B="BAR" PROP_C="TEST"

Is this the correct syntax for passing values to the chained package?

Needless to say I am doing something wrong to cause this not to work.

Thanks in advance,

Rick
Labels (1)
0 Kudos
5 Replies
RickRogers
Level 5

The MSI I chained included a custom action that retrieved the contents from the edit controls and applied them to the property values.

The author of the MSI had hard coded the default property values for the controls. The edit controls in the dialogs were conveniently pre-populated with these values and when the user entered their own values, the custom action applied them correctly as expected.

However, when this MSI was chained, the custom action used the hard coded default values, not the property values I passed in.

The fix was to change the property value setting from "hard code literal" to [EDIT_CONTROL_PROPERTY_NAME]
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

I'm glad you got it working, and I wanted to confirm your property passing notation was indeed correct.
0 Kudos
Tim_Mayert
Level 9

I am also running into the issue of passing properties to the childern chained msi projects.

from the help desription 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 so I have the following:
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 is this because I did not have Quotes around "[PROD_KEY]", because 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 "1" and 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,
0 Kudos
skutnar
Level 4

It's my understanding that MSI properties are always strings, regardless of how you may use them.
0 Kudos
ryaneriggs
Level 2

I know this is an ancient thread, and I am using Installshield 2013, but this solved my problem. I went ahead and used the information here to pass the values of INSTALLDIR to a chained MSI to create the shorcuts I was trying to create. Worked great! 🙂

Ryan
0 Kudos