23972
Goto Top

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.

Content-Key: 24906

Url: https://administrator.de/contentid/24906

Printed on: April 16, 2024 at 20:04 o'clock

Member: cleverits-wz
cleverits-wz Jan 31, 2006 at 16:03:54 (UTC)
Goto Top
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
Mitglied: 23972
23972 Jan 31, 2006 at 17:42:17 (UTC)
Goto Top
Hallo,
das klingt schonmal gut, aber wo find ich im Visual Studio die:
3106 TypeInScript + TypeNoImpersonate
bzw.
3170 TypeInScript + TypeNoImpersonate + ExeFile mit Pfadangabe + IgnorExitCode
??
Bei der Ansicht "Benutzerdefinierte Aktionen" gibt es nichts, was danach aussieht...

Das gleiche gilt für den Aufruf aus dem MSI per custom action Table.

Mfg
H.
Member: cleverits-wz
cleverits-wz Jan 31, 2006 at 20:20:41 (UTC)
Goto Top
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
Mitglied: 23972
23972 Jan 31, 2006 at 23:14:02 (UTC)
Goto Top
Hmm, ich hab nun die zur Make.exe compilierte Batchdatei im Dateisystem in VisualStudio dem Installerprojekt hinzugefügt, und in Orca folgende Einstellungen vorgenommen:

a)Neue CustomAction anlegen (Create a Custom Action (Execute Deferred, Async, NoWait)
Action: Make.exe
Type: 3282
Source: FileKey: _16C1C82765?
Target:

b)Neuen Record erstellen in InstallExecuteSequence
Action: Make.exe
Condition: Wenn mans braucht?
Sequence: Sequencenummer von InstallFinalize ? 5 => 6600 => 6595


Mfg
H.__________________________________________________
Mitglied: 36539
36539 Oct 27, 2006 at 20:06:44 (UTC)
Goto Top
.....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