C#:如何检测到Windows 7所需的重新启动

我正在一个项目中,几个软件和驱动程序安装在Windows 7电脑上。 这应该没有用户input。 现在有一个问题:如何在这个程序中确定是否需要重启以完成安装(可以是驱动程序或软件)。

我们正在开发embedded式Windows 7,并且没有启用任务栏或任何工具提示或类似的东西。 软件以静默模式安装。

使用以下注册表项:

HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations 

资料来源: 如何找出我刚刚安装的MSI是否请求Windows重启?

正如这个问题的提问者所发现的那样,只要操作系统是Vista或更新版本, HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending就会在机器上重启时显示。