文章編號: 927387 - 上次校閱: 2007年4月29日 - 版次: 2.8

Windows Vista 中常見的檔案及登錄模擬問題

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
重要 本文包含如何修改登錄的相關資訊。修改登錄之前,請務必將它備份起來,並瞭解如何在發生問題時還原登錄。如需有關如何備份、還原和修改登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
256986? (http://support.microsoft.com/kb/256986/ ) Microsoft Windows 登錄說明

在此頁中

全部展開 | 全部摺疊

徵狀

當您使用 Windows Vista 的模擬功能時,可能會遇到下列案例中所描述的檔案及登錄模擬問題。

案例 1:您在安裝、升級或使用應用程式時,收到錯誤訊息

當您安裝、升級或使用應用程式時,可能會收到各種錯誤訊息,指出存取被拒。例如,您可能會遇到下列其中一個徵狀:
  • 您在 %programfiles% 資料夾以外的資料夾中安裝應用程式之後,收到「拒絕存取」錯誤訊息。此外,應用程式也未如預期般運作。
  • 您收到類似下列的應用程式錯誤訊息:
    Cannot create folder under C:\MyApp\Temp (無法在 C:\MyApp\Temp 下建立資料夾)
    Cannot create file under C:\MyApp\Temp\output.dat (無法在 C:\MyApp\Temp\output.dat 下建立檔案)
  • 您收到類似下列的錯誤訊息:
    Error Writing to MyFile.exe (寫入 MyFile.exe 時,發生錯誤)
    當您執行下列任一動作時,可能就會發生這個問題:
    • 您在模擬的位置中建立連結。
    • 您使用「加密檔案系統」(EFS) 加密檔案。
    • 您嘗試檢視壓縮的檔案。
    • 您使用命令提示字元將 .exe、.sys 或 .dll 檔案複製到可模擬的位置中。
  • 需要檔案輸入或輸出的應用程式部分不再正常運作。

案例 2:您找不到剛才建立的檔案或資料夾

當您使用已啟用模擬的應用程式時,在檔案系統的可模擬位置中建立資料檔案。當您使用另一個應用程式或 Windows 檔案總管來存取這些新建立的檔案時,卻找不到那些檔案。例如,如果您將相片編輯應用程式中的檔案儲存在 %programfiles%、%systemroot% 或 %programdata% 資料夾中,將找不到這個檔案。

案例 3:升級應用程式之後,遇到未預期的程式行為

在升級應用程式之後,您收到類似下列的錯誤訊息:
Error.Please upgrade your application (錯誤。請升級您的應用程式)
此外,應用程式也未如預期般運作。應用程式似乎使用了不正確或升級前的資料。

案例 4:在解除安裝應用程式之後,應用程式的檔案仍然出現在電腦上

在此案例中,您會遇到下列其中一個徵狀:
  • 在另一個應用程式中,您發現已解除安裝的應用程式的檔案和資料夾資訊仍然存在於 %programfiles%、%programdata% 或 %systemroot% 資料夾中。
  • %userprofile%\AppData\Local\VirtualStore 資料夾比您預期的更大。當您解除安裝應用程式時,在應用程式的執行階段期間所建立的模擬檔案並未移除。

發生的原因

這些問題是由下列一或多個情況所造成的:
  • 應用程式嘗試在特定的指定模擬資料夾外建立檔案或資料夾。
  • 由應用程式儲存在 %programfiles% 資料夾中的檔案,可能被導向至使用者的虛擬存放區資料夾以外的資料夾。
  • 應用程式使用模擬不支援的檔案。
.

解決方案

案例 1

如果要判斷您是否遭遇案例 1 中所述的問題,請查看「事件檢視器」中的 FileCreateVirtualExclude 事件。如果要執行這項操作,請依照下列步驟執行:
  1. 按一下 [開始]
    摺疊此圖像展開此圖像
    [開始]
				按鈕
    ,在 [開始搜尋] 方塊中輸入 eventvwr,然後按一下 [程式集] 清單中的 eventvwr.exe

    摺疊此圖像展開此圖像
    使用者帳戶控制權限
    如果出現要求您輸入系統管理員密碼或確認的提示,請輸入密碼或按一下 [繼續]
  2. 展開 [應用程式及服務記錄檔],展開 [Microsoft],再展開 [Windows],展開 [UacFileVirtualization],然後選取 [Operational]。如果事件識別碼為 5000,表示已發生 FileCreateVirtualExclude 事件。
如果要解決這個問題,請使用下列其中一個方法:
  • 如果程式尚未安裝在 %programfiles% 資料夾中,請在 %programfiles% 資料夾中重新安裝應用程式。
  • 使用具有系統管理認證的帳戶來執行此應用程式。如果要執行這項操作,請找出並用滑鼠右鍵按一下應用程式捷徑,然後按一下 [以系統管理員身分執行]

    摺疊此圖像展開此圖像
    使用者帳戶控制權限
    如果出現要求您輸入系統管理員密碼或確認的提示,請輸入密碼或按一下 [繼續]
  • 在提高權限的命令提示字元中執行應用程式。如果要執行這項操作,請依照下列步驟執行:
    1. 按一下 [開始]
      摺疊此圖像展開此圖像
      [開始]
					 按鈕
      ,在 [開始搜尋] 方塊中輸入 cmd,然後按一下 [程式集] 清單中的 cmd.exe
    2. [程式集] 清單中,用滑鼠右鍵按一下 cmd,然後按一下 [以系統管理員身分執行]

      摺疊此圖像展開此圖像
      使用者帳戶控制權限
      如果出現要求您輸入系統管理員密碼或確認的提示,請輸入密碼或按一下 [繼續]
    3. 輸入 MyAppsPath/MyApp,然後按下 ENTER。MyAppsPath/MyApp 代表應用程式的路徑和名稱。
  • 變更應用程式的資料夾的安全性設定。如果要執行這項操作,請依照下列步驟執行:
    1. 以具有系統管理認證的使用者身分登入,然後使用 Windows 檔案總管開啟應用程式的資料夾。
    2. 用滑鼠右鍵按一下應用程式的資料夾,然後按一下 [內容]
    3. [安全性] 索引標籤上,按一下 [編輯]

      摺疊此圖像展開此圖像
      使用者帳戶控制權限
      如果出現要求您輸入系統管理員密碼或確認的提示,請輸入密碼或按一下 [繼續]
    4. [群組或使用者名稱] 下,按一下您的使用者帳戶。
    5. [Users 的權限] 下,針對下列權限按一下 [允許]
      • 修改
      • 讀取 & 執行
      • 列出資料夾內容
      • 讀取
      • 寫入
    6. 按一下 [確定]

案例 2

如果要解決這個問題,請使用下列其中一個方法:
  • 按一下瀏覽器列上顯示的 [相容性檔案] 按鈕,以檢視資料夾中的模擬檔案。這個 [相容性檔案] 按鈕只有在資料夾中存在模擬檔案時,才會出現。
  • 查看 C:\Users\User_name\AppData\Local\VirtualStore 資料夾,以找出檔案和資料夾。
  • 將應用程式的資料儲存在您的使用者設定檔下的資料夾。

案例 3

警告 如果您使用「登錄編輯程式」或其他方法不當地修改登錄,可能會發生嚴重問題。您可能需要重新安裝作業系統,才能解決這些問題。Microsoft 不保證可以解決這些問題。請自行承擔修改登錄的一切風險。

如果要解決這個問題,請使用下列其中一個方法:
  • 在提高權限的命令提示字元中執行應用程式。如果要執行這項操作,請依照下列步驟執行:
    1. 按一下 [開始]
      摺疊此圖像展開此圖像
      [開始]
					 按鈕
      ,在 [開始搜尋] 方塊中輸入 cmd,然後按一下 [程式集] 清單中的 cmd.exe

      摺疊此圖像展開此圖像
      使用者帳戶控制權限
      如果出現要求您輸入系統管理員密碼或確認的提示,請輸入密碼或按一下 [繼續]
    2. 輸入 MyAppsPath/MyAppMyAppsPath/MyApp 代表應用程式的路徑和名稱,然後按下 ENTER。
  • 開啟虛擬存放區,然後刪除舊的應用程式資料檔案。如果要執行這項操作,請使用 Windows 檔案總管開啟 C:\Users\User_name\AppData\Local\VirtualStore\Program Files\MyApp 資料夾,然後刪除所有不是您的文件或資料檔案的檔案。
  • 從登錄中刪除虛擬存放區。

    如果要找出登錄中的虛擬存放區並移除所有不必要的機碼,請依照下列步驟執行:
    1. 按一下 [開始]
      摺疊此圖像展開此圖像
      [開始]
					 按鈕
      ,在 [開始搜尋] 方塊中輸入 regedit,然後按一下 [程式集] 清單中的 regedit.exe

      摺疊此圖像展開此圖像
      使用者帳戶控制權限
      如果出現要求您輸入系統管理員密碼或確認的提示,請輸入密碼或按一下 [繼續]
    2. 找出並按一下下列登錄子機碼:
      HKEY_CURRENT_USER\Software\Classes\VirtualStore
    3. 針對所有不再需要的應用程式登錄機碼,用滑鼠右鍵按一下機碼,按一下 [刪除],然後按一下 [是]

案例 4

如果要解決這個問題,請使用 Windows 檔案總管開啟 C:\Users\User_name\AppData\Local\VirtualStore\MyApp 資料夾,然後刪除所有過時的應用程式資料。

其他相關資訊

對於存取登錄和檔案系統受到限制的使用者,檔案和登錄模擬可協助他們寫入這些受保護的區域。模擬會建立「每個使用者」的複本,然後重新導向連續的資料作業。 例如,假設應用程式是在「受限的使用者帳戶」下或需要「使用者帳戶控制」權限的帳戶下執行。當這個應用程式寫入系統位置 (例如 %programfiles% 資料夾) 時,Windows Vista 會將寫入作業和讀取作業重新導向到使用者設定檔資料夾 (%localappdata%\VirtualStore) 中的使用者特定位置。根據預設,這個位置是 C:\Users\User_name\AppData\Local\VirtualStore\Program Files\Application_name。登錄模擬的運作類似,但會套用至 HKEY_LOCAL_MACHINE\SOFTWARE 樹狀子目錄下的登錄機碼。此樹狀子目錄下的機碼和資料會重新導向至
HKEY_CURRENT_USER\Software\Classes\VirtualStore
子機碼。

如需詳細資訊,請造訪下列 Microsoft 網站:
http://msdn2.microsoft.com/en-us/library/aa480150.aspx (http://msdn2.microsoft.com/en-us/library/aa480150.aspx)

這篇文章中的資訊適用於:
  • Windows Vista 商用入門版
  • Windows Vista 商用進階版
  • Windows Vista 家用進階版
  • Windows Vista 家用入門版
  • Windows Vista 旗艦版
  • Windows Vista 商用入門 64 位元版
  • Windows Vista 商用進階 64 位元版
  • Windows Vista 家用進階 64 位元版
  • Windows Vista 家用入門 64 位元版
  • Windows Vista 旗艦 64 位元版
關鍵字:?
kbfilesystems kbregistry kbexpertiseinter kbtshoot kbprb KB927387
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。