Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Installation WIX:基于先前执行的自定义操作的成功运行自定义操作_Installation_Wix_Conditional_Wix3_Custom Action - Fatal编程技术网

Installation WIX:基于先前执行的自定义操作的成功运行自定义操作

Installation WIX:基于先前执行的自定义操作的成功运行自定义操作,installation,wix,conditional,wix3,custom-action,Installation,Wix,Conditional,Wix3,Custom Action,我需要在安装过程中重新启动Windows资源管理器进程。目前,我们强制用户重新启动以确保资源管理器进程真正重新启动,但我希望更灵活一些 我有一个restartexplorer可执行文件,我可以在安装过程中调用它。我想做的是调用restartexplorer可执行文件,并且仅当restartexplorer自定义操作返回错误代码时才使用ScheduleReboot 我可能会这样定义: 然后InstallExecuteSequence将是这样的: ... 以前安装的版本 以前安装的版本 0)]

我需要在安装过程中重新启动Windows资源管理器进程。目前,我们强制用户重新启动以确保资源管理器进程真正重新启动,但我希望更灵活一些

我有一个restartexplorer可执行文件,我可以在安装过程中调用它。我想做的是调用restartexplorer可执行文件,并且仅当restartexplorer自定义操作返回错误代码时才使用ScheduleReboot

我可能会这样定义:


然后InstallExecuteSequence将是这样的:


...
以前安装的版本
以前安装的版本
0)]]>

问题是如何从以前的自定义操作中获取错误代码?我是否可以使用qtexecmdline并仍然能够检查错误代码,或者我是否必须直接从自定义操作标记检查可执行文件?这必须在WindowsXPSP3和更高版本上工作,我更喜欢一个解决方案,它不必在不同的操作系统版本之间有所不同

您可以创建VB脚本自定义操作,该操作将执行以下操作:

  • 运行RestartExplorer.exe
  • 如果失败,请设置一些全局属性(例如EXPLORER\u RESTART\u failed=1)

  • 如果EXPLORER\u RESTART\u失败为1,则使用ShaduleReboot。

    可能的解决方案。如果我使用内置的qtexecmdline,这是不可能的?老实说,我没有使用qtexecmdline。但我相信它能够运行VB脚本以及exe