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
- :
- Basic MSI - Change ProductName in runtime
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 03, 2013
09:52 AM
Basic MSI - Change ProductName in runtime
Hi there,
I'm developing a Basic MSI installation.
I need to change the ProductName after the user introduces the "installation name". That new ProductName should appear in Add/Remove Programs and on the dialogs during the installation.
I've made a InstallScript that calls MsiSetProperty and I can see on the logs:
Action start 15:29:46: NewCustomAction2.
(...)
MSI (c) (E0!AC) [15:29:49:095]: PROPERTY CHANGE: Modifying ProductName property. Its current value is 'MyProduct'. Its new value: 'aaaa'.
Action ended 15:29:49: NewCustomAction2. Return value 1.
Which seems fine, to me.
However, on the end of the log, I still have:
Property(S): ProductName = MyProduct
I think that difference is on (c) and (s). As far as I could investigate the 'c' stands for client process and 's' for server process.
So, any hint on how to accomplish this?
Thanks
I'm developing a Basic MSI installation.
I need to change the ProductName after the user introduces the "installation name". That new ProductName should appear in Add/Remove Programs and on the dialogs during the installation.
I've made a InstallScript that calls MsiSetProperty and I can see on the logs:
Action start 15:29:46: NewCustomAction2.
(...)
MSI (c) (E0!AC) [15:29:49:095]: PROPERTY CHANGE: Modifying ProductName property. Its current value is 'MyProduct'. Its new value: 'aaaa'.
Action ended 15:29:49: NewCustomAction2. Return value 1.
Which seems fine, to me.
However, on the end of the log, I still have:
Property(S): ProductName = MyProduct
I think that difference is on (c) and (s). As far as I could investigate the 'c' stands for client process and 's' for server process.
So, any hint on how to accomplish this?
Thanks
(4) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 03, 2013
01:32 PM
It is a private property. So you need to sequence the custom action in both InstallUISequence and InstallExecuteSequence tables.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 04, 2013
02:35 AM
hidenori wrote:
It is a private property. So you need to sequence the custom action in both InstallUISequence and InstallExecuteSequence tables.
Thanks for replying.
That means that I can't run the custom action when the user clicks the "Next" button on a dialog that I've inserted between InstallWelcome and LicenseAgreement?
Thanks
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 04, 2013
03:20 AM
you can still run the custom action when user clicks on "Next" button on a dialog....
its just that you need to have this executed in Install Execute sequence to retain the changed product name...
its just that you need to have this executed in Install Execute sequence to retain the changed product name...
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 04, 2013
04:07 AM
rrinblue22 wrote:
you can still run the custom action when user clicks on "Next" button on a dialog....
its just that you need to have this executed in Install Execute sequence to retain the changed product name...
Great! That did the trick!
Thanks a lot.
... Moving to the next step!