使用InstallUtil安装及卸载Windows服务的具体操作 Visual Studio 2012版本

关于Visual Studio 2012中使用InstallUtil对Windows服务进行安装与卸载的文章,在MSDN中的http://msdn.microsoft.com/en-us/library/sd8zc8ha.aspx 有介绍,不过这个介绍还是有一些笼统,具体操作性不强,下面给出详细的操作办法:

  1. 点击左下角的开始按钮,按如下顺序“开始 - Visual Studio 2012 - Visual Studio Tools - Developer Command Prompt  for VS2012”,打开一个命令窗口(不要使用传统的cmd方式打开普通DOS窗口)
  2. 在这个命令窗口中以管理员身份进入运行,具体命令是: runas /user:Administrator cmd  注意其中Administrator是具体的用户名,如果你当前的用户名是管理员身份,但用户名是Myname,就以Myname替换Administrator
  3. 该命令执行后,提示输入该用户名的密码,按要求输入(此时界面类似Linux,输入的密码无任何显示)
  4. 密码输入正确后,新开一个cmd窗口,标题是cmd(作为Myname运行)
  5. 进入创建好的服务应用目录(一般是在bin\Debug下),输入命令: installutil.exe Myservice.exe 如果安装成功,则直接显示命令提示符,没有任何信息;如果安装不成功,则会有信息出现(安装不成功下面讨论);
  6. 右击“我的电脑 - 管理 - (左栏)服务和应用程序 - 服务”,可以找到服务“Myservice”,该服务只是安装上,并没有启动,双击该服务打开属性窗口,点击启动即可

以上是一切顺利的情况下安装步骤,但实际上,很少有人可以一次安装成功,笔者也是半天功夫才安装成功。

安装失败经常出现的问题是:

1、找不到InstallUtil.exe,这个文件在.NET安装文件目录之Framework目录下,由于是使用VS2012制作的Windows服务,建议采用V4.0.xxxxxx下的InstallUtil.exe,可以直接将这个文件复制到服务文件的目录内,这样使用cmd窗口操作方便(注:低版本的InstallUtil.exe,比如v2.0.xxxxxx目录下的同名文件,在试用时也可以安装与卸载);

2、InstallUtil.exe可以单独运行,即不带参数时可以运行并显示相应的操作帮助,但如果该命令后带服务应用名进行安装时,即使用 installutil.exe Myservice.exe 命令时,安装失败,失败信息其中一条是:

An exception occurred during the Install phase.

System.Security.SecurityException: The source was not found, but some or all event logs could not be searched.  Inaccessible logs: Security.

这条信息可以在cmd窗口中看到,也可以在服务目录中的InstallUtil.InstallLog日志文件中看到(使用记事本打开它),可以看出是由于安全原因无法访问源文件。

其实质问题仍然是权限不够。虽然我们以管理员身份打开了VS2012的cmd窗口,但文件InstallUtil和服务文件Myservice不是以管理员身份运行的,解决办法是:在资源管理器中右击InstallUtil.exe文件,单击属性,在打开的属性窗口的"兼容性"标签,勾选特权等级下的“以管理员身份运行此程序”,确定退出;以同样的方法操作服务文件Myservice。完成上述工作,重新执行上述步骤的第5步,即安装成功。

卸载Windows服务,使用/u参数即可。命令为:

installutil /u Myservice.exe

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值