有没有办法在WiX中从回滚自定义操作启动Explorer?

有没有办法在WiX中从回滚自定义操作启动Explorer?,wix,windows-installer,Wix,Windows Installer,由于某些依赖关系,我们在部分安装过程中关闭Windows资源管理器。作为紧急安全措施,我想确保如果我们失败,用户有一个外壳。我原以为我想做的是一个带有'Execute=“rollback'”的34型自定义操作,但我似乎没有足够的智慧来设计CA 以下是我所拥有的: <CustomAction Id="RestartExplorer" ExeCommand="explorer.exe" Execute="rollback" Impersonate="yes"

由于某些依赖关系,我们在部分安装过程中关闭Windows资源管理器。作为紧急安全措施,我想确保如果我们失败,用户有一个外壳。我原以为我想做的是一个带有'Execute=“rollback'”的34型自定义操作,但我似乎没有足够的智慧来设计CA

以下是我所拥有的:

<CustomAction Id="RestartExplorer"     
   ExeCommand="explorer.exe"
   Execute="rollback"
   Impersonate="yes"
   Return="asyncNoWait"/>

我知道我缺少一个目录元素,但我不知道如何指定一种与平台无关的方式来指定%windir%\system32。使用环境变量或脚本不是一个选项


谢谢:)

我从来没有在安装过程中试图杀死Explorer。它不是自动重新启动吗?如果在您安装时它重新启动会怎么样

否则,如果我这样做了,我会使用

您还希望在InstallFinalize之后立即将其作为自定义操作启动。注意,我没有说提交,因为回滚可以被禁用,并且提交不会执行


这也是你要找的。请确保在32位和64位计算机上进行测试。

在安装过程中,我从未尝试过杀死Explorer。它不是自动重新启动吗?如果在您安装时它重新启动会怎么样

否则,如果我这样做了,我会使用

您还希望在InstallFinalize之后立即将其作为自定义操作启动。注意,我没有说提交,因为回滚可以被禁用,并且提交不会执行


这也是你要找的。请确保在32位和64位机器上进行测试。

在我能想到的任何情况下,杀死explorer都是错误的。我修好了程序错误,而不是重新启动资源管理器;谢谢你的帮助

在我能想到的任何情况下,杀死探险家都是错误的。不是重新启动资源管理器,而是修复了shell扩展中的bug;谢谢你的帮助

谢谢。我们认为重新启动Explorer是不礼貌的,所以我们将其作为用户驱动的操作。谢谢。我们认为重启浏览器是不礼貌的,所以我们把它变成了一个用户驱动的行为。对不起,伙计,这是胡说八道。为了在安装后立即加载shell扩展,你必须重新启动explorer。对不起,伙计,这是胡说八道。您必须重新启动资源管理器,以便在安装后立即加载shell扩展。