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
- :
- Custom Action to set a property
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
‎Jan 06, 2011
09:16 AM
Custom Action to set a property
Hi I'm having problems while creating a custom action in installShield, hope you can help me!
I have one msi lets call it (MainInstall.msi), in wich I add one merge module (AddModule), this merge module contains many components but just one of those components has to be installed.
For that I have one condition
Example: if the value of the property "PrCode" is equal to "Brenda" the component "A" will be installed.
My problem is that I need to set the value of the property "PrCode",in the main program( MainInstall.msi) and the one that use that value is the merge module (AddModule).
My question is, is there any way to set the value of the PrCode property from the mainInstall, if where I use it is in the Merge module?
I tried to do with custom actions but... nothing!!
Please can you help me?
I have one msi lets call it (MainInstall.msi), in wich I add one merge module (AddModule), this merge module contains many components but just one of those components has to be installed.
For that I have one condition
Example: if the value of the property "PrCode" is equal to "Brenda" the component "A" will be installed.
My problem is that I need to set the value of the property "PrCode",in the main program( MainInstall.msi) and the one that use that value is the merge module (AddModule).
My question is, is there any way to set the value of the PrCode property from the mainInstall, if where I use it is in the Merge module?
I tried to do with custom actions but... nothing!!
Please can you help me?
(2) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 07, 2011
09:10 AM
IS automatically adds the merge module's GUID to any property created in the merge module, to prevent properties in the main install being overwritten by accident. You should be able to set the merge module property specifically by setting, for example, "PrCode.GUID" in your main install.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 12, 2011
03:27 AM
KathyMorey wrote:
IS automatically adds the merge module's GUID to any property created in the merge module, to prevent properties in the main install being overwritten by accident. You should be able to set the merge module property specifically by setting, for example, "PrCode.GUID" in your main install.
Thank you Kathy,
You gave me some clues with your answer!
Finally I arrived to do it as follows:
In the merge module, I created direclty in the Property Table, one property named "PRCODE" Attention: (all uppercase) like that you create a global property that can be use with more liberty.
When I created the property, an ID_STRING was generated so, instead of modify the property's value you modify the ID_STRING.
After in my main program (msi) I create another property in the same way. This time I named it: PRCODE2.
To give to PRCODE the value that contains PRCODE2, I created a "Set Property" custom action with this syntax:
Property Name: PRCODE (property declared in the merge module)
Property Value: [PRCODE2] (Property declared in the msi)
And that's it
Hope it helps to someone else.
Br3nda