【问题标题】:How do I schedule an install to happen on the next reboot using MSI?如何使用 MSI 安排在下次重新启动时进行安装?
【发布时间】:2011-06-06 14:54:27
【问题描述】:

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

这样做的问题是,他们的一些用户在安装程序运行时仍将运行我们的应用程序。我们不想让这些用户离开,并且在他们使用应用程序时运行安装总是会破坏事情。

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

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

【问题讨论】:

  • 短信服务器不能帮你处理吗?我的意思是:是否可以配置 SMS 服务器以在系统重启期间运行您的安装包?

标签: installation wix windows-installer


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    • 未使用的文件被覆盖
    • 正在使用的文件计划在重启后更新

    如您所见,这有点问题,因为有些文件已更新而有些文件未更新。

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

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

    【讨论】:

    • S 选项不是解决方案 - 用户会意外重启
    猜你喜欢
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多