2013-01-24 226 views
11

我開發一個窗口應用程序,我也創建一個服務。我開始在窗口應用程序中使用編碼的服務,但我得到一個錯誤,如無法在計算機上打開窗口服務'.'無法打開計算機上的窗口服務'。'在窗口應用程序

我已經使用下面的代碼。

ServiceController controller = new ServiceController("SeoMozScheduleService"); 

if (controller.Status == ServiceControllerStatus.Stopped) 
{ 
    controller.Start(); 
} 

如果我的應用程序點擊右鍵,點擊以管理員身份運行比它工作正常,我...

+1

如果您發佈的實際消息,而不是錯誤「喜歡」的消息,這將有助於。 ''有時可以用來表示本地機器。 –

+1

什麼是* actual *錯誤信息? –

+0

您能否正常啓動服務? – PhoenixReborn

回答

9

轉到 C://程序文件/ ApplicationFolder/.EXE 右擊.exe並轉到屬性,然後轉到兼容性選項卡,並選中true以管理員級別運行本程序。

+8

我沒有足夠的聲譽downvote所以我就在這裏評論,並說,提升權限是解決方案從來沒有正確的解決方案,因爲你的用戶可能沒有管理員權限 – Tsury

+1

我作爲管理員在控制檯中運行它,以及作爲管理員的服務......並且服務確實安裝了,但是直到我設置了該屬性才啓動。哇,這是一種解脫!謝謝! – Jaider

+0

我同意賈德。有很多用戶不參與的服務器情況,但自動化任務正在單個用戶下運行。這是stackoverflow之美的一部分 - 多種答案,其中之一在您的環境中可能效果最佳。 – Jeff

3

如果您使用的Visual Studio然後將其關閉,並運行重新打開Visual sudio它作爲管理員

15

爲了使這個自動每次你打開,你必須add a manifest file到解決方案的應用時間,然後更新requestedExecutionLevel節點裏面的文件是這樣的:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 
</requestedPrivileges> 

但是,更改此設置將導致系統中的每個如果啓用UAC以管理員身份運行應用程序時提示您。在app.conf到安裝在系統上的版本

+1

這不適合我。只需以管理員身份運行Visual Studio或可執行文件即可解決問題。 –

0

Framework版本改變固定我的問題。

1

我就遇上了這樣一個服務器上的計劃任務 - 勾選「使用最高權限運行」解決了這個問題。 (該服務帳戶必須具有當然的管理員權限這一工作。)

1

這些解決方案幫助了我,因爲這將有助於如果我實際上已確保我有在目標計算機上的管理員訪問第一!我拿走了我的域管理員帳戶,並讓管理員訪問我的主帳戶。當我運行一些ServiceController代碼來檢查服務是否在遠程計算機上運行時,在域管理員帳戶下,一切正常。當我將它作爲我的主要帳戶時,即使它不起作用 - 即使以管理員身份運行Visual Studio也是如此。事實證明,我一直在測試沒有我的主要帳戶在本地管理組... ...噢!

相關問題