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

则是说明如果在 安装的过程中,需

要输出相应的安装日志的时候给定的日志 文件的路径和日志文件名。当然我们最主要的是“安装”和 “卸载”命令。