2009-08-13 204 views
1

我在Windows 7中安裝了我的應用程序,並且作爲安裝的一部分安裝了一些文本文件。現在,如果我在記事本中打開文本文件並嘗試保存它,則會出現「拒絕訪問」錯誤。我在計算機上以管理員身份登錄,文件未標記爲只讀,安全權限似乎沒有問題。Windows 7文件訪問權限問題

但是,我可以刪除或重命名文件沒有任何問題,我可以使用記事本創建一個具有相同名稱/位置的新文件,保存工作正常。

我知道它與UAC有關。我想知道UAC爲了阻止對文件的訪問而做了什麼。我們的應用程序未安裝在Program files文件夾中,因爲我相信UAC限制對Program Files文件夾中文件的任何更改

任何人都可以點亮發生了什麼。

問候 摹

回答

4

通過UAC,只是因爲你的身份登錄具有管理員權限的用戶,並不意味着程序實際上與他們運行。程序必須要求提升權限(提供「你想允許該程序爲_____」UAC彈出)或明確以管理員身份運行(右鍵單擊程序/快捷方式並選擇以管理員身份運行)。

默認情況下,標準「用戶文件」(又名我的文檔& co。)之外的大多數驅動器區域僅限管理員訪問,但可以更改文件夾權限以爲特定用戶添加訪問權限if期望。

+0

正如我在我原來的問題所述,我能夠刪除/重命名通過記事本保存時給訪問被拒絕錯誤的文件。另外,我可以在出現拒絕訪問錯誤的相同位置創建新文件。 我的應用程序使用Installshield進行安裝時,Windows 7會將所有已部署的文件視爲安裝的一部分,從而阻止訪問。真的想知道UAC如何防止只訪問某些文件,以及如何跟蹤安裝程序是否部署了這些文件 – Ganesh 2009-08-13 06:29:58

+0

對於Windows資源管理器進程,可能存在不同級別的訪問權限(您將在其中進行重命名/移動)而非非系統應用程序(如記事本)。 – Amber 2009-08-13 07:00:45

+0

這個答案提出了一個可能有用的策略:使用'以管理員身份運行'打開記事本,然後編輯並保存文件。 – grossvogel 2009-10-25 00:02:50

1

你會發現,保存文件除了用戶的「我的文檔」區域幾乎在任何地方都會受到限制,這包括保存到系統等

在其他驅動器如果選中該目錄的權限,你正在嘗試寫入,所有你必須做的是expressely給予用戶權限。否則,只有管理員纔有權限,這需要用戶通過UAC批准獲取管理令牌。

0

當文件正在使用時,通常會出現「拒絕訪問」錯誤。 UAC在這裏不成問題。檢查文件是否被其他進程使用。

您可以使用像Sysinternals的Process Explorer這樣的工具來執行此操作。

+0

該文件沒有被正確使用,因爲我可以重命名/刪除它。只需從記事本或任何編輯器中保存就會給我這個錯誤。 – Ganesh 2009-08-13 06:22:53

-1

您必須右鍵單擊該文件並選擇屬性。打開安全選項卡,您可以看到具有不同優先級的不同帳戶。點擊USERS,應該突出顯示。它下面的框應該有一堆檢查標記,表明這個用戶可以做些什麼。點擊完全控制。應用和好吧。然後你可以保存!

+0

這不起作用 - 即使您是管理員,UAC也會阻止請求。 – Nux 2011-06-23 16:50:07