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
- :
- Installing an Installscript MSI without using setup.exe
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
Feb 17, 2011
03:36 AM
Installing an Installscript MSI without using setup.exe
Hi
I do have an InstallScript MSI project. InstallShield generates me a setup.exe with an embedded msi which is copied during installation to %TEMP%.
Now, I do have requirement from the customer wanting to repackage this installer and I am not quite sure what needs to be done.
I do guess that the first thing to do is make the local created properties within the InstallScript Setup.rul public.
ie, for lines such as
MsiSetProperty("SMSI_HANDLE, "MYPROPERTY_1", svResult);
I do need to add "MYPROPERTY_1" to the Property table in the direct editor in order to be able to pass the value of the property over the command line. Is this correct?
The other thing is, I am not able to launch the msi directly. When starting through msiexec, I do get "This installation cannot be run by directly launching the MSI package. You must run setup.exe". While searching this site, I found the following information: http://kb.flexerasoftware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=Q108166&sliceId=
But somehow, I am unable to find the OnCheckSilentInstall custom action in the direct editor.
Are there other ways to convert the embedded MSI into an msi which can be launched directly with msiexec?
Thanks for any help, I am really a bit lost at the moment...
I do have an InstallScript MSI project. InstallShield generates me a setup.exe with an embedded msi which is copied during installation to %TEMP%.
Now, I do have requirement from the customer wanting to repackage this installer and I am not quite sure what needs to be done.
I do guess that the first thing to do is make the local created properties within the InstallScript Setup.rul public.
ie, for lines such as
MsiSetProperty("SMSI_HANDLE, "MYPROPERTY_1", svResult);
I do need to add "MYPROPERTY_1" to the Property table in the direct editor in order to be able to pass the value of the property over the command line. Is this correct?
The other thing is, I am not able to launch the msi directly. When starting through msiexec, I do get "This installation cannot be run by directly launching the MSI package. You must run setup.exe". While searching this site, I found the following information: http://kb.flexerasoftware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=Q108166&sliceId=
But somehow, I am unable to find the OnCheckSilentInstall custom action in the direct editor.
Are there other ways to convert the embedded MSI into an msi which can be launched directly with msiexec?
Thanks for any help, I am really a bit lost at the moment...
(1) Reply
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Feb 17, 2011
04:24 AM
Hi
For an application packager a standalone MSI is always a nice to have 😄 , but any application packager should be able to cope with your setup.exe even if you left it as it is.
However, what will definatley help is (as you mention) to include any required properties directly in your MSI property table.
Also, to launch directly from an Installscript MSI, you will also need a property of ISSCRIPTDRIVEN=1
For an application packager a standalone MSI is always a nice to have 😄 , but any application packager should be able to cope with your setup.exe even if you left it as it is.
However, what will definatley help is (as you mention) to include any required properties directly in your MSI property table.
Also, to launch directly from an Installscript MSI, you will also need a property of ISSCRIPTDRIVEN=1