InstallUtil.exe的使用
最近在项目中使用到了Windows服务,之前对这一块儿不是很了解,经过这个项目对Windows服务有所了解,下面主要讲解一下Windows服务的安装和卸载。
安装和卸载主要使用的是.NET提供的InstallUtil.exe这个文件,下面是使用InstallUtil.exe这个文件的一些常用参数:
可以看到,卸载使用的是-u参数。
安装一个Windows服务的命令:
InstallUtil.exe E:\PGSApp\PGS.DeadQRecover.Service.Installer\PGS.DeadQRecover.Service.exe
卸载一个Windows服务的命令:
InstallUtil.exe -u E:\PGSApp\PGS.DeadQRecover.Service.Installer\PGS.DeadQRecover.Service.exe
当时项目的任务是把一个APP从.NET 2.0升级到.NET 4.0,可是在卸载和安装的时候均出现了如下错误:
后来经过一番研究才发现问题所在:Windows服务的安装和卸载需要严格的检测InstallUtil.exe 的版本。如下面的表格所示,我的电脑是64位机,安装了.NET 2.0和.NET 4.0,于是InstallUtil.exe有如下四个版本:
|
Framework |
Framework64 |
v2.0.50727 |
|
|
v4.0.30319 |
|
|
就是说,你安装的时候使用的是Framework & v2.0.50727,你卸载的时候使用Framework& v4.0.30319 可能就会报错,不同的Framework版本和不同的.NET版本都会导致此错误。
所以,我这次升级.NET 版本正确的命令应该如下:
安装:
C:\Windows\Microsoft.NET\Framework64\v2.0.50727>
InstallUtil.exe -u E:\PGSApp\PGS.DeadQRecover.Service.Installer\PGS.DeadQRecover.Service.exe
卸载:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>
InstallUtil.exe E:\PGSApp\PGS.DeadQRecover.Service.Installer\PGS.DeadQRecover.Service.exe
最后,还有就是要学会看Windows Event Viewer,通过这里可以找到此次安装Windows服务发生的错误,进行分析,然后找到问题所在。
自己也是正在学习中,希望能够和大家一起分享,一起进步。