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.
Multiple Instance Installs
Started by
vschober@gesytec.de
, Nov 29 2012 16:58
6 replies to this topic
Posted 29 November 2012 - 16:58
Hallo,
ich möchte einen Setup mehrfach in unterschiedliche Verzeichnisse installieren. Wenn ich es richtig verstehe, muss ich dazu den ProductCode anpassen.
Am liebsten würde ich es per InstallScript machen bzw. den neuen ProductCode zusammen mit INSTALLDIR auf der Kommandozeile angeben.
Im InstallScript habe ich eine Funktion MyOnBegin() als <First Action> eingetragen und rufe dort
ich möchte einen Setup mehrfach in unterschiedliche Verzeichnisse installieren. Wenn ich es richtig verstehe, muss ich dazu den ProductCode anpassen.
Am liebsten würde ich es per InstallScript machen bzw. den neuen ProductCode zusammen mit INSTALLDIR auf der Kommandozeile angeben.
Im InstallScript habe ich eine Funktion MyOnBegin() als <First Action> eingetragen und rufe dort
CODE |
MsiSetProperty(hMSI, "ProductCode", svValue); |
auf, doch der ProductCode scheint nicht benutzt zu werden.
Dann habe ich ein Transform-Projekt zu meinem MSI erstellt, wo ich nur den ProductCode geändert habe, aber es wird immer der originale ProductCode verwendet.
Dann habe ich ein Transform-Projekt zu meinem MSI erstellt, wo ich nur den ProductCode geändert habe, aber es wird immer der originale ProductCode verwendet.
QUOTE |
EasylonDriver64.msi TRANSFORM="Transform1.Mst" INSTALLDIR="C:\Easylon\Install\LonUsb" |
Und wenn ich zusätzlich MSINEWINSTANCE angebe,
QUOTE |
EasylonDriver64.msi TRANSFORM="Transform1.Mst" MSINEWINSTANCE=1 INSTALLDIR="C:\Easylon\Install\LonUsb" |
so gibt es vom Windows Installer nur eine Fehlermeldung "Invalid command line argument. ..."
Ich habe auch eine Anleitung gefunden: Multiple Instance MSI's and InstallShield 12, komme damit aber gar nicht klar.
Wie kann ich mit möglichst wenig Aufwand ein MSI mehrfach in verschiedenen Verzeichnissen installieren?
Ich habe auch eine Anleitung gefunden: Multiple Instance MSI's and InstallShield 12, komme damit aber gar nicht klar.
Wie kann ich mit möglichst wenig Aufwand ein MSI mehrfach in verschiedenen Verzeichnissen installieren?
Edited by vschober@gesytec.de, 04 December 2012 - 10:03.
Posted 01 December 2012 - 14:49
Die Kommandozeile sieht auch nicht gut aus: Du setzt zweimal das TRANSFORMS Property, auch das INSTALLDIR Property. Und das macht für mich überhaupt keinen Sinn:
INSTALLDIR="C:\Easylon\Install\LonUsb"=1
INSTALLDIR="C:\Easylon\Install\LonUsb"=1
Stefan Krüger
InstallSite.org twitter facebook
Posted 03 December 2012 - 10:00
Ich habe die Kommandozeile mit MSINEWINSTANCE oben korrigiert. Ich hatte sie nur falsch ins Forum kopiert.
Die Fehlermeldung "Invalid command line argument. ..." besteht mit der korrigierten Kommandozeile aber weiterhin.
Die Fehlermeldung "Invalid command line argument. ..." besteht mit der korrigierten Kommandozeile aber weiterhin.
Posted 03 December 2012 - 20:48
Dann ist offenbar immer noch ein Fehler in der Kommandozeile. Poste sie doch mal.
Stefan Krüger
InstallSite.org twitter facebook
Posted 04 December 2012 - 11:51
Hier noch mal die Kommandozeile
QUOTE |
EasylonDriver64.msi TRANSFORM=Transform1.Mst MSINEWINSTANCE=1 INSTALLDIR="C:\Easylon\Install\LonUsb" |
welche die Fehlermeldung "Invalid command line argument. ..." bringt.
Die nächste Frage wäre dann, wie mache ich daraus dann "Embedded Transforms", welche dann folgendermaßen aufgerufen werden müssten:
QUOTE |
EasylonDriver64.msi TRANSFORM=:Transform1.Mst MSINEWINSTANCE=1 INSTALLDIR="C:\Easylon\Install\LonUsb" |
Posted 04 December 2012 - 13:49
Es muss heißen TRANSFORMS, d.h. bei dir fehlt ein S. Ich gehe davon aus, dass deine Kommandozeile mit msiexec.exe /i beginnt und du ggf. den vollen Pfad zur msi-Datei angibst, falls erforderlich in Anführungszeichen, als etwa so:
CODE |
msiexec.exe /i "C:\der Pfad\EasylonDriver64.msi" TRANSFORMS=Transform1.Mst MSINEWINSTANCE=1 INSTALLDIR="C:\Easylon\Install\LonUsb" |
Stefan Krüger
InstallSite.org twitter facebook
Posted 07 December 2012 - 15:26
Danke, das "S" bei TRANSFORMS hatte ich übersehen.
Inzwischen habe ich auch herausgefunden, wie ich mit InstallShield einfach Multiple Instances anlegen kann:
Einfach unter Releases den Tab "Multiple Instances" suchen und dort für jede Instance einen neuen "ProductCode" anlegen.
Installiert wird das MSI dann mit
Inzwischen habe ich auch herausgefunden, wie ich mit InstallShield einfach Multiple Instances anlegen kann:
Einfach unter Releases den Tab "Multiple Instances" suchen und dort für jede Instance einen neuen "ProductCode" anlegen.
Installiert wird das MSI dann mit
QUOTE |
MsiExec.exe /quiet /I EasylonDriver64.msi TRANSFORMS=:InstanceId2.mst MSINEWINSTANCE=1 INSTALLDIR="c:\Easylon\Install\LvxLvu\" |
wobei ich hier zusätzlich das INSTALLDIR übergebe.
Deinstallieren lässt sich das MSI mit
QUOTE |
MsiExec.exe /quiet /X EasylonDriver64.msi TRANSFORMS=:InstanceId2.mst |