2014-01-17 74 views
0

我在Visual C++ 2010中創建了一個Windows服務。它基本上查找文件,如果存在,則將其刪除。將應用程序作爲Windows服務運行需要管理員權限嗎?

現在,如果我以管理員身份運行該應用程序,則該文件將從該位置成功刪除。但是如果我將它安裝爲Windows服務並運行該服務,則會檢測到該文件但不會被刪除,即使該服務正在本地系統上運行。

現在我的問題是,Windows服務是否需要最高權限,或者它是否以最高權限運行?

+0

權限可能不是問題。添加一些日誌記錄,以便您可以查看調用「DeleteFile」時返回的錯誤代碼。 –

回答

2

不,Windows服務可以使用任何帳戶運行,因此幾乎沒有任何權限。

當然,如果你想刪除一個文件,NTFS將檢查它的訪問控制列表(ACL)。當管理員具有刪除權限但本地系統不具有刪除權限時,您將有觀察到的行爲。但重要的是文件ACL,服務並不特殊。

相關問題