2015-09-06 375 views
0

我正在爲Windows 10設計一個命令行應用程序,它需要替換c:\programdata文件夾中的某些文件。但是當我使用File.CopyFile.Move,它拋出一個異常如:在Windows 10中訪問c: Programdata中的文件時訪問被拒絕

訪問路徑 'C:\ ProgramData \ ***' 被拒絕。

我已將app.manifestrequireAdministrator相加,但不起作用。我錯過了什麼嗎?

回答

4

確保您擁有該文件夾的權限。例如右鍵點擊文件夾>屬性>轉到安全選項卡,並檢查您是否有權限。也可以通過右鍵單擊和「以管理員身份運行」嘗試您的應用程序

0

嘗試檢查實際運行進程/執行文件的用戶身份。

此用戶應該通過「系統」具有移動/複製磁盤上文件的權限。

在調試模式下,您可以隨時檢查任務管理器=>進程並查看您的進程的用戶名。

+0

它在我的用戶名下運行,而不是系統。是否有可能通過提升權限運行我的應用程序來執行此操作? – user3185333

+0

是的。例如,如果此應用程序將從任務計劃程序運行,則可以指定將運行它的用戶,同樣適用於服務(來自Services.msc)。如果您將從網站運行它,它將從中取得Web應用程序池的用戶身份。 – EfiBN

+0

只需將文件寫入ProgramData,就不需要像本地系統那樣運行! –