我有一个执行命令行工具的自定义操作:
<CustomAction Id="QtExecUpdateDatabase_Cmd" Property="QtExecUpdateDatabase" Value=""[#DATABASEUPDATER.EXE]"" Execute="immediate" />
<CustomAction Id="QtExecUpdateDatabase" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="check" />
<InstallExecuteSequence>
<Custom Action="QtExecUpdateDatabase_Cmd" After="CostFinalize">NOT REMOVE</Custom>
<Custom Action="QtExecUpdateDatabase" After="InstallFiles" >NOT REMOVE</Custom>
</InstallExecuteSequence>
在某些情况下,它会失败。msi 日志如下所示:
SI (s) (98:98) [16:44:06:765]: Executing op: CacheSizeFlush(,)
MSI (s) (98:98) [16:44:06:765]: Executing op: InstallProtectedFiles(AllowUI=1)
MSI (s) (98:98) [16:44:06:765]: Executing op: ActionStart(Name=QtExecUpdateDatabase,,)
Action 16:44:06: QtExecUpdateDatabase.
MSI (s) (98:98) [16:44:06:781]: Executing op: CustomActionSchedule(Action=QtExecUpdateDatabase,ActionType=1025,Source=BinaryData,Target=CAQuietExec,CustomActionData="D:\Documents and Settings\edugarcia\Configuración local\Datos de programa\Gamesa\HCAOffline\DatabaseUpdater.exe")
MSI (s) (98:B0) [16:44:06:796]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI2D.tmp, Entrypoint: CAQuietExec
MSI (s) (98:EC) [16:44:06:796]: Generating random cookie.
MSI (s) (98:EC) [16:44:06:812]: Created Custom Action Server with PID 3804 (0xEDC).
MSI (s) (98:90) [16:44:06:828]: Running as a service.
MSI (s) (98:90) [16:44:06:843]: Hello, I'm your 32bit Impersonated custom action server.
CAQuietExec: Error 0x80131700: Command line returned an error.
CAQuietExec: Error 0x80131700: CAQuietExec Failed
Action ended 16:44:07: InstallFinalize. Return value 3.
有没有办法记录命令行工具返回的错误消息?
这个命令行工具有它自己的日志,但是,失败后,所有的安装过程都会回滚,包括我的珍贵日志。如何告诉 wix 不要删除我的命令行工具的 de 日志?