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

Install a nested MSI package

I want to install another MSI package in an installation, but do NOT uninstall that package when current package is uninstalled. How to ?

The Custom Action "Nested MSI" seems uninstalling the nested MSI.

And I have tried use MsiInstallProduct(szPath ^ "foo.msi", ""); and got error 1603. Is it because MSI only allow one instance? How does the CA "Nested MSI" do when installing the nested MSI?

Thanks in advance.
Labels (1)
0 Kudos
(4) Replies
DebbieL
Level 17

Nested .msi custom actions are not recommended. Applications installed with nested installations sometimes fail because they are difficult for end users to service correctly.

The 1603 error that you encountered probably occurred because Windows Installer can run only one Execute sequence at a time.

You'll probably want to consider creating an InstallShield prerequisite that launches your .msi installation if it needs to be run on a target system. The prerequisites are not uninstalled if your main product is installed. You can use the Prerequisite Editor in InstallShield to create the prerequisite, and the Redistributables view to add the prerequisite to your project. Here are a few help topics with more information.
0 Kudos
Streamlet
Level 5

DebbieL wrote:
Nested .msi custom actions are not recommended. Applications installed with nested installations sometimes fail because they are difficult for end users to service correctly.

The 1603 error that you encountered probably occurred because Windows Installer can run only one Execute sequence at a time.

You'll probably want to consider creating an InstallShield prerequisite that launches your .msi installation if it needs to be run on a target system. The prerequisites are not uninstalled if your main product is installed. You can use the Prerequisite Editor in InstallShield to create the prerequisite, and the Redistributables view to add the prerequisite to your project. Here are a few help topics with more information.


Thanks for giving solution. It works well generally.

Can the prerequisite files be packed into the EXE when release single EXE file?
0 Kudos
DebbieL
Level 17

Yes, you can do that. In the Releases view, select the release that you are building. On the Setup.exe tab, in the InstallShield Prerequisites Location setting, select Extract From Setup.exe. The help that is displayed in the bottom right pane when you click this setting has more information.
0 Kudos
Streamlet
Level 5

DebbieL wrote:
Yes, you can do that. In the Releases view, select the release that you are building. On the Setup.exe tab, in the InstallShield Prerequisites Location setting, select Extract From Setup.exe. The help that is displayed in the bottom right pane when you click this setting has more information.


Thanks a lot! It satisfies my needs exactly.
0 Kudos