我正在构建一个c#控制台应用程序,它可以自动查找更新,下载并安装它们。
我正在将此方法用于安装部分:
public static void InstallUpdates(UpdateCollection DownloadedUpdates)
{
UpdateSession UpdateSession = new UpdateSession();
UpdateInstaller InstallAgent = UpdateSession.CreateUpdateInstaller() as UpdateInstaller;
InstallAgent.Updates = DownloadedUpdates;
//Starts a synchronous installation of the updates.
// http://msdn.microsoft.com/en-us/library/windows/desktop/aa386491(v=VS.85).aspx#methods
IInstallationResult InstallResult = InstallAgent.Install();
}
根据this链接,我可以检查是否需要重启。我想要实现的是系统重启,当RebootRequiredBeforeInstallation变为true时立即完成。
我想过这样做,但这不起作用,因为我不能使用else语句:
while (!InstallAgent.RebootRequiredBeforeInstallation)
{
} else
{
// Reboot
}
对此有什么正确的解决方法?
答案 0 :(得分:0)
这个怎么样:
while (!InstallAgent.RebootRequiredBeforeInstallation)
{
// Install things
// If the installer sets the RebootRequiredBeforeInstallation flag to
// true, the while loop will terminate and you can reboot.
}
if (InstallAgent.RebootRequiredBeforeInstallation)
{
// Reboot
}