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

Child .msi installation sequence/placement issue..


7 replies to this topic

Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 20 December 2006 - 18:04

ohmy.gif

I have a situation where we may have a third party .msi that needs to be fired as a child from our main install. The user would like the child .msi placed locally during the install in case they would need it for some sort of repair or reinstall.

That would be OK as I could simply fire the .msi from the target machine via custom action after it's installed. However, we need the child .msi to actually place its files before our main install because we move modify then replace some during our installation.

Can I fire the .msi from the Binary table during or at the tail end of the user interface (possibly as a control event), but also include the .msi as a component to be placed on the target machine?

Firing a child early on in the install has not caused me problems before, but I also need that .msi installed as well.

I don't know if there is a better way around my problem or not.

Any help is greatly appreciated!!

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 21 December 2006 - 10:42

You can launch the child install from the UI sequence, but it will be skipped in silent or basic UI mode.
The msi file you extract from the Binary table will be registered as the source for the child install. If you later put a copy of the child.msi elsewhere it will not be recognized for auto-repair. You'd better extract the child.msi from binary table to its final destination instead of a temp folder. This also saves you from adding it to a component which would increase the size of your package.

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 21 December 2006 - 10:43

The recommended method however would be a launcher exe that would run the two msis in sequence.

Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 22 December 2006 - 04:34

Ah, got it. Thanks, as always!


Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 22 December 2006 - 04:38

How would I go about extracting the .msi from the Binary Table to its intended destination instead of a temp directory? I don't see any place to direct the msi from within the Binary Table.

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 22 December 2006 - 05:01

Could you add the msi to the SUPPORTDIR and then copy it from there to its intended cache location?
Regards
-Stein Åsmul

Superfreak3

Superfreak3
  • Full Members
  • 437 posts

Posted 22 December 2006 - 14:30

Does SUPPORTDIR hold the files added under Support Files?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 23 December 2006 - 11:07

QUOTE
Does SUPPORTDIR hold the files added under Support Files?

Yes.
InstallShield extracting the files from the Binary table is just a convenience. You could do the same by writing the custom action yourself. See sample code "Streaming a File From the Binary Table" at http://www.installsi...s/en/msi/ca.htm