Dot-Net
用於安裝或解除安裝 .NET Windows 服務的批處理腳本
我沒有編寫批處理腳本的經驗,但我想知道是否有辦法
installutil.exe使用這樣的腳本安裝 .NET Windows 服務,或者如果已經安裝了該服務,則解除安裝該服務,理想情況下,我確實會進行某種確認喜歡執行解除安裝(例如按 y 解除安裝)。以下是一些細節:
- 服務的 .exe 位於
C:\Program Files\Data Service目錄中- 該腳本應與服務的 .exe 位於同一目錄中
- 安裝服務後,最好在日誌文件中添加一個簡單的行(我們將呼叫它
program.log,也在此目錄中)- 機器正在執行 Windows Server 2003,預設目錄中安裝了 .NET Framework
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727如果您覺得這可以以更好的方式完成,那麼很高興聽到其他建議。我總是可以編寫服務安裝程序,但這不是優先事項。
您可以使用命令行參數(-i -u 等)設置您的服務 exe 以支持自我註冊/註銷,而不是編寫批處理文件來做同樣的事情。
有關在 .NET 中創建自安裝服務的資訊
<http://anotherlab.rajapet.net/2006/06/self-installing-services-in-net.html>
<http://www.gotnet.biz/WindowsServiceSelfInstaller.ashx>
此外,將安裝項目添加到您的解決方案並讓 Visual Studio 建構安裝包可能會更快。
如何在 Visual Basic .NET 或 Visual Basic 2005 中為 Windows 服務創建安裝項目
(VB) <http://support.microsoft.com/kb/317421>
(C#) <http://support.microsoft.com/kb/816169>
這是我用來安裝的批處理文件。
@ECHO OFF REM The following directory is for .NET 2.0 set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v2.0.50727 set PATH=%PATH%;%DOTNETFX2% echo Installing MyService... echo --------------------------------------------------- InstallUtil /i MyService.exe echo --------------------------------------------------- echo Done. pause要解除安裝我使用了以下內容:
@ECHO OFF REM The following directory is for .NET 2.0 set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v2.0.50727 set PATH=%PATH%;%DOTNETFX2% echo Uninstalling MyService... echo --------------------------------------------------- InstallUtil /u MyService.exe echo --------------------------------------------------- echo Done