C#自动启动:自动将应用程序添加到启动文件夹

3

有没有可能让C#自启动自动将应用程序添加到启动文件夹中。现在我可以使用自启动下载和安装C#应用程序,但是当我重新启动Windows时,应用程序不会自动启动。如何做到这一点?


1
你为什么认为你的用户想要在启动时运行你的程序? - SLaks
这不是对所有用户开放的应用程序,它是内部使用的,他们需要它。 - senzacionale
可能是将应用程序添加到Vista或Win7的启动项的重复问题。 - Hans Passant
不,它没有重复。我们只有Windows XP。 - senzacionale
7
我向你表示慰问,那个解决方案同样适用于XP系统。 - Daniel Schaffer
3个回答

7

您可以使用它:

RegistryKey rkey = 
    Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run");
rkey.SetValue("YourApplicationName", Application.ExecutablePath);

1

如果你想启动一些应用程序,我建议你选择Windows服务 :)


通过一键部署,我可以安装应用程序,但默认情况下,它不会在Windows重新启动时自动启动。我需要它在Windows重新启动时自动启动。在C#代码中添加什么? - senzacionale
正如我所说,如果它不是Windows服务,你的应用程序无法随着Windows启动。Windows服务技术就是为了满足这个需求而存在的。如果你查看系统的本地服务,你就会明白我的意思。你可以自动启动应用程序,或者附加时间表以便启动等。 - Serkan Hekimoglu
你可以让一个应用程序在Windows启动时自动运行,而不必创建一个Windows服务。创建Windows服务可能是解决此问题的最糟糕的方法之一。请查看Hans在问题上的评论。 - Daniel Schaffer
创建Windows服务时,必须添加项目安装程序。使用命令提示符,将installutil.exe放置到您的项目exe根目录中,并在命令提示符中键入“installutil.exe -i YourApp.exe”。这将安装您的Windows服务应用程序到系统中。您可以在本地服务中启动/停止配置服务。 - Serkan Hekimoglu
2
@Serkan Windows服务是为了那些需要作为后台进程运行而没有任何用户界面的东西而设计的。到目前为止,我还没有遇到过可以与用户桌面交互的服务。也许为了解决这个问题,我们可以在设置或部署项目中添加自定义操作,或者使用创建此应用程序安装程序的任何工具。此自定义操作将复制exe的快捷方式到启动文件夹中。您可以利用Windows Installer Script(WIX)或Installshield等软件包和部署软件来实现此功能。 - Nilesh Gule

0
你可以使用 Active Setup,无需编程,只需要在HKLM中创建一些注册表项。

Active Setup是微软用于下载和安装Internet Explorer 4至6版本的安装技术。它被设计为通过互联网选择性地下载和安装已签名的Internet Explorer组件。这显著减少了要下载的数据量,同时也减少了更新所需的时间。Active Setup还可以从中断点继续部分完成的下载。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接