2024年1月21日发(作者:)
InstallUtil
在
windows
服务中的使用
InstallUtil
在
windows
服务中的使用
1、 新建一个
Windows Service
的方法:
1.
打开
Visual Studio 2008
新建一个
project Solution
;
2.
选择
Windows->windows Service
,修改服务名称:
MyFirstService
;
3.
在默认窗口
Service1
中右键
Add Install
,自动生成两个类
4.
修改
serviceInstaller1
的属性:
a)
ServiceName =”
FirstService
”;
//设置服务名称
b)StartType = Automatic
;
//启动的模式有三种:
“自动”、“手动”、“禁用”。事实上,在“我的电脑”的“管
理”
->
“服务”中,还有一种模式: “自动(延迟启动) ”
c)
Modifiers=public
; 还有一些属性, 比如
DisplayName
对应下图中的 “显示名称” ,
ServiceName对应下图中的“服务名称”,而(Name)则对 应,这些属性都是可以进行相应的修改的
5.
设置
serviceProcessInstaller1
组件的属性
1) Account = LocalSystem; //为最大的权限此属性还包 括:
LocalService、networkService、User
(默认状态,如果使
用User,则在安装的时候需要提供用户名和密码)
详细了解该属性,可以参照:
,如需要
/zh-cn/
t(VS.90).aspx
2) Modifiers=public;
6.
成解决方案,则
在相应的路径当中就会出现
文件。
生成解决方案:选择
release模式右键生7.使用
installutil
安装新建好的
MyFirstService
,方法如下:
一、 打开
Visual Studio 2008-> Visual Studio
Tools-> Visual Studio 2008 Command Prompt
。
二、
绝对路径
)
,点击运行,
即可安装服务。
使用命令:
installutil (服务的以下有几个需要注意的问题: 第一:上述二的“服务绝对路径”犹如: 新建文件夹
testMyFirstServiceMyFirstServicebinreleaseMyFirstS
ervice
.exe,在这个地方需要注意的是:必须选择
release下生成
solution。默认是在
debug
下生成
solution。
第二: 针对
window7
用户, 在安装的过程中容易出现的几个
错误:
使用的电脑不是使用系统管理员的账号登录,则会出现下面 的错误。(我已经做过测试) ,特别是在使用
window7
的用户 特别需要注意,系统默认
system
账号是“禁用”模式。
第二种错误的可能就是服务已经存在,则会出现下面的错误
为了避免这种错误的发生,我们应该在安装服务的时候首先 进行第三步(即如果可以的话,首先卸载已存在的服务) 。
第三:用命令:
installutil /u (服务的绝对路径
),点击运行, 即可卸载服务。类似地, “服务的绝对路径”犹如: 新建文件夹
testMyFirstServiceMyFirstServicebinreleaseMyFirstS
ervice .exe。
在卸载一个服务的时候可能会出现以下两种情况:
正常情况:服务存在,而且已经启动,运行卸载,效果如下 图:
当然,如果服务存在,但未启动,则在卸载的时候不会出现 “试图停止服务”这个命令。
异常情况: 服务不存在, 或者二次卸载, 则会出现以下情况:
2、
的介绍。(这一项在网上会有很多介绍, 在这里只是做了一些简单的综述)
如要详细理解
installutil
的使用,可参照网址:
/en-us/library/50614e95(vs.71).aspx
当然,
installutil
事实上可以用于安装有
.NET
开发的所有应 用安装程序。当我们在
Visual
Studio 2008 Command Prompt
中输入命令:
installutil /h
的时候, 会打开
installutil
的所有帮 助文档,如下:
第一个为默认情况下为安装程序所在的绝对路径和安 装文件名,类似前面所提到的。而
/LogFile
则是说明如果在 安装的过程中,需
要输出相应的安装日志的时候给定的日志 文件的路径和日志文件名。当然我们最主要的是“安装”和 “卸载”命令。


发布评论