Windowsアプリケーションを作成しました。Windows起動時にアプリケーションを起動します。 インストーラクラスに次のコードを記述しました。しかし、私はレジストリを使用してレジストリをチェックしていますが、私はレジストリ値を取得しませんでした。私のアプリケーションは動作しません。レジストリ起動時にWindowsアプリケーションが動作しない
public override void Commit(IDictionary savedState)
{
base.Commit(savedState);
try
{
RegistryKey add = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
add.SetValue("ToposcreenServer", "\"" + Application.ExecutablePath.ToString() + "\"");
RegistryKey key = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{70E25B31-99A9-474C-8990-CE28FBCEAAD1}", RegistryKeyPermissionCheck.Default);
if (key != null)
{
key.SetValue("SystemComponent", 1, RegistryValueKind.DWord);
key.Close();
}
Directory.SetCurrentDirectory(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
Process.Start(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\ToposcreenServer.exe");
GLobalclass.WriteLog("Installer Executed");
}
catch (Exception ex)
{
GLobalclass.WriteLog("Installer Error :" + ex.Message);
}
}
あなたのコードは、2つのレジストリ値を設定します。両方とも設定されていないのですか? – mjwills
このコードを実行すると、ログには何が書き込まれますか( '実行済み'または 'エラー')? – mjwills