@Almost

Почему автозагрузка программы не работает С# WPF?

Программа не запускается после добавления данных в регистр. Строка добавляется в регистр, но после включения системы не запускается. Отсутствие наличия кавычек никак не влияет на работу. Права администратора у приложения включены. Кроме этого, приложение отображается в диспетчере задач во вкладке "Автозагрузка". Многое перепробовал, ничего не помогает. Не работает ни в Win 10, ни в Win 7. Если помещать в директорию HKEY_CURRENT_USER тоже не работает. Почему?

public void SetAutoload(bool set) {
   Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\", true);
   if (set) {
      key.SetValue("Appname", "\"" + AppDomain.CurrentDomain.BaseDirectory + "Appname.exe" + "\"");
   } else {
      key.DeleteValue("Appname", false);
   }
   key.Close();
}


ac0f6219a158446ba6836c6014385b65.png

UPD.: даже если добавить ярлык программы в папку автозапуска, то программа не запускается. Видимо это как-то связанно с правами администратора.
  • Вопрос задан
  • 988 просмотров
Решения вопроса 2
Nipheris
@Nipheris Куратор тега C#
В современной Винде приложения, требующие повышения привелегий, можно нормально запустить только с помощью планировщика заданий. Повышение привелегий (которое в свою очередь приведёт к срабатыванию UAC, если он включён) невозможно для программ в автозагрузке (неважно в папке или через реестр).
Ответ написан
@Almost Автор вопроса
Проблема была в том, что программа требовала права администратора, видимо у моей учетной записи их не было и соответственно программа не запускалась.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы