Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Problem launching install in silent mode


5 replies to this topic

Cronos

Cronos
  • Members
  • 4 posts

Posted 24 December 2003 - 11:57

I am trying to launch a second Basic MSI install from my main install in Quiet mode.

The main install copies the complete disc image for the second install into a sub-folder of '[INSTALLDIR]'.

It then lauches the setup.exe from a custom action. This works fine if I specify no command line parameters. However if I try and put the quiet mode command line parameters in it doesn't work, although no error is returned, the second install doesn't run, though I seem to get an additional msiexe process running which never quits.

After the main install completes I can the setup exe for the second install in quiet mode and it works fine.

I have tried variations on the command line (/s /v"/qn", /s /v/qn, /s /v"REINSTALL=ALL/qn") all either don't work or don't launch the second install in quiet mode.
Additional I have tried adding a custom action which calls into a C++ dll. In this dll I sue WinExec to launch the setup.exe. Again this works if I don't try quiet mode, but not if I try and specify quiet mode.
Note the main install is NOT running in quiet mode.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 27 December 2003 - 11:56

Generate a log file of the child install to see why it fails.

Zweitze

Zweitze
  • Full Members
  • 522 posts

Posted 29 December 2003 - 09:55

If the child install is a Windows Installer package, do not use a CA that starts a process. Instead, use a CA type 23. This installation is run silently. Schedule the CA after InstallFinalize.

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 30 December 2003 - 10:09

I have read somewhere that MSI does not allow two Execute sequences to run in parallell, hence Zweitze's suggestion to insert the action after InstallFinalize. However, I have heard that it is better to put the Custom Action at the end of the user interface sequence instead of after InstallFinalize in the execute sequence.
Regards
-Stein Åsmul

Cronos

Cronos
  • Members
  • 4 posts

Posted 05 January 2004 - 14:08

I think Glytzhkof is is at least partly correct.
I also asked InstallShiled support this question and they replied saying they couldn't reproduce the problem, but they were launching the second install with a CA after Execute Action in the UI Sequence.
Now If I do my install like this this then it works as well which basically solves my problem.

Perhaps the problem is MSI does not like having one Execute sequence running in quiet mode when another Execute sequence is also running NOT in quiet mode?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 05 January 2004 - 14:22

From MSI Help topic "Concurrent Installations":
QUOTE
Two installations cannot be run in the same process. An attempt to call the installer's application programming interface (API) returns ERROR_INSTALL_ALREADY_RUNNING in two cases:

  • While the _MSIExecute mutex is set. The _MSIExecute mutex is set only while processing the InstallExecuteSequence table, the AdminExecuteSequence table, or the AdvtExecuteSequence table.
  • While the current process is processing the InstallUISequence table or AdminUISequence table.


This means that no two MSI setups can run their execute sequences simultaneously, unless one is called as nest install custom action from the other.