Ich möchte ein Befehlszeilenprogramm von OpenOffice in WiX aufrufen. Dazu habe ich eine benutzerdefinierte Aktion, wie unten zu sehen:So rufen Sie ein Befehlszeilenprogramm in WiX
<CustomAction Id="ca_RunOpenOfficeProgram" Return="check" Directory="TARGETDIR" ExeCommand="cmd.exe /K "C:\OpenOffice.org3\program\unopgk.com list --shared"" />
Die benutzerdefinierte Aktion wird in einer Installation ausführen Reihenfolge ausführen:
<InstallExecuteSequence>
<Custom Action="ca_RunOpenOfficeProgram" Before="InstallFinalize" />
</InstallExecuteSequence>
Wenn die resultierende MSI-Datei ausgeführt wird, erhalte ich die folgende Fehlermeldung in einer Befehlszeile:
Invalid command 'C:\OpenOffice.org3\program\unopkg.com' could not be found.
Nun, natürlich ist der Befehl zur Verfügung, und ich kann es von der Kommandozeile ausgeführt werden. Aber es funktioniert einfach nicht, wenn die Kommandozeile von WiX aufgerufen wird. Es ist auch bemerkenswert, dass der Teil 'list --shared' vollständig ignoriert wird.
Weiß jemand, was hier vor sich geht?
Hatte ich Tippfehler, heißt das Programm 'unopkg.com'. Korrigierte es sieht meine Custom wie folgt nun: ' ' Beim Ausführen der MSI erhalte ich die folgende Fehlermeldung: 'Es gibt ein Problem mit diesem Windows Installer-Paket. Ein Programm, das als Teil des Setups ausgeführt wurde, wurde nicht wie erwartet beendet. Wenden Sie sich an Ihren Support-Mitarbeiter [...] ' –
Überprüfen Sie die Protokolldatei. Der Rückgabewert (Exit-Code) des Programms könnte wichtig sein. Zum Ausführen von msiexec mit Protokollierung siehe [hier] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa370536 (v = vs.85) .aspx). –