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

Multi instance & change ProductName property

I'm trying to put together a BasicMSI installation which allows multiple instances to be installed that have their ProductName property reflecting the value of a property determined during the installation process, and I'm hitting difficulties.

Basically, the user selects a value for the instance name during the UI sequence, and I have a type-51 CA that executes as part of a "DoAction" event on a dialog to modify the ProductName property. This successfuly changes the value of the ProductName during the rest of the install (i.e. the name of product in the installation dialogs titlebar changes to the value selected), but after installation the value in "Programs & Features" is still the original ProductName property.

Does anyone have any idea what I'm missing ?
Labels (1)
0 Kudos
(6) Replies
hidenori
Level 17

"ProductName" is a private Windows Installer property. I think that you need to execute your type 51 custom action in the InstallExecuteSequence table as well.
0 Kudos
Christopher_Pai
Level 16

Why do you need to do this in the UI sequence? InstallShield already has the ability to generate the multiple instance transforms and one of the properties that can be transformed is the ProductName property.

http://blog.deploymentengineering.com/2008/03/installshield-2009-beta-part-i.html

Is it that you don't like predetermined instance names?
0 Kudos
richardh
Level 5

Sorry for the delay - I've been away from my desk for a few days...

Hidenori - that was it 🙂 I've added it to the Exec sequence "After Install Validate" and it does the trick. Thanks for the tip.

Chris - I need it in the UI sequence so that the dialogs displayed to the user reference the new ProductName during the UI sequence. It's a GUI touch that has been asked for. During the install the user is asked to select a System name from a drop down, and this system name then makes up part of the name of the installed product. It makes it easier for the end user to select the correct instance to upgrade or uninstall from "Programs and Features"

Thnaks for yoru help and suggestions guys 😄
0 Kudos
cmarchan
Level 2

Hi Richardh
I have a question:
¿How you can get that user be able to select which is the instance that he wants to install?
0 Kudos
richardh
Level 5

Hmm - I'm sorry, I dont quite undertand what you mean...

Do you mean if I have pre-created a selection of instances within my install (i.e. Instance1, Instance2, etc.) how do I enable the end user to install "Instance2" before "Instance1" ?

If so, I don't (and I don't think you can). What I do is have a base install with 5 instances setup wthin the "Releases" node. Each one has a new value for the property of "ProductCode" associated with it, and that's it. During the UI section of the install, a value for the property "SYSTEMNAME" is entered by the user, and I have a type 51 CA (that is triggered by a "DoAction" event in a dialog, and also in the exec sequence "After InstallValidate") which appends "-[SYSTEMNAME]" after "[ProductName]".

Thsi way, the ProductName of the installed instance is identifiable to the user as including a value chosen during the install.

Does this help ?
0 Kudos
cmarchan
Level 2

Hi Richard.

I'm working with multiple instances and I'd configured and isolated each one of their components.
When run my installer it install the Instance0 and when I rerun the installer ask me the question if I want to install a new instance or maintenance an existing instance so I choose install new instance and automaticaly the installer starts with the next instance (InstanceId=1) but never asked wich instance wanted install after install base instance. This is my case

Thanks by your answer, I'll try to modify my installer to apply this comments.

And thank you by your help!
0 Kudos