在Windows Server启动时自动运行程序

时间:2011-05-13 02:15:33

标签: c# vb.net

嘿伙计们,我正在尝试在总是打开的Windows服务器上安装应用程序,但我遇到了问题。我听说我不应该把它变成一个Windows服务(而且个人宁愿有一个对话框应用程序,所以我可以看到进度等)所以我正在尝试使用任务调度程序。但是,任务计划程序不断尝试关闭我的应用程序,因为它应该只打开它并保持打开状态。

如何在我的服务器上启动(并保持运行)运行对话框应用程序?

谢谢

4 个答案:

答案 0 :(得分:8)

您应该制作Windows服务;这是唯一可行的方法。
否则,如果用户注销,则会遇到问题。

如果您需要UI,您可以创建一个与服务通信的单独GUI(可能使用WCF)。

答案 1 :(得分:3)

我更喜欢在任务计划程序中创建一个任务,并将触发器设置为“On Startup”,但您也可以使用Startup Scripts。

您还可以使用本地组策略编辑器(执行gpedit)并添加启动脚本。复制http://technet.microsoft.com/en-us/library/cc770556.aspx中的步骤,这样如果他们将其删除,仍然可以在SO找到。

分配计算机启动脚本

  1. 打开本地组策略编辑器。
  2. 在控制台树中,单击脚本(启动/关闭)。路径为计算机配置\ Windows设置\脚本(启动/关闭)
  3. 在结果窗格中,双击启动
  4. 启动属性对话框中,点击添加
  5. 添加脚本对话框中,执行以下操作:
    • 脚本名称框中,键入脚本的路径,或单击浏览以在域控制器上的Netlogon共享文件夹中搜索脚本文件。 / LI>
    • 脚本参数框中,键入所需的任何参数,方法与在命令行中键入它们的方式相同。例如,如果您的脚本包含名为//徽标(显示横幅)和// I(交互模式)的参数,请键入 //徽标//我
  6. 启动属性对话框中,指定所需的选项:
    • <组策略对象> 的启动脚本:列出当前分配给所选组策略对象(GPO)的所有脚本。如果分配多个脚本,则按照指定的顺序处理脚本。要在列表中移动脚本,请单击该脚本,然后单击向上。要在列表中向下移动脚本,请单击该脚本,然后单击向下
    • 添加:打开添加脚本对话框,您可以在其中指定要使用的任何其他脚本。
    • 修改:打开编辑脚本对话框,您可以在其中修改脚本信息,例如名称和参数。
    • 删除:从启动脚本列表中删除所选脚本。
    • 显示文件:显示存储在所选GPO中的脚本文件。

答案 2 :(得分:1)

您可以使用计划任务执行此操作,该任务不会在用户登录/注销时出现问题。

  1. 打开任务计划程序, Windows密钥 + R
  2.   

    Taskschd.msc

    1. 点击操作菜单>创建任务
    2. enter image description here

      1. 将用户更改为管理员或最好是服务帐户
      2. enter image description here

        1. 设置登录时
        2. enter image description here

          1. 设置程序以启动:
          2. enter image description here

答案 3 :(得分:0)

这是一个非常古老的问题,但对于那些通过Google来到这里的人来说:

启动命令提示符

键入shell:启动

这将在Startmenu / Programs / Startup的其他隐藏的AppData路径中打开一个窗口 - >为要启动的程序的可执行文件添加快捷方式。

这当然只适用于您当时使用的登录帐户。

对于所有用户键入shell:Common Startup