
我厭倦了舊應用程式的奇怪行為,因為它們無法寫入“Program Files”目錄。我不想手動將它們設定為以管理員身份運行,而且我並不特別關心安全性 - 除了信任我正在運行的應用程式之外,我只啟動 Windows 來運行遊戲(因此分區不會不包含任何有價值的數據),而且我通常每隔幾個月就會重新安裝Windows。
如何讓 Program Files 和 Program Files (x86) 成為每個應用程式都可以寫入的普通目錄(從權限角度來看),無論權限為何?
我目前正在運行 Windows 10,但理想情況下我也想知道如何在 8/7/Vista 上執行此操作,以供將來參考。
編輯:我應該注意,我碰巧使用的是 Windows 10 企業版,因此我可以根據需要修改群組原則或其他任何內容。
答案1
答案2
由於Windows Vista (UAC) 引入的安全功能,任何嘗試寫入受保護位置(例如“程式檔案”)的非管理員程式都會捕獲其寫入內容,並將其重定向到替代的“用戶友好”位置。
維基百科指出(我已經突出顯示了相關部分):
假設使用者將以管理員權限執行而編寫的應用程式在早期版本的Windows 中從有限的使用者帳戶執行時會遇到問題,通常是因為它們試圖寫入電腦範圍或系統目錄(例如Program Files)或註冊表項(特別是 HKLM)。 UAC 嘗試使用以下方法來緩解這種情況檔案和註冊表虛擬化,將寫入(以及後續讀取)重新導向到使用者設定檔中的每個使用者位置。例如,如果應用程式嘗試寫入“C:\program files\appname\settings.ini”,而使用者沒有寫入該目錄的權限,則寫入將被重新導向到“C:\Users\username” \AppData \Local\VirtualStore\Program Files\appname\settings.ini」。
這不是你無法改變的事情。這是故意的。