У меня есть приложение, которое развернуто с ClickOnce, и имеет возможность автоматического запуска с Windows. Однако, когда я перезагружаю Windows, мое приложение запускается успешно, но не может найти настройки (я просто использую встроенную функциональность Настройки). Однако, если я закрою автоматически запускаемое приложение и перезапущу его с помощью значка на рабочем столе, оно сможет найти его настройки.
Для автоматического запуска в Windows я использую следующий код:
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (runOnStartup == true)
key.SetValue("AppName", Application.ExecutablePath.ToString());
else
key.DeleteValue("AppName");
Я заметил, что ярлык на рабочем столе не указывает непосредственно на исполняемый файл, а скорее на URL-адрес:
http://pathToApp.application#AppName.application, Culture=neutral, PublicKeyToken=c8c0a22ba65cb9f4, processorArchitecture=x86
Как заставить приложение автозапуска работать так же, как ярлык?