Запустить программу при запуске Windows - PullRequest
0 голосов
/ 20 сентября 2011

Я бродил, не мог бы кто-нибудь объяснить мне, как заставить мою Программу работать при запуске? Моя программа - это C # WCF с небольшим пользовательским интерфейсом WPF, который должен работать на сервере, и я должен убедиться, что программа будет запускаться при каждом перезапуске этого сервера или по любой другой причине.

Я осмотрелся, и мне кажется, что я должен использовать ключи реестра, но я не знаком с тем, как использовать ключи реестра, может кто-нибудь объяснить мне, как я мог бы это использовать. Я использую VS2010 для создания установщика, и я хотел бы установить ключ реестра при его установке:)

P.S. Я не хочу, чтобы приложение было службой Windows, и я не могу просто поместить его в папку автозагрузки для пользователя (что делать, если сервер перезагружается и никто не входит в систему?)

1 Ответ

5 голосов
/ 20 сентября 2011

Добавьте что-нибудь для запуска:

http://www.geekpedia.com/tutorial151_Run-the-application-at-Windows-startup.html

RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

rkApp.SetValue("MyApp", Application.ExecutablePath.ToString());

ОБНОВЛЕНИЕ: Подумав об этом еще немного, это, вероятно, не поможет вам, потому что вашподход представляется в корне ошибочным.Кто-то еще должен войти в систему, чтобы пользовательский интерфейс работал.Как насчет этого для решения:

Верните службы обратно в службу Windows (как и все остальные предлагали).Для части пользовательского интерфейса WPF отделите ее от исполняемого файла, в котором размещены службы WCF, в своем собственном проекте.Просто предоставьте другой контракт конечной точки сервиса, который пользовательский интерфейс может использовать для управления / мониторинга сервиса.

Это открывает возможности для мониторинга сервера с другого компьютера.Кроме того, вам не нужно беспокоиться о том, что более одного человека одновременно подключаются к серверу (вероятный сценарий во многих средах) и раскручивают несколько экземпляров узла службы.

...