У меня есть этот простой кусок кода, добавляющий мое приложение для запуска при запуске Windows.Работает отлично.
RegistryKey rk = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
rk.SetValue("my_app", Application.ExecutablePath);
Затем я упаковываю его в проект упаковки приложений Windows, подключаю к хранилищу Windows, выбираю «Создать пакеты приложения ...» и получаю полученный .appxbundle.Хорошо пока.Я устанавливаю это локально.(также установка сгенерированного сертификата (.cer), чтобы я мог установить его вообще.)
Как только я запускаю установленное приложение и нажимаю кнопку, запускающую приведенный выше код, в реестре ничего не меняется!Это не сбой, у меня есть попытка .. поймать код.Он просто молча игнорирует его.
Запуск из Visual Studio работает нормально, реестр обновляется.
На самом деле, все, что я хочу, это приложение, которое запускается при запуске Windows, меня не особо интересует, как этого добиться, поэтому любые идеи приветствуются!
Редактировать: я забылсказать самое главное: это рабочий стол Windows, приложение Windows Forms.Это не приложение UWP, а окно, унаследованное от обычного System.Windows.Forms.Form, скомпилированного с x86.
Ксавье упоминает расширение StartupTask, это пакет nuget, но, кажется, он используется, когда у вас естьприложение UWP.