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

首先用.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这个服务结束就行了,因为它只是起了一个过渡的作用,为服务器省要一点资源。