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

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
No one has replied yet :(

[:(]
Answered 05/29/2009 by: djain3
Second Degree Blue Belt

Please log in to comment
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
Answered 05/29/2009 by: nheim
Tenth Degree Black Belt

Please log in to comment
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,
Answered 06/02/2009 by: raviray
Orange Belt

Please log in to comment
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 :(
Answered 06/02/2009 by: djain3
Second Degree Blue Belt

Please log in to comment
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
Answered 06/02/2009 by: raviray
Orange Belt

Please log in to comment
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..
Answered 06/02/2009 by: djain3
Second Degree Blue Belt

Please log in to comment
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?
Answered 06/02/2009 by: djain3
Second Degree Blue Belt

Please log in to comment
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
Answered 06/02/2009 by: nheim
Tenth Degree Black Belt

Please log in to comment
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
Answered 06/03/2009 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
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
Answered 12/27/2010 by: rvrajendra
Orange Belt

  • 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.
Please log in to comment
0
Nested MSIs...

Uninstalling...nightmare.

Patching...nightmare

Just....don't. OK?
Answered 12/27/2010 by: VBScab
Red Belt

Please log in to comment
Answer this question or Comment on this question for clarity