【问题标题】:What is the simplest way to reboot after a Setup Project installation completes?安装项目安装完成后重新启动的最简单方法是什么?
【发布时间】:2011-11-30 14:51:47
【问题描述】:

我不想问这个问题,因为我知道已经有很多关于它的问题,有些非常接近我想要做的:

第一个问题似乎暗示没有外部软件是不可能的,但第二个问题给出的答案似乎正是我想要的。但是当建议设置REBOOT=Force时,我真的不明白它指的是什么。

我阅读了有关属性的链接文章,我不知道这是否只是 MSDN 的编写方式,但我觉得我应该如何在安装项目中使用它们并不明智。总的来说,我对 C# 和设置项目还是很陌生。

在属性之外,最简单的外部依赖项似乎是创建一个小的 C# 应用程序,它除了关闭系统之外什么都不做。然后将自定义操作添加到提交部分以调用此应用程序。这对我来说似乎有点矫枉过正,这是否意味着无用的应用程序必须成为安装的一部分并留在用户计算机上?

我找到了很多关于使用 WIX 或 Orca 的内容,但我有理由不使用它们(至少因为我必须为 any 编写商业案例 em> 使用的软件)。我什至没有尝试创建一个非常复杂的安装程序,它只是复制了几个新的 EXE,然后重新启动以确保在启动时使用新的 EXE。虽然我现在认为重新启动可能不值得麻烦,只需将新的 exe 调用为自定义操作。

【问题讨论】:

    标签: c# setup-project reboot


    【解决方案1】:

    REBOOT 是预定义的 Windows Installer 属性: http://msdn.microsoft.com/en-us/library/windows/desktop/aa371101(v=vs.85).aspx

    安装程序属性存储在 MSI 数据库中的 Property table 中。因此,您可以使用以下信息在属性表中简单地添加一个新行:

    • 属性 - 重新启动
    • 值 - 力

    您可以在此处阅读有关安装程序属性的更多信息: http://msdn.microsoft.com/en-us/library/windows/desktop/aa372432(v=vs.85).aspx?ppud=4

    请注意,Visual Studio 安装项目不支持设置属性值。因此,您可以使用 Orca 编辑 MSI 以添加新行或切换到其他设置创作工具。

    【讨论】:

    • 好的,谢谢,现在更有意义了。那么,创建自定义操作是否是在构建后无需额外步骤而使用标准设置项目时重新启动的唯一方法?
    • 是的,自定义操作是唯一的解决方案。
    • 请注意,这也是不可取的 - 例如,有些人喜欢做一些笔记或必须在重新启动之前制作屏幕截图(我曾经在这样的公司工作)。或者其他事情(将虚拟机移动到其他机器)。非常不建议强制重启。
    • @TomTom 将值设置为force 实际上不会强制重启,它会强制重启提示。用户可以选择是否重启,但至少知道他们应该这样做。
    • @CosminPirvu 是否有针对此的初学者指南,因为我不知道如何以及在何处设置这些值?
    猜你喜欢
    • 2010-10-04
    • 1970-01-01
    • 2012-06-17
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 2016-03-20
    • 2016-01-26
    • 1970-01-01
    相关资源
    最近更新 更多