我正在尝试在始终打开的 Windows 服务器上创建并安装 .NET 应用程序,但遇到了问题。我听说我不应该将其设为 Windows 服务(并且我个人更愿意有一个对话框应用程序,以便我可以看到进度等),因此我尝试使用任务计划程序。但是,任务计划程序一直试图过早关闭我的应用程序,而它应该只打开它并使其保持打开状态。
有什么想法可以让我的对话框应用程序在我的服务器上启动时运行(并保持运行)吗?
您可以使用计划任务设置来运行在启动时时间或按计划运行,这样用户登录/注销就不会出现问题。
Taskschd.msc
4a。设置启动时 - 与用户登录或注销无关
4b。或者设置登录时 - 取决于用户登录
4c。或者设置按计划工作,无论用户是否登录:
注意: 请使用服务帐户来执行此操作,如果您使用管理员帐户,则更改密码后将会失败,
注意: 对于无人值守的应用程序,请选择控制台应用程序,因为除非用户登录,否则用户界面应用程序可能会出现问题。并且也不要让窗口保持活动状态,即不要生成 MsgBox - 使用后杀死所有窗口,或者只让一个控制台应用程序在后台运行,否则您可能会因太多未处理的句柄而导致计算机崩溃。
start /B your_console_app.exe
/B
标志告诉开始在后台运行应用程序而不创建新窗口。
启动命令提示符并输入
shell:Startup
这当然仅适用于您当时使用的登录帐户。
对于所有用户,请输入
shell:Common Startup
否则,您将遇到问题,例如用户注销。
您还可以使用本地组策略编辑器(执行 gpedit)并添加启动脚本。复制
http://technet.microsoft.com/en-us/library/cc770556.aspx 中的步骤,这样即使他们将其删除,仍然可以在 SO 中找到它。
分配计算机启动脚本