转载自:http://www.cnblogs.com/gfwei/archive/2009/01/16/889878.html
原作者:孤峰皓月
一个程序,需要在服务器上运行,编完了以后,到服务器运行,发现,用远程登陆打开这个程序,没有问题,可是过了十分钟,远程服务器自动注销了,程序也就终止。这样,程序就不能正常工作。想了一天多的办法,终于在今天把这个问题解决了。
首先用.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这个服务结束就行了,因为它只是起了一个过渡的作用,为服务器省要一点资源。