Nested MSI : custom action
Dear friends,
I need help in writing custom actions to call nested msi.
I have to call 4 msi from my main msi, before install initialize.
I would like to know what would be the 'Processing' I need to set for these 4 custom action.
Will it be
Sychoronous,
synchoroun, ignore exit code
Async, no wait
Async, wait for exit code
I have tried different options and in all case I get the message as another installtion is in progress and it then fails..
please suggest.
Thanks
I need help in writing custom actions to call nested msi.
I have to call 4 msi from my main msi, before install initialize.
I would like to know what would be the 'Processing' I need to set for these 4 custom action.
Will it be
Sychoronous,
synchoroun, ignore exit code
Async, no wait
Async, wait for exit code
I have tried different options and in all case I get the message as another installtion is in progress and it then fails..
please suggest.
Thanks
0 Comments
[ + ] Show comments
Answers (11)
Please log in to answer
Posted by:
nheim
14 years ago
Hi Deepak,
your intent is just not possible like this!
You have the following possibilities for this:
Call it from the InstallUISequence table. Disadvantage: It's only available in attended mode.
Call it after InstallFinalize in the InstallExecuteSequence table.
Use Nesting. See: http://support.microsoft.com/?scid=kb%3Ben-us%3B306439&x=12&y=6
Use Windows Installer 4.5, see: http://msdn.microsoft.com/en-us/library/bb736322(VS.85).aspx
Regards, Nick
your intent is just not possible like this!
You have the following possibilities for this:
Call it from the InstallUISequence table. Disadvantage: It's only available in attended mode.
Call it after InstallFinalize in the InstallExecuteSequence table.
Use Nesting. See: http://support.microsoft.com/?scid=kb%3Ben-us%3B306439&x=12&y=6
Use Windows Installer 4.5, see: http://msdn.microsoft.com/en-us/library/bb736322(VS.85).aspx
Regards, Nick
Posted by:
raviray
14 years ago
Nick - I just wanted to check with you,in case Deepak wants to execute these MSI before "installinitialize" can't this achieved thru installing MSI as prerequisite method.
I am not sure about Installshiled but Wise Package Studio provides option to install any EXE/MSI before the .MSI installtion.But in this case final product will be EXE not a MSI.
Please suggest,
I am not sure about Installshiled but Wise Package Studio provides option to install any EXE/MSI before the .MSI installtion.But in this case final product will be EXE not a MSI.
Please suggest,
Posted by:
djain3
14 years ago
ORIGINAL: raviray
Nick - I just wanted to check with you,in case Deepak wants to execute these MSI before "installinitialize" can't this achieved thru installing MSI as prerequisite method.
I am not sure about Installshiled but Wise Package Studio provides option to install any EXE/MSI before the .MSI installtion.But in this case final product will be EXE not a MSI.
Please suggest,
Hi Ravi,
what you are saying is probably possible in UI mode but for silent installation this seem to be not possible :(
Posted by:
raviray
14 years ago
Posted by:
djain3
14 years ago
Posted by:
djain3
14 years ago
Posted by:
nheim
14 years ago
Posted by:
jmcfadyen
14 years ago
you are better off using the embeddedUI methods.
Nesting has inherent issues which mainly revolve around component registration processes.
EmbeddUI was designed as nesting is such as bad practice and people such as yourself have a requirement to install multiple applications as a suite.
check this out for more details, and dont nest it if you can help it.
http://blogs.msdn.com/windows_installer_team/archive/2008/04/01/windows-installer-4-5-ui-enhancements-embedded-ui.aspx
Nesting has inherent issues which mainly revolve around component registration processes.
EmbeddUI was designed as nesting is such as bad practice and people such as yourself have a requirement to install multiple applications as a suite.
check this out for more details, and dont nest it if you can help it.
http://blogs.msdn.com/windows_installer_team/archive/2008/04/01/windows-installer-4-5-ui-enhancements-embedded-ui.aspx
Posted by:
rvrajendra
13 years ago
Why cannot we schedule MSI before InstallInitiallize in InstallExecuteSequence table but the same MSI can be schedules in InstallUISequence???
Any concept behind the above
Any concept behind the above
Comments:
-
This is by design by Microsoft. My theory is that the specification for MSI was developed on a Friday afternoon after a morning of beer and pizza and that explains why there are so many such anomalies. As VBScab rightly points out - avoid nesting MSI installations as you thereafter cannot uninstall or patch the nested MSI's without doing it via the parent MSI. It is truly an absolute nightmare.
As to sequencing - check the "MSI.CHM" SDK help file - you can find it by googling. Since windows installer is single threaded, any nested MSI installation causes the parent installation to be put "on hold" so there cannot be any asynchronous operation.
Just chain the installs and avoid the many headaches you will otherwise have. - EdT 9 years ago
Posted by:
anonymous_9363
13 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.