从 C# 自定义操作中安装后,我们如何提示计算机重新启动?
我们正在使用 VS 2005 的安装项目进行安装,我们需要以编程方式决定提示重新启动(因此不会在每次安装时都发生,只是在某些安装时发生)。
更新:我们首先在寻找已经内置到 MSI 自定义操作系统中的东西。如果不存在,我们可以以某种方式自行重启 PC,但希望避免这种情况。
更新:我们看到在 Orca 中编辑 Msi 时您可以在哪里设置 REBOOT=Force,您可以在运行时通过 C# 自定义操作修改这些表吗?我们可以将其设置为每次都重新启动,但这可能会使我们的设置烦人(它只需要在极少数情况下重新启动)。
更新:我们尝试设置:
savedState["REBOOT"] = "Force";
在我们自定义操作的 Install() 方法中,但没有运气。IDictionary, savedState 似乎并没有真正做任何事情。
也试过:
Context.Parameters["REBOOT"] = "Force";
但我认为这个集合只是传递给自定义操作的命令行参数。
更新:有没有办法用 Orca 编辑我们的 MSI 以使这个技巧发挥作用?也许在某些文件存在的情况下安排重新启动?我们还没有找到如何通过 C# 自定义操作设置 MSI 属性。
更新:我们尝试连接到 AppDomain.ProcessExit 和 AppDomain.DomainUnload 并启动一个新线程并调用 Process.GetCurrentProcess().WaitForExit() 并且这些事件都不会从 C# 自定义操作中触发...