强制Winforms安装使应用程序在Windows启动时启动

时间:2009-10-12 22:34:07

标签: c# windows install startup

如何强制安装一个安装项目的Windows应用程序,以便每次有人登录到Windows时都会启动它?

编辑:我知道注册表设置,但具体来说,我正在寻找一个允许安装程序设置注册表值的解决方案。

5 个答案:

答案 0 :(得分:7)

打开您的注册表并找到密钥

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

对于您要启动的每个程序,使用描述性名称自动创建新的字符串值,并将字符串的值设置为程序可执行文件。

例如,要自动启动记事本,请添加

的新条目
"Notepad"="c:\windows\notepad.exe".

删除启动应用程序 如果您尝试删除程序但无法在StartUp文件夹中找到它(通常为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/

答案 1 :(得分:2)

如果您确实需要在Windows启动时启动应用程序,而不是在有人登录时需要将其创建为服务,并在安装时将服务设置为“自动”。

网上有很多地方可以为您提供有关此内容的信息:

是我找到的前三个,但做了一些研究并找到适合你的资源。

<强>更新

我从更新的问题中看到,当有人登录时,要求程序运行,因此这个答案(在某种程度上)是多余的。但是,如果有人想要服务根目录,我会留在这里。

答案 2 :(得分:1)

您可以在“启动文件夹”中为winforms程序添加快捷方式。您需要查看安装项目的文件系统。

答案 3 :(得分:1)

从技术上讲,当“Windows启动”时,你无法启动WinForms应用程序;但是,当有人登录Windows时,您可以启动它。要执行此操作,您可以执行以下三种操作之一:

  1. 在当前用户的启动文件夹中放置一个快捷方式。
  2. 在“所有用户”启动文件夹中放置一个快捷方式。
  3. 将注册表项写入HKLM / Software / Microsoft / Windows / CurrentVersion / Run
  4. 更新:克里斯指出我错过了HKCU路径。

答案 4 :(得分:1)

每次 Windows 启动时,您应该将程序构建为Windows服务(或者可能来自服务)。