C# 在Windows服务器启动时自动运行程序
我正在尝试在始终打开的windows服务器上安装应用程序,但遇到了问题。我听说我不应该让它成为Windows服务(我个人更希望有一个对话框应用程序,这样我就可以看到进度等),所以我尝试使用任务调度器。然而,任务调度程序一直试图过早地关闭我的应用程序,而它本应只打开并保持打开状态C# 在Windows服务器启动时自动运行程序,c#,vb.net,C#,Vb.net,我正在尝试在始终打开的windows服务器上安装应用程序,但遇到了问题。我听说我不应该让它成为Windows服务(我个人更希望有一个对话框应用程序,这样我就可以看到进度等),所以我尝试使用任务调度器。然而,任务调度程序一直试图过早地关闭我的应用程序,而它本应只打开并保持打开状态 有没有办法让dialog应用程序在启动时在我的服务器上运行(并保持运行)?你应该创建一个Windows服务;这是唯一可靠的方法。 否则,例如,如果用户注销,您将遇到问题 如果您想要UI,可以创建一个单独的GUI与服务通信
有没有办法让dialog应用程序在启动时在我的服务器上运行(并保持运行)?你应该创建一个Windows服务;这是唯一可靠的方法。
否则,例如,如果用户注销,您将遇到问题
如果您想要UI,可以创建一个单独的GUI与服务通信(可能使用WCF)。我更喜欢在任务计划程序中创建一个任务,并将触发器设置为“启动时”,但您也可以使用启动脚本 您还可以使用本地组策略编辑器(执行gpedit)并添加启动脚本。从中复制步骤,以便如果将其取下,仍可以在so处找到 分配计算机启动脚本的步骤
- 在脚本名称框中,键入脚本路径,或单击浏览在域控制器上的Netlogon共享文件夹中搜索脚本文件
- 在脚本参数框中,键入所需的任何参数,方法与在命令行中键入参数相同。例如,如果脚本包含名为//logo(显示横幅)和//I(交互模式)的参数,请键入//logo//I
- 的启动脚本:列出当前分配给所选组策略对象(GPO)的所有脚本。如果分配多个脚本,则将按照指定的顺序处理这些脚本。要在列表中向上移动脚本,请单击它,然后单击向上。要在列表中向下移动脚本,请单击它,然后单击向下
- 添加:打开添加脚本对话框,您可以在其中指定要使用的任何其他脚本
- 编辑:打开编辑脚本对话框,您可以在其中修改脚本信息,例如名称和参数
- 删除:从启动脚本列表中删除所选脚本
- 显示文件:显示存储在选定GPO中的脚本文件
这是一个非常古老的问题,但对于那些通过谷歌来到这里的人来说: 启动命令提示符并键入
shell:Startup
这将在Startmenu/Programs/Startup->的隐藏AppData路径中打开一个窗口,为要启动的程序添加可执行文件的快捷方式
这当然只适用于您当时使用的登录帐户
对于所有用户,键入
shell:Common Startup
您可以使用计划任务来执行此操作,而用户登录/注销时不会出现问题
我怎么还能让服务提供反馈,并能够动态地打开/关闭它?他能提供一个Windows服务,确保他的对话应用程序始终运行吗?编写一个GUI,与服务进行通信(使用WCF)并控制服务(使用
ServiceController
)。也许可以,但我建议不要这样做。首先,维护起来会更困难。@Rob:这些是为登录用户准备的。好的,我创建了一个程序,打开我的主程序,让任务调度器打开第一个程序,使它工作起来。不知何故,我不认为这是最好的方法,还有其他建议(除了提供服务)吗?这只适用于用户登录。所以,如果服务器因某种原因重新启动,在您登录之前,此任务将永远不会运行。@Max请参阅步骤3。无论用户是否登录都要运行此操作仅适用于:Windows 7、Windows 8、Windows Server 2008 R2、Windows Server 2012是的,这是2013。。。我得说它很老很好:)