私は現在、セットアップ後にいくつかの重要なタスクを実行するインストールサポートプログラムに取り組んでいます。今、私は問題を抱えています。再起動が必要な場合は、本当に特定する必要があります。
私の現在のコードはそのように見えます(チェックのために):
try
{
bool restart = false;
Console.WriteLine("Prüfe auf Neustart...");
SystemInformation t = new SystemInformation();
if (t.RebootRequired){
restart = true;
}
RegistryKey rk = null;
rk = Registry.LocalMachine;
rk = rk.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce");
string[] r = rk.GetValueNames();
if (r.Length != 0) { restart = true; }
rk = Registry.CurrentUser;
rk = rk.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce");
r = rk.GetValueNames();
if (r.Length != 0) { restart = true; }
if (restart == true)
{
Console.WriteLine("Bitte starten Sie Ihren Rechner zuerst neu und führen das Setup dann nochmal aus...");
Console.ReadKey();
Environment.Exit(0);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
これで十分ですか、それとももっと/他のチェックをしなければなりませんか?