Я пишу приложение, которое должно работать каждый раз, когда компьютер запускается после того, как пользователь его установит. я попытался сделать это в установках calss в событии afterInstall, но установщик помещает его в реестр и запускается, когда перезагружается Windows, поэтому я попытался сделать это с зарегистрированным событием и получил те же результаты. После этого я присвоил классу установщика заданного свойства значение false, но затем атакованный evet не выстрелил. Моя последняя попытка заключалась в том, чтобы запустить приложение после его установки, а затем позволить ему написать себя в реестре, и случилось странное дело, что это произошло в реестре, но нет места, в котором я хотел, чтобы кто-нибудь знал, почему это так и как можно Я чиню это?Как зарегистрировать мое приложение в реестре Windows?
Мой код:
bool registry = true;
RegistryKey rkSubKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", false);
string[] values = rkSubKey.GetValueNames();
foreach(string name in values)
{
if (name.Equals("appName"))
registry = false;
}
if (registry)
{
RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
rkApp.SetValue("appName", Application.ExecutablePath.ToString());
DialogResult r = MessageBox.Show("The system now needs to restart your computer whould you like to do it now?", "Restart is needed", MessageBoxButtons.YesNo);
if (r == DialogResult.Yes)
{
System.Diagnostics.Process.Start("ShutDown", "/r");
}
return;
}
mainModule.start();
«Нет места, где я хотел, чтобы это было» ... хорошо, что задает вопрос ... *, где он на самом деле написал его тогда? – Arran
Я не знаю, что я зацепил весь реестр, и я смог найти его ... – user1839169
Какая ОС вы работаете? 64-битный или 32-битный? Если Vista/7/8 вы используете приложение с или без UAC (User Account Control)? – Arran