Ich benutze ein Programm, das mit wix installiert wird. (Ich weiß nicht, ob es relevant ist, aber es ist ein C # -Programm)
Ich möchte eine EXE-Datei ausführen, die von der MSI-Datei installiert wurde, aber der Installationsort ist mir unbekannt, da der Benutzer den Installationspfad auswählt.
Ich wollte zum Beispiel fragen, wie man eine EXE-Datei von dem Ort aus ausführt, den der Benutzer wählt.
Auch wenn es nicht Teil der Frage ist, würde ich mich auch freuen, ein Beispiel zu sehen, wie man eine EXE-Datei von einem absoluten Ort aus startet, seit ich Anfänger bin und alles zum ersten Mal mache.
Dies kann mit Hilfe der WIX Extensions erreicht werden. Der Text bold / italic unten behandelt den Fall, in dem Sie den genauen Ort Ihrer EXE finden:)
Schritt 1: Fügen Sie Ihrem Projekt die Erweiterungsbibliotheken hinzu
Wenn Sie WiX in der Befehlszeile verwenden, müssen Sie Ihren Candle- und Light-Befehlszeilen Folgendes hinzufügen:
%Vor%Wenn Sie Visual Studio verwenden, können Sie die Erweiterungen über das Dialogfeld Verweis hinzufügen hinzufügen:
%Vor%Schritt 2: Fügen Sie Ihrem Installationsprogramm die Benutzeroberfläche hinzu
Die WiX Minimal UI-Sequenz enthält einen grundlegenden Satz von Dialogen, die einen fertigen Dialog mit einem optionalen Kontrollkästchen enthalten. Um die Sequenz in Ihr Projekt einzufügen, fügen Sie das folgende Snippet irgendwo innerhalb des Elements <Product>
hinzu.
Um das Kontrollkästchen auf dem letzten Bildschirm des Installers anzuzeigen, fügen Sie das folgende Snippet irgendwo innerhalb des Elements <Product>
ein:
Die WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT-Eigenschaft wird von der Standard-UI-Sequenz bereitgestellt. Wenn diese Option aktiviert ist, wird das Kontrollkästchen angezeigt und der angegebene Wert als Markierungsfeld verwendet.
Schritt 3: Fügen Sie die benutzerdefinierte Aktion
hinzu Benutzerdefinierte Aktionen sind in einem WiX-Projekt enthalten, das das Element verwendet. Das Ausführen einer Anwendung erfolgt mit der benutzerdefinierten Aktion WixShellExecTarget. Um Windows Installer über die benutzerdefinierte Aktion zu informieren und seine Eigenschaften festzulegen, fügen Sie Folgendes in Ihr Projekt an einer beliebigen Stelle innerhalb des <Product>
-Elements ein:
Das Property-Element setzt das WixShellExecTarget auf den Speicherort der installierten Anwendung. WixShellExecTarget ist die Eigenschaften-ID, die von der benutzerdefinierten Aktion "WixShellExec" erwartet wird und auf den Speicherort der auszuführenden Datei festgelegt wird. *
Die Value-Eigenschaft verwendet das spezielle Zeichen #, um WiX anzuweisen, nachzuschlagen der vollständig installierte Pfad der Datei mit der ID myapplication.exe.
Das Element CustomAction enthält die Aktion im Installationsprogramm. Es erhält eine eindeutige ID und die Eigenschaften BinaryKey und DllEntry geben den Assembly- und den Einstiegspunkt für die benutzerdefinierte Aktion an. Die Impersonate-Eigenschaft weist Windows Installer an, die benutzerdefinierte Aktion als installierender Benutzer auszuführen.
Schritt 4: Aktivieren Sie die benutzerdefinierte Aktion
Das einfache Einbeziehen der benutzerdefinierten Aktion wie in Schritt 3 reicht nicht aus, um zu bewirken, dass sie ausgeführt wird. Windows Installer muss auch informiert werden, wenn die benutzerdefinierte Aktion ausgelöst werden soll. Dazu wird das Element <Publish>
verwendet, um es den ausgeführten Aktionen hinzuzufügen, wenn der Benutzer auf der letzten Seite der Benutzerdialogfelder auf die Schaltfläche Fertig klickt. Das Publish-Element sollte in das Element von Schritt 2 eingefügt werden und sieht folgendermaßen aus:
Die Dialog-Eigenschaft gibt den Dialog an, mit dem die benutzerdefinierte Aktion verknüpft wird, in diesem Fall der ExitDialog. Die Eigenschaft Control legt fest, dass die Schaltfläche Beenden im Dialogfeld die benutzerdefinierte Aktion auslöst. Die Event-Eigenschaft gibt an, dass eine benutzerdefinierte Aktion ausgeführt werden soll, wenn auf die Schaltfläche geklickt wird, und die Value-Eigenschaft die benutzerdefinierte Aktion angibt, die in Schritt 3 enthalten war. Die Bedingung für das Element verhindert die Ausführung der Aktion, es sei denn, das Kontrollkästchen aus Schritt 2 wurde aktiviert und die Anwendung wurde tatsächlich installiert (im Gegensatz zu entfernt oder repariert).
Überprüfen Sie diesen Link für Details. Ausführen von exe nach der Installation . Ich habe es hier kopiert, um anderen zu helfen, die nach der gleichen Antwort suchen.