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.
Child .msi installation sequence/placement issue..
Started by
Superfreak3
, Dec 20 2006 18:04
7 replies to this topic
Posted 20 December 2006 - 18:04
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!!
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.
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 Krüger
InstallSite.org twitter facebook
Posted 21 December 2006 - 10:43
The recommended method however would be a launcher exe that would run the two msis in sequence.
Stefan Krüger
InstallSite.org twitter facebook
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.
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
-Stein Åsmul
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
Stefan Krüger
InstallSite.org twitter facebook