关于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窗口操作方便;

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

使用InstallUtil安装及卸载Windows服务的具体操作 Visual Studio 2012版本的更多相关文章

  1. C# 远程服务器 安装、卸载 Windows 服务,读取远程注册表,关闭杀掉远程进程

    这里安装windows服务我们用sc命令,这里需要远程服务器IP,服务名称.显示名称.描述以及执行文件,安装后需要验证服务是否安装成功,验证方法可以直接调用ServiceController来查询服务 ...

  2. 批处理文件安装与卸载Windows服务

    //安装Windows服务 将RECPost.exe和RECPostService替换成自己的项目名称和服务名称,并将文件保存成bat格式.其中%cd%是获取相对路径 @echo off set fi ...

  3. 安装和卸载windows服务 bat

    1. 安装 windows服务 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\installutil    [服务路径](例:C:\\test\myt ...

  4. 如何安装Python环境以及为Visual Studio 2012安装Python插件

    (一)首先,我机器上的开发环境安装的是Visual Studio 2012版本,系统为window7,64位,要安装的Python版本为python3.4-x64,双击安装包安装Python环境,需要 ...

  5. 用命令 安装/卸载 windows服务(转)

    第一种方法: 1. 开始 ->运行 ->cmd 2. cd到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727(Framework版本号按IIS配置 ...

  6. 使用InstallUtil安装或卸载服务

    使用InstallUtil安装或卸载服务 一.安装服务: C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe D:\MyServ ...

  7. 二种方法安装卸载Windows服务的命令

    第一种方法:通过Dos命令安装系统服务1. 开始 运行输入 cmd 进入dos窗口2. cd命令进入到C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727目录下, ...

  8. C# 创建、安装和卸载Windows服务程序

    1.新建一个windows服务程序. 2.点击这个服务类,从工具箱中加入一个Timer控件,右键这个Timer控件 命名为 timerOrderDeductionDetailJob,Enable设为T ...

  9. 安装和卸载windows程序

    安装windows service通常有两种工具 1.Framework目录下的installutil.exe工具.2.visual studio命令行工具 在这里我要说的是当我们使用的系统是64位的 ...

随机推荐

  1. serialVersionUID的作用以及IDEA、Eclipse如何自动生成serialVersionUID

    说到serialVersionUID,首先要讲讲序列化. 序列化: 序列化可以将一个java对象以二进制流的方式在网络中传输并且可以被持久化到数据库.文件系统中,反序列化则是可以把之前持久化在数据库或 ...

  2. Nginx搭建后,图片存储在Tomcat上,前端无法回显图片问题

    一.Nginx与Tomcat连接搭建的环境,Nginx设置了前端的访问路径为 (1)前端代码配置: root /usr/local/nginx/html; index index.html index ...

  3. mysql 字段名是关键字 报错

    DROP TABLE IF EXISTS `bas_dictionary`; CREATE TABLE `bas_dictionary` ( `id` ) NOT NULL AUTO_INCREMEN ...

  4. Apache配置伪静态

    Apache配置伪静态 注意:本文中关于Apache的配置修改,一定要记得重启Apache服务 伪静态的实现有多种方法,比如通过获取path_info信息使用php逻辑来达到伪静态,使用Apache提 ...

  5. 从Objective-C到Swift,你必须会的(四)DLog

    调试的时候打断点太慢,所以输出log就是一个很好的选择了.断点,一行一行的按,太麻烦了.从log里一条一条的看,很快就可以找到到哪个函数的哪个地方这个代码就没执行了.这里不详细讨论调试技巧的事.不过大 ...

  6. HDU1875 畅通工程再续 2017-04-12 19:52 48人阅读 评论(0) 收藏

    畅通工程再续 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submis ...

  7. Activity ViewPager Fragment框架的生命周期

    1.Fragment的生命周期函数 onAttach.onCreate.onCreateView.onViewCreated.onActivityCreated.onStart.onResume.on ...

  8. 使用MATLAB一键制作mif文件

    本文档主要讲解实现一个16384(2^14)点的14位正弦波数据mif格式文件的生成,使用此文件,我们便可以在FPGA上基于直接数字合成(DDS)原理生成标准的正弦波,即实现信号发生器的功能.关于DD ...

  9. SQLServer中数据加密方法

    对SQLServer中的数据进行加密,有三种方法, 1.  在程序语言中先对数据进行加密后再把加密后的数据保存在SQLServer数据库中: 2.  利用SQLServer未公开的加密密码函数,在SQ ...

  10. 原创:MVC 5 实例教程(MvcMovieStore 新概念版:mvc5.0,EF6.01) - 2、数据框架 和 功能预览

    说明:MvcMovieStore项目已经发布上线,想了解最新版本功能请登录 MVC 影视(MvcMovie.cn) 进行查阅.如需转载,请注明出处:http://www.cnblogs.com/Dod ...