2016-10-03 33 views
-1

我已經創建了一個基於控制檯的應用程序並運行正常,並將相同的應用程序轉換爲Windows服務。當我通過Visual Studio安裝它來調試它的安裝並且順利運行時,但是當代碼流將app.config文件值0更改爲1時,它將引發異常UnauthorizedAccessException'並且拒絕訪問。在Windows中安裝後沒有寫入文本文件的Windows服務

+1

WindowsService進程將運行在與可能運行Visual Studio的帳戶不同的帳戶下。 – sachin

+1

是的,@sachin是對的。轉到START->服務查看您的服務列表並找到您的應用程序。看看用戶是什麼。也許改變用戶或授予他額外的權利。 –

回答

1

問題可以是下列兩個原因導致的:

  • 如果不使用絕對路徑訪問文件,該服務可能會在除了你之外的其他位置尋找文件正在期待。

    服務是由被稱爲服務控制
    Manager的應用程序啓動。此應用程序住在系統目錄 %WINDIR%\ SYSTEM32

    在Windows 7旗艦版 - 64位,這條路居然是:%WINDIR%\ Syswow64資料

  • 的WindowsService過程可能從下運行的Visual Studio可能運行在不同 之下的帳戶運行的是

    您可以使服務在已具有該文件許可權的帳戶下運行,也可以授予該服務已在其下運行的帳戶的權限。

+0

非常感謝你們的反饋,我的問題已經解決了...... –

+0

哪一個問題? – sachin

+0

U表示「WindowsService進程將運行在不同於Visual Studio可能運行的帳戶下」這是問題 –

相關問題