【发布时间】:2014-02-12 17:42:04
【问题描述】:
我目前正在向我的 C# 解决方案添加一个部署项目 安装了一个 Windows 服务,我一直在试图找到一个属性 这将使安装程序提示用户重新启动系统一次 安装完成。我宁愿简单地设置一个属性 而不是创建一个我在结束时运行的小应用程序 安装。 如果有任何代码要重新启动,那么我将在哪里使用此代码 在安装程序类或其他地方?
【问题讨论】:
标签: c# installation
我目前正在向我的 C# 解决方案添加一个部署项目 安装了一个 Windows 服务,我一直在试图找到一个属性 这将使安装程序提示用户重新启动系统一次 安装完成。我宁愿简单地设置一个属性 而不是创建一个我在结束时运行的小应用程序 安装。 如果有任何代码要重新启动,那么我将在哪里使用此代码 在安装程序类或其他地方?
【问题讨论】:
标签: c# installation
如果您使用基于 MSI 的安装程序(如果您使用的是 VS 安装项目,则会出现这种情况),设置 REBOOT=Force 应该可以解决问题。
不过,在正常情况下,安装程序会自行检测是否需要重新启动:如果您当前没有收到重新启动提示,则说明您的服务无需重新启动即可正常工作。
您可以扩展设置逻辑以在安装后启动服务(如果需要,还可以启动任何自动启动的 GUI 组件)。这比强制重启要友好得多,而且您会尽自己的一份力量帮助 Windows 摆脱“您移动鼠标,请重启”的图像问题...
编辑(2011 年 12 月) @IdentityCrisisUK:请参阅 HOW TO: Control System Restarts in a Setup Project That You Created by Using Visual Studio .NET 了解设置 REBOOT 变量所涉及的确切步骤。需要使用 Orca - 不知道为什么“已经被排除”,因为这是一个微不足道的后期构建步骤......
【讨论】:
使用 WIX 的 REBOOT 属性在安装程序的 Product.wxs 文件中重新启动提示。语法是:-
<Property Id="REBOOT" Value="Force"></Property>
【讨论】: