/build/static/layout/Breadcrumb_cap_w.png

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

0 Comments   [ + ] Show comments

Answers (11)

Posted by: djain3 14 years ago
Second Degree Blue Belt
0
No one has replied yet :(

[:(]
Posted by: nheim 14 years ago
10th Degree Black Belt
0
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
Posted by: raviray 14 years ago
Orange Belt
0
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,
Posted by: djain3 14 years ago
Second Degree Blue Belt
0
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
Orange Belt
0
I havn't used it but I think it's possible.
This EXE (Build) can be installed silently with /S switch, as this is created thru Wise Script Editor.

Thanks
Posted by: djain3 14 years ago
Second Degree Blue Belt
0
ORIGINAL: raviray

I havn't used it but I think it's possible.
This EXE (Build) can be installed silently with /S switch, as this is created thru Wise Script Editor.

Thanks


Hi Ravi,

Yes, exe can be installed, but in this case it is .msi and two .msi cannot run simultaneously..
Posted by: djain3 14 years ago
Second Degree Blue Belt
0


Call it after InstallFinalize in the InstallExecuteSequence table.



Hi Nick,

How can we do it after installfinalize in installexecutesequence table, I know we can call one msi, but what do we have to do if we have to call multiple msi files...what will be the processing?
Posted by: nheim 14 years ago
10th Degree Black Belt
0
Hi Ravi,
you are on the wrong track here:
For an exe based install, the two or more MSI's are simply chained together in the exe, not in a "main" MSI.
Regards, Nick
Posted by: jmcfadyen 14 years ago
5th Degree Black Belt
0
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
Posted by: rvrajendra 13 years ago
Orange Belt
0
Why cannot we schedule MSI before InstallInitiallize in InstallExecuteSequence table but the same MSI can be schedules in InstallUISequence???
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
Red Belt
0
Nested MSIs...

Uninstalling...nightmare.

Patching...nightmare

Just....don't. OK?
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ