如果有人可以向我解释如何让我的程序在启动时运行,我正在徘徊?我的程序是一个 C# WCF,带有一个必须在服务器上运行的小型 WPF UI,我需要确保该程序在服务器重新启动或出于任何其他原因时启动。
我环顾四周,看来我必须使用注册表项,但我不熟悉如何使用注册表项,有人可以向我解释如何使用它。我正在使用 VS2010 创建安装程序,我想在安装时设置注册表项:)
PS 我不希望应用程序成为 Windows 服务,我不能只将它放在用户的启动文件夹中(如果服务器重新启动并且没有人登录怎么办?)
如果有人可以向我解释如何让我的程序在启动时运行,我正在徘徊?我的程序是一个 C# WCF,带有一个必须在服务器上运行的小型 WPF UI,我需要确保该程序在服务器重新启动或出于任何其他原因时启动。
我环顾四周,看来我必须使用注册表项,但我不熟悉如何使用注册表项,有人可以向我解释如何使用它。我正在使用 VS2010 创建安装程序,我想在安装时设置注册表项:)
PS 我不希望应用程序成为 Windows 服务,我不能只将它放在用户的启动文件夹中(如果服务器重新启动并且没有人登录怎么办?)
添加一些东西来运行:
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());
更新:在考虑了更多之后,这可能对您没有帮助,因为您的方法似乎存在根本缺陷。仍然需要有人登录才能运行 UI。这个解决方案怎么样:
将服务推回 Windows 服务(正如其他人所建议的那样)。对于 WPF UI 部分,将其与承载 WCF 服务的 exe 分离到其自己的项目中。只需公开另一个服务端点合同,UI 可以使用它来管理/监控服务。
这为能够从不同的机器监控服务器打开了大门。此外,您不必担心不止一个人同时登录服务器(在许多环境中很可能出现这种情况)并启动服务主机的多个实例。