23972
Jan 31, 2006, updated at Oct 27, 2006 (UTC)
24233
5
0
Batch Datei in MSI Installer aufrufen?
Hallo,
ich arbeite mit dem Visual Studio Installer (Setup- und Weitergabeprojekt), und möchte nun per "Benutzerdefinierter Aktion" automatisch eine *.bat oder *.cmd Datei starten lassen, nachdem der "normale" Installationsvorgang beendet ist. Leider kann man dort nur *.exe oder *.dll Dateien hinzufügen!
Gibt es eine Möglichkeit, wie man das trotzdem hinbekommt?
Ich hab schon versucht aus der *.bat per "Quick Batch File Compiler" eine *.exe Datei zu erstellen und die einzubinden, aber er bricht immer ab, mit der Fehlermeldung:
"Es liegt ein dieses Windows Installer-Paket betreffendes Problem vor. Ein Programm, dass im Rahmen der Installation ausgeführt wurde, wurde nicht erfolgreich abgeschlossen."
Hat da jemand Erfahrung?
Mfg
H.
ich arbeite mit dem Visual Studio Installer (Setup- und Weitergabeprojekt), und möchte nun per "Benutzerdefinierter Aktion" automatisch eine *.bat oder *.cmd Datei starten lassen, nachdem der "normale" Installationsvorgang beendet ist. Leider kann man dort nur *.exe oder *.dll Dateien hinzufügen!
Gibt es eine Möglichkeit, wie man das trotzdem hinbekommt?
Ich hab schon versucht aus der *.bat per "Quick Batch File Compiler" eine *.exe Datei zu erstellen und die einzubinden, aber er bricht immer ab, mit der Fehlermeldung:
"Es liegt ein dieses Windows Installer-Paket betreffendes Problem vor. Ein Programm, dass im Rahmen der Installation ausgeführt wurde, wurde nicht erfolgreich abgeschlossen."
Hat da jemand Erfahrung?
Mfg
H.
Please also mark the comments that contributed to the solution of the article
Content-Key: 24906
Url: https://administrator.de/contentid/24906
Printed on: April 24, 2024 at 04:04 o'clock
5 Comments
Latest comment
Hallo,
Die gute Nachricht: es ist möglich...
Du kannst eine Custom Action einbinden,
jetzt hängt es noch davon ab, ob in Deiner Batch irgendwelche Umgebungsvariablen verwendet werden müssen (sprich: kann diese im System-Kontext laufen)
und wann diese Laufen soll (User-Interface Phase, Installations-Phase u.s.w.
Binde eine Custom Action Typ
3106 TypeInScript + TypeNoImpersonate
bzw.
3170 TypeInScript + TypeNoImpersonate + ExeFile mit Pfadangabe + IgnorExitCode
das Bat File muss natürlich in irgendeiner Form zum Ausführungszeitpunkt auf dem Client liegen, dann kannst Du aus dem MSI Heraus einen Aufruf machen (CustomAction Table, Source-Spalte: SystemFolder TargetSpalte: [SystemFolder]cmd.exe /c call <PfadZuDeiner BAT>
Gruss,
Wolfgang Zerzawy
CleverITS
http://www.cleverits.com
http://www.paketierung.de
cmd.exe
Die gute Nachricht: es ist möglich...
Du kannst eine Custom Action einbinden,
jetzt hängt es noch davon ab, ob in Deiner Batch irgendwelche Umgebungsvariablen verwendet werden müssen (sprich: kann diese im System-Kontext laufen)
und wann diese Laufen soll (User-Interface Phase, Installations-Phase u.s.w.
Binde eine Custom Action Typ
3106 TypeInScript + TypeNoImpersonate
bzw.
3170 TypeInScript + TypeNoImpersonate + ExeFile mit Pfadangabe + IgnorExitCode
das Bat File muss natürlich in irgendeiner Form zum Ausführungszeitpunkt auf dem Client liegen, dann kannst Du aus dem MSI Heraus einen Aufruf machen (CustomAction Table, Source-Spalte: SystemFolder TargetSpalte: [SystemFolder]cmd.exe /c call <PfadZuDeiner BAT>
Gruss,
Wolfgang Zerzawy
CleverITS
http://www.cleverits.com
http://www.paketierung.de
cmd.exe
Hallo,
Leider verwenden wir bei uns nicht den VS eigenen SetupBuilder sonder Wise bzw. InstallShield zum Erstellen von MSI.
Kannst Du bitte mal in der Hilfe nach "Custom Actions" suchen? dann können wir darauf weiter aufbauen.
cu
Wolfgang Zerzawy
CleverITS
http://www.cleverits.com
http://www.paketierung.de
Leider verwenden wir bei uns nicht den VS eigenen SetupBuilder sonder Wise bzw. InstallShield zum Erstellen von MSI.
Kannst Du bitte mal in der Hilfe nach "Custom Actions" suchen? dann können wir darauf weiter aufbauen.
cu
Wolfgang Zerzawy
CleverITS
http://www.cleverits.com
http://www.paketierung.de
.....Leider kann man dort nur *.exe ...... hinzufügen!
Dann versuche es mal so:
Konvertiere Deine *.bat oder *.cmd zuerst in eine ausführbare *.exe.
Geht mit "Batch2Exe!.exe" hervorragend. http://www.cadkas.de/downgertools.php
Alle Batch_Dateien auswählen die Du in einen EXE Konvertieren willst. Start-Batch-Datei auswählen, danach (wichtig!) die Option "Projetdateien von BAT Datei aus erreichbar halten" auswählen.
hth
onegasse59