`

C#Windows 服务制作安装删除. 用户注销后,程序继续运行

阅读更多
  最近写了一个程序,需要在服务器上运行,编完了以后,到服务器运行,发现,用远程登陆打开这个程序,没有问题,可是过了十分钟,远程服务器自动注销了,程序也就终止。这样,程序就不能正常工作。想了一天多的办法,终于在今天把这个问题解决了。

首先用.net写个服务

             新建一个服务,在设计页面上点右键,出现菜单后,选择添加安装程序。这时会出现一个新的页面,页面上有个控件 serviceProcessInstaller1和serviceInstaller1

在 serviceProcessInstaller1中把属性Account改为LocalSystem

在把serviceInstaller1中把属性Parent 改为serviceProcessInstaller1    ServiceName属性是管生成服务后的名子(设名子为gogo)

把这个控件的属性改完以后。回到新建的服务页的后台,添加以下代码:

Process p = new Process();
            p.StartInfo.FileName = "程序的路径和文件名";
            p.Start();

添加完成之后,生成一下(假设名为W2.exe)。到相应的文件夹找到生成的exe文件,找到时会发现有两个.exe用名子比较短的那个。把这个文件拷到一个好记的文件夹中如F盘根目录。

这时就是要把个服务安装一下。进入cmd中的画面,进入Framework2.0的文件如:

cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

后在打

InstallUtil  f:\w2.exe   这个就安装了服务 卸载服务是 InstallUtil  f:\w2.exe  -u

现在就剩启动服务了

net start gogo  这样这个服务就启动,这个服务打开了,我就运行的程序,打开我所需要程序是用以系统用户打开的,这样就不会因注销用户而结束我需要的程序,这时在把gogo这个服务结束就行了,因为它只是起了一个过渡的作用,为服务器省要一点资源。
分享到:
评论
1 楼 darkgost 2012-07-12  
您好,我按照你的方法,在Service1.cs中添加如下代码:
protected override void OnStart(string[] args)
        {
            Process p = new Process();
            p.StartInfo.FileName = "D:\\helloworld.exe";
            p.Start();
        }

由于helloworld.exe(功能:启动后会在一定时间将字符串“Helloworld”写入指定文件,并在界面显示)是winform程序,我在任务管理器中看到了该程序的进程,但程序并没有执行?请问是什么原因造成的呢?

相关推荐

    C#程序开发范例宝典(第2版).part08

    实例093 程序运行时智能增减控件 134 实例094 多控件的焦点循环移动 136 实例095 动态创建控件 138 实例096 在Button按钮上绘图 138 2.11 焦点变换与输入控制 140 实例097 按回车键焦点在控件中移动的录入窗口 ...

    C#程序开发范例宝典(第2版).part12

    实例093 程序运行时智能增减控件 134 实例094 多控件的焦点循环移动 136 实例095 动态创建控件 138 实例096 在Button按钮上绘图 138 2.11 焦点变换与输入控制 140 实例097 按回车键焦点在控件中移动的录入窗口 ...

    C#程序开发范例宝典(第2版).part02

    实例093 程序运行时智能增减控件 134 实例094 多控件的焦点循环移动 136 实例095 动态创建控件 138 实例096 在Button按钮上绘图 138 2.11 焦点变换与输入控制 140 实例097 按回车键焦点在控件中移动的录入窗口 ...

    C#类库查询手册

    - **SystemEvents类**:提供了对系统级事件的监听和响应,如开机、关机和用户登录/注销,适用于开发系统级应用和服务。 - **TimerElapsedEventArgs类**:当计时器事件触发时提供的参数,包含事件发生的时间信息,常...

    C#程序开发范例宝典(第2版).part13

    实例093 程序运行时智能增减控件 134 实例094 多控件的焦点循环移动 136 实例095 动态创建控件 138 实例096 在Button按钮上绘图 138 2.11 焦点变换与输入控制 140 实例097 按回车键焦点在控件中移动的录入窗口 ...

    C#.net_经典编程例子400个

    316 7.10 程序运行 317 实例227 防止程序多次运行 317 实例228 开机后程序自动运行 319 实例229 获取任务栏尺寸大小 320 实例230 改变系统提示信息 321 实例231 获取系统环境变量 322...

    C#类库查询手册(护眼绿豆沙底色版)

    例如,可以使用此类来启动、停止或重启ASP.NET服务,检查当前正在运行的应用程序,以及获取有关运行时状态的详细信息。这对于开发人员和系统管理员来说,是在部署和维护ASP.NET应用程序时不可或缺的功能组件。 ### ...

    c#图书管理系统付数据库

    - **安装包制作**:打包应用程序,以便在其他计算机上安装和运行。 - **数据库迁移**:确保数据库文件随应用程序一起部署,并能正确连接。 8. **学习资源** - **官方文档**:Microsoft提供的C#和ADO.NET官方文档...

    C#编程经验技巧宝典

    4 <br>0009 设置Windows应用程序启动窗体 5 <br>0010 设置Web应用程序起始页 5 <br>0011 如何设置程序的出错窗口 5 <br>0012 如何进行程序调试 6 <br>0013 如何结束不能正常运行的程序 ...

Global site tag (gtag.js) - Google Analytics