【问题标题】:How can I prompt the user to reboot in a .NET installation?如何在 .NET 安装中提示用户重新启动?
【发布时间】:2009-01-17 22:01:02
【问题描述】:

我正在使用 Visual Studio 2008 编写安装程序,而且我对安装程序完全陌生。我创建了一个安装并使用 C# 程序集成功编写了一些自定义操作。一个操作设置了一个 RunOnce 注册表值,现在我需要在安装完成时提示用户重新启动,但我不知道如何。我已经阅读了 Installer 类文档,但我找不到任何关于重新启动的内容。

我假设我需要以某种方式开始调用 MsiSetProperty 并设置 REBOOT 属性,但我不知道如何从我的 .NET 安装程序项目中做到这一点。

【问题讨论】:

    标签: c# .net installation windows-installer


    【解决方案1】:

    谢谢。我最终使用构建后事件通过以下命令运行批处理文件。最困难的部分是追踪 WiRunSQL.vbs,它位于 "Windows SDK Components for Windows Installer Developers" 下载中。

    cscript "C:\Program Files\Microsoft SDKs\Windows\v6.0\Samples\SysMgmt\MSI\scripts\WiRunSQl.vbs" my.msi "INSERT INTO `Property`(`Property`, `Value`) VALUES ('REBOOT', 'F')"
    

    【讨论】:

    • 感谢您终于向我展示了那个愚蠢的脚本在哪里!我已经搜索了一个多小时。
    【解决方案2】:

    如果您使用WiX 实现安装程序,则需要添加:

    <ScheduleReboot After="InstallFinalize"/>
    

    如果您在Visual Studio 中使用缩减的“安装程序”项目,我不确定...但是此链接here 建议使用CScript 命令,该命令似乎显示了如何注入 MSI属性到安装程序项目中,就像你想做的那样。

    【讨论】:

      【解决方案3】:

      只需在 MSI 中初始设置属性,而不是尝试在运行时更新它。

      无论如何,Visual Studio 2008 都附带 WiX,请参阅 Visual Studio ships the WiX toolset 了解更多详细信息。也就是说,我不是 Visual Studio 2008 用户,所以我不知道这是对以前的 Visual Studio 设置项目的补充还是替代。

      【讨论】:

        猜你喜欢
        • 2011-07-10
        • 2021-06-07
        • 2021-06-30
        • 1970-01-01
        • 1970-01-01
        • 2010-12-26
        • 1970-01-01
        • 1970-01-01
        • 2020-10-09
        相关资源
        最近更新 更多