2010-08-31 219 views
7

我有一個批處理文件,我一直用它來安裝我的C#Windows服務一段時間,直到Windows 7都沒有問題。我試圖用管理員權限運行該批處理文件。我試圖用管理權限運行命令提示符,導航到Windows服務EXE並在那裏運行InstallUtil。仍然不起作用。在Windows上安裝C#Windows服務7

在閱讀了一些其他建議後,我嘗試將我的文件移出/ bin文件夾,並從另一個位置運行它們,但那也不起作用。

批處理文件看起來像這樣

@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 IEPPAMS Win Service... 
echo --------------------------------------------------- 
InstallUtil /i IEPPAMS_WinService1.exe 
echo --------------------------------------------------- 
echo Done. 

,我有一個安裝,我轉儲信息的日誌文件。如果我只是雙擊我收到的.bat文件

運行事務安裝。

開始安裝 的安裝階段。請參閱 日誌文件的內容以獲取C:\ Users \ Justin \ Desktop \ 測試\ IEPPAMS_WinService1.exe 程序集的進度。該文件是 位於 C:\ Users \ Justin \ Desktop \ service test \ IEPPAMS_WinService1.InstallLog。

安裝階段發生異常。 System.InvalidOperationException: 無法在 計算機'。'上打開服務控制管理器。此操作可能需要其他權限 。內部 異常 系統.ComponentModel.Win32Exception異常 與以下錯誤 消息:訪問被拒絕。

安裝 的回滾階段開始。請參閱 日誌文件的內容以獲取C:\ Users \ Justin \ Desktop \ 測試\ IEPPAMS_WinService1.exe 程序集的進度。該文件是 位於 C:\ Users \ Justin \ Desktop \ service test \ IEPPAMS_WinService1.InstallLog。

成功回滾階段完成 。

交易安裝已完成。

當我用admin權限運行.bat文件時,沒有任何內容寫入日誌文件,並且服務仍未安裝。

有什麼想法?有沒有新的方式在Windows 7中安裝服務?

回答

8

所以我能夠通過在命令行中鍵入InstallUtil的整個路徑來解決問題,並且它工作正常。所以,導航到了我的EXE文件夾後,我輸入以下內容:

C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.21006 \ installutil.exe IEPPAMS_WinService1.exe

不當然,爲什麼我必須在Windows 7中做到這一點,當時我從來不需要在XP中,但是哦。感謝所有的建議!

+1

我期待着在這裏做同樣的事情。我只是注意到,你的'修復'在這裏使用.NET 4.0目錄中的installutil.exe。在您原來的問題中,您使用.NET 2.0進行安裝。 (設置DOTNETFX2 =%SystemRoot%\ Microsoft.NET \ Framework \ v2.0.50727) – 2011-09-19 12:20:35

+0

優秀點。我感覺當我正在嘗試使用.NET 4.0的時候,這並沒有成功。然後,當我走到完整的道路,它確實工作。沒有回去嘗試2.0的完整路徑,這是幾個月前,所以我可能會記住錯誤。 – 2011-09-19 15:16:19

+0

是的,這是答案!這花了我一個男人一天! – 2011-12-15 20:46:45

11

右鍵單擊批處理文件並以管理員身份運行。

您很可能與Windows Vista和Windows 7中的新安全模型(用戶帳戶控制)競爭。即使您作爲擁有管理權限的帳戶運行,您仍然需要提升以執行一些操作(大部分)行政活動。(是的,它可以禁用此功能,但沒有)

編輯...正確命令行是InstallUtil YourApp.exe/i看起來不是InstallUtil的vaild開關。

+0

馬修,謝謝,但我試過。結果在我的問題結尾處進行了描述。 – 2010-08-31 19:04:29

+0

@Justin,嘗試啓動命令窗口作爲管理員,然後嘗試手動發佈命令。這看起來像是一個權限問題,但沒有坐在你的機器上,很難猜測出什麼權限導致了這個問題。 – 2010-08-31 19:17:48

+1

順便說一句,你有沒有嘗試尋找該日誌文件? – 2010-08-31 19:18:40

3

當我用admin權限運行.bat文件時,沒有任何內容寫入日誌文件,並且服務仍未安裝。

首先,您必須以管理員權限運行。其次,當你以「以管理員身份運行」時,它實際上將目錄改爲c:\ windows \ system32作爲初始目錄(不知道爲什麼),這可能會解釋爲什麼以admin身份運行不會導致日誌文件。手動更改爲路徑IEPPAMS_WinService1.exe駐留在腳本的開始處。