![](/img/trans.png)
[英]Can't debug Windows Service if it's installed by Visual Studio Installer
[英]How can I install a windows service onto a machine that doesn't have Visual Studio installed?
安裝Windows服務的唯一方法我知道是使用“ Visual Studio 2008命令提示符 ”,有沒有辦法在沒有安裝Visual Studio的機器上安裝windows-service(假設.Net版本2.X是安裝。)
你可以使用位於.net框架文件夾中的installUtil
(在我的機器上它是C:\\ Windows \\ Microsoft.NET \\ Framework \\ v2.0.50727)。
您可以將Windows服務安裝為MSI。 將MSI創建為附加到服務項目的普通項目。
在您的服務項目中創建安裝程序類並添加組件serviceInstaller和serviceProcessInstaller並根據需要進行配置。 將項目輸出從服務項目添加到MSI項目,將安裝,提交,回滾和卸載的MSI項目的自定義操作設置為服務項目的輸出。
根據需要以任何其他方式更改MSI項目,構建MSI,然后您就可以將服務安裝到任何沒有VS.NET的Windows計算機或使用InstallUtil實用程序應用程序。 MSI還將處理卸載等。
serviceProcessInstaller組件的屬性可以為Account運行Service而設置,serviceInstaller包含可以設置的屬性,例如Service Name。 您必須設置ServiceName及其Parent,MSDN將提供有關如何使用這兩個組件的良好信息。
相關的MSDN頁面: http : //msdn.microsoft.com/en-us/library/sd8zc8ha%28VS.80%29.aspx
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil.exe yourproject.exe
您無需安裝Visual Studio即可使用。
是的, installutil.exe
運行良好,但我厭倦了必須記住啟動Visual Studio 2008命令提示符才能使用它。 總是,我打開一個普通的控制台只是為了意識到installutil.exe
位置不是路徑的一部分。
幸運的是, installutil.exe
是一組反射調用的包裝器。 來自MSDN,
Installutil.exe
使用反射檢查指定的程序集,並查找RunInstallerAttribute
設置為true的所有Installer
類型。 然后,該工具在Installer
類型的每個實例上執行Install Method或Uninstall Method。
這意味着可以向Windows服務添加代碼以使其自行安裝和卸載。 通過這樣做,我不再需要installutil.exe
或Visual Studio 2008命令提示符來運行它。
我已經提供了如何在此處執行此操作的分步指南。 -install
選項安裝Windows服務並啟動它。 相反, -uninstall
選項會停止服務並將其卸載。
使用visual studio命令提示符:
installutil /i fullfilepathtoservice.exe
沒有visual studio命令提示符:
C:\WINNT\Microsoft.NET\Framework\v1.1.4322 installutil /i fullfilepathtoservice.exe
HTH。
打開命令提示符(cmd)並鍵入
幫助sc
和
sc創造
另外,您可能正在談論的installutil.exe實際上只是在.Net Framework目錄中。 VS的命令提示符只是設置了一個很好的路徑,但你可以從(我的路徑)C:\\ Windows \\ Microsoft.NET \\ Framework \\ v2.0.50727啟動它就好了。
您不需要Visual Studio 2008命令提示符。 您需要可以在其中找到的InstallUtil.exe程序
C:\\ WINDOWS \\ Microsoft.NET \\框架\\ V2.0.50727
在x64機器上還有一個64位版本
C:\\ WINDOWS \\ Microsoft.NET \\ Framework64 \\ V2.0.50727
這些目錄顯然僅在安裝.NET時可用。
所有這一切都是將.Net框架工具放到PATH上; 你可以繼續使用: C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\InstallUtil.exe
通過在正常命令提示符上指定完整路徑(顯然調整你的框架/ CPU架構)
我想你正在尋找“installutil.exe”程序,用於安裝.NET Windows服務。 您可以在%windir%\\ Microsoft.NET \\ Framework \\ v2.0.50727中找到它
步驟1>安裝.net框架(我使用的是.net 4.0,但您可以根據需要使用)
步驟2>轉到run + cmd
然后單擊確定或直接轉到窗口命令提示符(不是visual studio命令提示符)
第3步>鍵入這些行
> cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe
> E:\test\test\bin\Debug\test.exe
E:\\test\\test\\bin\\Debug\\
是保存窗口服務設置的路徑
C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\
是InstallUtil.exe存在的路徑。
在兩個InstallUtil.exe中都存在。 和路徑必須給一個空間。 否則,它會引發錯誤。
步驟4>享受..您的服務已安裝...現在您可以從控制面板>管理工具>服務進行檢查。
以管理員身份運行CMD
去
C:\\ WINDOWS \\ Microsoft.NET \\ Framework64 \\ v4.0.30319>
運行以下:
InstallUtil C:\\ Dev \\ Codebase .. \\ Main \\ Source .... \\ bin \\ Debug \\ .exe
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.