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
- :
- Re: passing a custom parameter to msi?
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
‎Nov 09, 2009
09:12 AM
passing a custom parameter to msi?
Hi
I am new to InstallShield and would like to know if the following is possible?
Is it possible to create a custom parameter that could be passed in from the command line at install time (basic msi) to perform either custom action A or custom action B, where A is write value to registry ad B is write different value to registry?
Many thanks
I am new to InstallShield and would like to know if the following is possible?
Is it possible to create a custom parameter that could be passed in from the command line at install time (basic msi) to perform either custom action A or custom action B, where A is write value to registry ad B is write different value to registry?
Many thanks
(10) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Nov 09, 2009
05:31 PM
It is very possible to do what you describe. It is possible to set public properties (properties whose name is in all capital letters) on the command line to msiexec.exe (if directly running from MSI) or setup.exe.
For example:
msiexec /i MYPROP1="my value" MYPROP2=test
OR
setup.exe /v"MYPROP1=\"my value\" MYPROP2=test"
Now all you need to do is condition your custom actions based on public properties, and you are all set.
For example:
msiexec /i
OR
setup.exe /v"MYPROP1=\"my value\" MYPROP2=test"
Now all you need to do is condition your custom actions based on public properties, and you are all set.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Nov 09, 2009
05:32 PM
It is possible. From command line, you can specify property/value pair, and check value of the property in custom action condition.
However, you will need custom actions for uninstall and rollback (both install and uninstall). Would it be possible to take advantage of conditional component instead?
However, you will need custom actions for uninstall and rollback (both install and uninstall). Would it be possible to take advantage of conditional component instead?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Nov 09, 2009
11:57 PM
There is a tool to edit msi package in microsoft utilities called "ORCA".
Through which you can pass the parameters and you can acheive any thing through that tool.
you can search in google for that tool.
thanks
madhu
Through which you can pass the parameters and you can acheive any thing through that tool.
you can search in google for that tool.
thanks
madhu
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Nov 10, 2009
01:05 AM
I am a little confused. Can you explain how you can pass parameters to setup.exe or .msi file through orca.exe?
sandeep.madhu14 wrote:
Through which you can pass the parameters and you can acheive any thing through that tool.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Nov 10, 2009
09:54 AM
Hi All
Many thanks for your responses, much appreciated!
Many thanks for your responses, much appreciated!
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Nov 11, 2009
02:50 AM
Check following information i think it may help you.....
Properties
All public properties can be set or modified from the command line. Public properties are distinguished from private properties by the fact that they are in all capital letters. For example, COMPANYNAME is a public property.
To set a property from the command line, use the following syntax: PROPERTY=VALUE. If you wanted to change the value of COMPANYNAME, you would enter:
msiexec /i "C:\InstallShield 2009 Projects\Othello\Trial Version\Release\DiskImages\Disk1\Othello.msi" COMPANYNAME="Acresso"
Properties
All public properties can be set or modified from the command line. Public properties are distinguished from private properties by the fact that they are in all capital letters. For example, COMPANYNAME is a public property.
To set a property from the command line, use the following syntax: PROPERTY=VALUE. If you wanted to change the value of COMPANYNAME, you would enter:
msiexec /i "C:\InstallShield 2009 Projects\Othello\Trial Version\Release\DiskImages\Disk1\Othello.msi" COMPANYNAME="Acresso"
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 23, 2011
10:42 AM
sandeep.madhu14 wrote:
Properties
All public properties can be set or modified from the command line. Public properties are distinguished from private properties by the fact that they are in all capital letters. For example, COMPANYNAME is a public property.
I have a public property called WILLREMOVEROLLBACKS in my basic installshield projet. I also have a check box called REMOVEROLLBACKBOX. The checkbox is selected by default and the property of that check box is WILLREMOVEROLLBACKS. If WILLREOMVEROLLBACKS is true, then the rollbacks folder is deleted by VBScript during the uninstall of my product. During a silent install, how do I set WILLREMOVEROLLBACKS to false, in case the user does not want to remove the rollback data? I pass the parameter, but it seems that my command is being ignored. Any ideas?
This is the command line I am using:
msiexec /x JVDI.msi /qn WILLREMOVEROLLBACKS=False
I also tried:
msiexec /x JVDI.msi /qn WILLREMOVEROLLBACKS=0
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 23, 2011
06:34 PM
To know for sure what happens during installation/uninstallation, you can generate a verbose log.
danwize wrote:According to CheckBox Control, "unselected state sets the property to null."
but it seems that my command is being ignored. Any ideas?
danwize wrote:
This is the command line I am using:
msiexec /x JVDI.msi /qn WILLREMOVEROLLBACKS=False
I also tried:
msiexec /x JVDI.msi /qn WILLREMOVEROLLBACKS=0
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 24, 2011
06:02 PM
So I'll have to do something like:
msiexec /x JVDI.msi /qn WILLREMOVEROLLBACKS=null
I tried this, but it still didn't work. How do I pass a null value?
msiexec /x JVDI.msi /qn WILLREMOVEROLLBACKS=null
I tried this, but it still didn't work. How do I pass a null value?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎May 24, 2011
06:07 PM
danwize wrote:
So I'll have to do something like:
msiexec /x JVDI.msi /qn WILLREMOVEROLLBACKS=null
I tried this, but it still didn't work. How do I pass a null value?
Oh, NM. Just do this:
msiexec /x JVDI.msi /qn WILLREMOVEROLLBACKS=""
![](/skins/images/D60DF682EA37BF37032955CE10F3F0BB/responsive_peak/images/icon_anonymous_message.png)