Installation 如何使用MSI计划在下次重新启动时进行安装?

Installation 如何使用MSI计划在下次重新启动时进行安装?,installation,wix,windows-installer,Installation,Wix,Windows Installer,我们有一个MSI安装程序(使用Wix创建),可以进行升级。我们的客户使用它在多台机器上同时升级我们的应用程序,使用在静默模式下运行msiexec的SMS包 问题是,在安装程序运行时,他们的一些用户仍在运行我们的应用程序。我们不想赶走这些用户,而在他们使用应用程序时运行安装程序总是会破坏一切 我们的理想解决方案是在下次机器启动时进行安装 这是一个相当庞大的需求列表,但有人知道我如何实现这一点,或者我下一步可能会去哪里吗?Windows Installer会自动检测正在使用的文件。此外,在静默安装期

我们有一个MSI安装程序(使用Wix创建),可以进行升级。我们的客户使用它在多台机器上同时升级我们的应用程序,使用在静默模式下运行msiexec的SMS包

问题是,在安装程序运行时,他们的一些用户仍在运行我们的应用程序。我们不想赶走这些用户,而在他们使用应用程序时运行安装程序总是会破坏一切

我们的理想解决方案是在下次机器启动时进行安装


这是一个相当庞大的需求列表,但有人知道我如何实现这一点,或者我下一步可能会去哪里吗?

Windows Installer会自动检测正在使用的文件。此外,在静默安装期间,它会自动处理这些问题:

  • 未使用的文件将被覆盖
  • 正在使用的文件计划在重新启动后更新
如您所见,这有点问题,因为有些文件已更新,有些文件未更新

一个好的解决方案是将属性设置为“S”。这样,目标计算机在安装后会自动重新启动


不幸的是,MSI软件包无法检测正在运行的进程,请停止安装并在下次重新启动时安排安装。这只能通过自定义EXE引导程序来完成。

您可以在
HKLM\software\microsoft\windows\currentversion\RunOnce
下向注册表添加一个值,它将在用户下次登录时运行。

SMS服务器不能帮您处理吗?我的意思是:是否可以将SMS服务器配置为在系统重新启动期间运行安装程序包?S选项不是解决方案-此重新启动对用户来说是意外的