Принудительная установка Winforms для запуска приложения при запуске Windows - PullRequest
4 голосов
/ 13 октября 2009

Как заставить приложение Windows с добавленным в него проектом установки установить так, чтобы оно запускалось каждый раз, когда кто-то входит в Windows?

Редактировать: Мне известны параметры реестра, но, в частности, я ищу решение, которое позволит установщику установить значения реестра.

Ответы [ 5 ]

7 голосов
/ 13 октября 2009

Откройте реестр и найдите ключ

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run].

Для каждой программы, которую вы хотите запустить, автоматически создайте новое строковое значение, используя описательное имя, и установите для значения строки исполняемый файл программы.

Например, чтобы автоматически запустить Блокнот, добавьте новую запись

"Notepad"="c:\windows\notepad.exe".

Удалить загрузочное приложение Если вы пытаетесь удалить программу и не можете найти ее в папке «Автозагрузка» (обычно C:\WINDOWS\Start Menu\Programs\StartUp), возможно, она запускается из одного из разделов реестра ниже. Чтобы удалить его, удалите значение, связанное с программой, которую вы хотите удалить.

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows]

Источник: http://www.pctools.com/guides/registry/detail/109/

2 голосов
/ 13 октября 2009

Если вам действительно нужно, чтобы ваше приложение запускалось при запуске Windows, а не когда кто-то входит в систему, вам нужно создать его как службу и при установке установить службу в «Автоматически».

В Интернете есть много мест, где вы можете получить информацию об этом:

- первые три, которые я нашел, но проведите небольшое исследование и найдите ресурс, который работает для вас.

UPDATE

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

1 голос
/ 13 октября 2009

Чтобы запускаться каждый раз, когда Windows запускается, вы должны собрать свою программу как службу Windows (или, возможно, запустить ее из службы).

1 голос
/ 13 октября 2009

Технически вы не можете запустить приложение WinForms при «запуске Windows»; однако, вы можете запустить его, когда кто-то входит в Windows. Для этого вы делаете одно из трех:

  1. Поместите ярлык в папку запуска текущего пользователя.
  2. Поместите ярлык в папку автозагрузки «Все пользователи».
  3. Запись ключа реестра в HKLM / Программное обеспечение / Microsoft / Windows / CurrentVersion / Run

Обновление: как указывает Крис, я пропустил путь HKCU.

1 голос
/ 13 октября 2009

Вы можете добавить ярлык к вашей программе winforms в папке запуска. Файловая система проекта установки - это то, где вам нужно искать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...