使用BAT安装 Windows Service
脚本如下:
@echo off
@setlocal enableextensions @cd /d "%~dp0"
set InstallPath=C:\DBoxService\Server set UtilToolPath=C:\Windows\Microsoft.NET\Framework\v2.0.50727
echo Local installation folder - %InstallPath%
IF NOT EXIST "%InstallPath%" ( MKDIR "%InstallPath%" ECHO Folder %InstallPath% created )
IF EXIST "%InstallPath%\DropboxWindowsService.exe" ( %UtilToolPath%\InstallUtil.exe "%InstallPath%\DropboxWindowsService.exe" /u ECHO Unregistered Service: %InstallPath%\DropboxWindowsService.exe )
echo Start to copy files to service folder
copy DropboxWindowsService.exe "%InstallPath%" copy DropboxWindowsService.exe.config "%InstallPath%" copy DropboxCore.dll "%InstallPath%" copy log4net.dll "%InstallPath%"
ECHO Program files copied to %InstallPath%
%UtilToolPath%\InstallUtil.exe "%InstallPath%\DropboxWindowsService.exe" ECHO Registered Service (%InstallPath%\DropboxWindowsService.exe)
net start DropboxWindowsService
ECHO DropBox Windows Service Installed on Server Successfully!
pause
其中出现过错误:
Uninstalling assembly ‘C:\DBoxService\Server\DropboxWindowsService.exe‘.
Affected parameters are:
logtoconsole =
assemblypath = C:\DBoxService\Server\DropboxWindowsService.exe
logfile = C:\DBoxService\Server\DropboxWindowsService.InstallLog
An exception occurred while trying to find the installers in the C:\DBoxService\Server\DropboxWindowsService.exe assembly.
System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
Aborting installation for C:\DBoxService\Server\DropboxWindowsService.exe.
Installing assembly ‘C:\DBoxService\Server\DropboxWindowsService.exe‘.
出现这个错误的原因是项目中引用的DLL名称变了,而安装包里面的DLL没有跟着改变,造成了上面的错误。