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
Wix MSI安装应在产品运行时等待_Wix_Windows Installer - Fatal编程技术网

Wix MSI安装应在产品运行时等待

Wix MSI安装应在产品运行时等待,wix,windows-installer,Wix,Windows Installer,我有一个MSI软件包的产品与小补丁,我不想分散用户关闭应用程序。我想等待用户离开应用程序的那一刻 我有一个在用户权限下运行的更新程序,可以在静默模式下执行 msiexec/i product.msi/quiet 但当msi安装产品时,它会将WM_退出发送给它,程序关闭,用户应该重新打开它。我怎样才能推迟执行这样的命令?我可以安排安装吗?解决方案是让您的应用程序“重新启动管理器” 您注册为可重新启动管理器,而不是WM_退出,Windows Installer将发送WM_QUERYENDSESSIO

我有一个MSI软件包的产品与小补丁,我不想分散用户关闭应用程序。我想等待用户离开应用程序的那一刻

我有一个在用户权限下运行的更新程序,可以在静默模式下执行

msiexec/i product.msi/quiet


但当msi安装产品时,它会将WM_退出发送给它,程序关闭,用户应该重新打开它。我怎样才能推迟执行这样的命令?我可以安排安装吗?

解决方案是让您的应用程序“重新启动管理器”

您注册为可重新启动管理器,而不是WM_退出,Windows Installer将发送WM_QUERYENDSESSION/WM_ENDSESSION消息。准备应用程序正常关闭,保存用户会话或根据需要阻止应用程序关闭,然后自动重新启动应用程序


有关重启管理器的MSDN文档将帮助您入门。

我需要更好地了解您的情况。您是否可以提示应用程序中的用户有新版本可用,并让他们在关闭应用程序时启动该版本?您是否有运行msiexec命令或其他命令的提升权限?如果是这样,您可以查看/jm(而不是/i)命令来公布(“祝福”)MSI,以便如果非priv用户启动/i,它应该正确安装。(假设设计正确。)1)是的,我可以提示用户更新的版本可用,但这里我想研究没有任何用户操作的vairants 2)我在正常用户权限下运行(取消提升),我知道我可以创建服务(由管理员运行),可以在打开后和登录前进行安装,但我也希望避免这种情况,因为我不太理解你的要求,所以很难给你提建议。但请注意,如果您以静默方式启动MSI,并在安装程序中放入某些内容以等待应用程序关闭,则您将无法同时安装任何其他内容,因为MSI实现了一个系统范围的互斥锁,一次只能运行一个安装。chrispher描述的哪一部分让您感到困惑?谢谢,这个问题对我来说仍然是现实的,你给了我希望好运!我认为微软在Vista发布时在channel9上有一个演示视频,演示该功能,如果您需要其他帮助,Windows SDK中可能还有一些示例代码。