使任何程序都可以成为服务运行

2009年4月30日星期四

通过普通方法添加到启动菜单的程序,必须在启动时输入用户名密码进入操作系统后才能够被计算机正常加载.但某些时候我们希望计算机启动后在登陆前就自动运行某些程序,这时候就须要使这些程序成为服务才能够达成这样的目的.

接下来需要用到的是微软的两个小工具。instsrv.exe和srvany.exe
微软对instsrv.exe的官方说明如下:
Installs and uninstalls executable services and assigns names to them. 也就是个加载services的小东东。

其用法如下:instsrv (这里的srvany path也就是工具srvany.exe的路径了)
解释下,srvany.exe是微软出的用于将一个程序注册为一个服务的小程序。它可以实现讲任何程序设置成服务启动。

解释完毕,现在来实际的操作了吧:我在一台服务器上安装了VM虚拟机,由于这个虚拟机的系统主要用来作为公司打印服务器。我需要在没有登陆前就能够自动运行这个虚拟机,那么如果我不在公司由其他员工带为开机时就不需要开机进入系统后打开虚拟机也能够正常使用打印服务了。

1.讲所需要的工具instsrv.exe和srvany.exe放在一个文件夹内,在这我放在d:\tools中吧。

2.需要使VMWARE自动启动.先需要了解vmware.exe的安装路径,例:D:\VMware Workstation\vmware.exe
要启动的虚拟机配置文件路径,我的2003虚拟机的配置文件windows2003.vmx的路径是D:\vmare\windows2003\windows server 2003.vmx

3.新建服务

假设服务名为vm_autostart,所以我的命令行是:

instsrv VM_AutoStart D:\tools\srvany.exe

4.注册服务

在注册表中,定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vm_autostart
新建项:"Parameters"
在"Parameters"项里面,新建字符串"Application",
字符串的值:
"D:\VMware Workstation\vmware.exe" -x "D:\vmare\windows2003\windows server 2003.vmx"

(如果你想要开机加载两个虚拟机系统,只需要在其后再添加一个虚拟机配置文件路径即可)

5.设置虚拟机启动状态

管理工具-服务,选择vm_autostart的属性-登录,选中“本地系统帐户”,并勾选“允许服务与桌面交互”。

6.重启一下计算机,测试成功。

0 评论: