Wie zu verwenden CustomAction im WIX-Bundle?
Geben Sie einen hintergrund - ich habe einen 4 MSI ' s, die kommt von unseren Lieferanten, und dies hat zu gehen, um unsere Unternehmens-Servern (wir sind auf der Suche bei rund 3500-Server). Wie jetzt, meine Kollegen in der Verwaltung mit vbs, ps1-Skripte. Aber das problem mit dem script ist, dass jedes mal wenn ein update kommt müssen wir uns sorgen machen deinstallation des vorhandenen Paket vor dem ausführen des neuen und eine Tonne von hardcoding.
Ich soll den gesamten Prozess zu automatisieren (mit sehr weniger hardcoding) durch die Einrichtung einer WIX-Skript-Paket alle 4 MSI ' s zusammen. Ich lese über die WIX-bundle und verwendet, um zu erstellen Sie eine einzelne MSI-Datei. Aber jetzt gibt es viele Variablen übergeben werden die 4 MSI ' s, so dass ich dachte, der Verwendung von benutzerdefinierten Aktionen, um diese Variablen auf der Grundlage der Umwelt/Maschine, wo die MSI-Datei ausführen. Aber ich kann nicht stellen Sie benutzerdefinierte Aktion zu arbeiten? Bin ich etwas fehlt?
Ein bisschen googeln und ich sah etwas wie es gibt keine CustomActions im Bundle? kann das jemand bestätigen?
Auch wenn es kein CA ist, was sind meine Optionen? wie kann ich manipulieren, die Variablen, die übergeben werden, um die 4 MSI ' s? Die meisten von Ihnen eingestellt werden muss, basierend auf der seine Maschine ausgeführt wird (wie installieren, Pfad, user-id, app-pool-id ' s etc).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie ich es sehe, haben Sie drei Möglichkeiten:
Abhängig, welche Informationen Sie benötigen, können Sie die WixUtilExtension, um einfache Aufgaben wie das Lesen von registry-Schlüsseln und ausführen der Datei sucht, die Sie dann übergeben Sie die Ergebnisse zu Ihrer installation von Paketen als Eigenschaften.
Implementieren von benutzerdefinierten Aktionen in den einzelnen Installationspakete selbst (nicht im bundle).
Schreiben Sie Ihre eigenen benutzerdefinierten bootstrapper-Anwendung, um zu bestimmen, alle die Eigenschaften, die Sie festlegen müssen, und dann passieren Sie zu Ihrer installation von Paketen. Dies ist komplexer, als es die #1 und #2, aber wenn Ihr Interesse die folgenden links sollen Ihnen den Einstieg:
die Einführung von managed bootstrapper-Anwendungen und
schreiben Sie eine wpf-wix-installer
Gibt es eine vierte option, eine sinnvolle leichten hack, gekennzeichnet durch Vijay Kotecha (siehe http://vijayskotecha.blogspot.com/2013/07/wix-bootstrapper-custom-action.html),...
Im wesentlichen erstellen Sie eine
<ExePackage>
um eine pass-through .bat-oder .cmd-batch-Datei. Der batch-Befehl-Datei enthält eine einzige Zeile '%*
', die re-führt alle command line arguments als erste-Klasse-Befehl.Also:
Wo
WixCustomAction.cmd
ist eine Datei, die nur '%*
'.Diese
<ExePackages>
platziert werden können in die<Bundle><Chain>
sukzessive nach Bedarf mit verschiedenenInstallCommand
s als erforderlich.