Windows Vista虛擬化功能故障解決方法
使用 Windows Vista操作系統(tǒng)的虛擬化功能,你可能會(huì)遇到下面所描述的文件和注冊(cè)表虛擬化問題。
情形 1:安裝、升級(jí)或使用應(yīng)用程序時(shí)收到錯(cuò)誤消息
在安裝、升級(jí)或使用應(yīng)用程序時(shí),可能會(huì)收到各種表明拒絕訪問的錯(cuò)誤消息。例如,您可能會(huì)遇到下列癥狀之一: • 在文件夾 %programfiles% 之外的其他文件夾中安裝了應(yīng)用程序后,會(huì)收到“拒絕訪問”的錯(cuò)誤消息。此外,該應(yīng)用程序無法正常工作。
• 您收到類似于以下內(nèi)容的應(yīng)用程序錯(cuò)誤消息:
Cannot create folder under C:MyAppTemp
Cannot create folder under C:MyAppTempoutput.dat
• 您收到類似于以下內(nèi)容的錯(cuò)誤消息:
寫入 MyFile.exe 時(shí)出錯(cuò)
當(dāng)您執(zhí)行下列任一操作時(shí),可能會(huì)出現(xiàn)此問題: • 在虛擬位置創(chuàng)建鏈接。
• 使用加密文件系統(tǒng) (EFS) 加密文件。
• 試圖查看壓縮文件。
• 使用命令提示符向一個(gè)虛擬位置復(fù)制 .exe、.sys 或 .dll 文件。
• 應(yīng)用程序中需要文件輸入或輸出的部分不再正常工作。
情形 2:找不到剛創(chuàng)建的文件或文件夾
在使用已啟用虛擬化的應(yīng)用程序時(shí),您在文件系統(tǒng)的虛擬位置創(chuàng)建了數(shù)據(jù)文件。當(dāng)使用其他應(yīng)用程序或 Windows 資源管理器訪問這些新創(chuàng)建的文件時(shí),卻找不到這些文件。例如,如果在照片編輯應(yīng)用程序中將某文件保存到 %programfiles%、%systemroot% 或 %programdata% 文件夾中,則找不到此文件。
情形 3:升級(jí)某個(gè)應(yīng)用程序后遇到意外程序行為
在升級(jí)某個(gè)應(yīng)用程序后,收到類似于以下內(nèi)容的錯(cuò)誤消息:
Error. Please upgrade your application
此外,該應(yīng)用程序無法正常工作。應(yīng)用程序似乎正在使用錯(cuò)誤的或升級(jí)前的數(shù)據(jù)。
情形 4:在卸載應(yīng)用程序之后,該應(yīng)用程序的文件仍在計(jì)算機(jī)上
在這種情況下,您會(huì)遇到下列癥狀之一: • 在其他應(yīng)用程序中,您注意到已卸載應(yīng)用程序的文件和文件夾信息仍存在于 %programfiles%、%programdata% 或 %systemroot% 文件夾中。
• %userprofile%AppDataLocalVirtualStore 文件夾比預(yù)期的大。在卸載應(yīng)用程序時(shí),未刪除在該應(yīng)用程序運(yùn)行時(shí)創(chuàng)建的虛擬化文件。
原因
以下一種或多種情況可能會(huì)引起這些問題: • 應(yīng)用程序試圖在某些指定的虛擬化文件夾之外創(chuàng)建文件或文件夾。
• 應(yīng)用程序在 %programfiles% 文件夾中保存的文件可能指向用戶虛擬存儲(chǔ)文件夾以外的文件夾。
• 應(yīng)用程序使用了一個(gè)虛擬化不支持的文件。解決方案
情形 1
要確定是否存在情形 1 中描述的問題,請(qǐng)?jiān)谑录榭雌髦胁檎?FileCreateVirtualExclude 事件。為此,請(qǐng)按照下列步驟操作: 1. 單擊“開始”,在“開始搜索”框中鍵入 eventvwr,然后單擊“程序”列表中的“eventvwr.exe”。
如果系統(tǒng)提示您輸入管理員密碼或進(jìn)行確認(rèn),請(qǐng)鍵入密碼或單擊“繼續(xù)”。
2. 依次展開“應(yīng)用程序和服務(wù)日志”、“Microsoft”、“Windows”和“UacFileVirtualization”,然后選擇“Operational”。如果事件 ID 為 5000,則說明已發(fā)生 FileCreateVirtualExclude 事件。
要解決此問題,請(qǐng)使用下列方法之一: • 如果該程序尚未安裝在 %programfiles% 文件夾中,請(qǐng)將其重新安裝在 %programfiles% 文件夾中。
• 使用具有管理憑據(jù)的帳戶運(yùn)行此應(yīng)用程序。為此,請(qǐng)找到并右鍵單擊該應(yīng)用程序的快捷方式,然后單擊“以管理員身份運(yùn)行”。
如果系統(tǒng)提示您輸入管理員密碼或進(jìn)行確認(rèn),請(qǐng)鍵入密碼或單擊“繼續(xù)”。
• 在提升的命令提示符處運(yùn)行該應(yīng)用程序。為此,請(qǐng)按照下列步驟操作: 1. 單擊“開始”,然后在“開始搜索”框中鍵入 cmd。
2. 在“程序”列表中,右鍵單擊“cmd”,然后單擊“以管理員身份運(yùn)行”。
如果系統(tǒng)提示您輸入管理員密碼或進(jìn)行確認(rèn),請(qǐng)鍵入密碼或單擊“繼續(xù)”。
3. 鍵入 MyAppsPath/MyApp,然后按 Enter。MyAppsPath/MyApp 代表應(yīng)用程序的路徑和名稱。
• 更改應(yīng)用程序文件夾的安全設(shè)置。為此,請(qǐng)按照下列步驟操作: 1. 以具有管理憑據(jù)的用戶身份登錄,然后使用 Windows 資源管理器打開該應(yīng)用程序的文件夾。
2. 右鍵單擊該應(yīng)用程序的文件夾,然后單擊“屬性”。
3. 在“安全”選項(xiàng)卡上,單擊“編輯”。
如果系統(tǒng)提示您輸入管理員密碼或進(jìn)行確認(rèn),請(qǐng)鍵入密碼或單擊“繼續(xù)”。
4. 在“組或用戶名”下,單擊您的用戶帳戶。
5. 在“Users 的權(quán)限”下,對(duì)以下權(quán)限單擊“允許”: • 修改
• 讀取和執(zhí)行
• 列出文件夾目錄
• 讀取
• 寫入
6. 單擊“確定”。
情形 2
要解決此問題,請(qǐng)使用下列方法之一: • 單擊瀏覽器欄上顯示的“兼容性文件”按鈕,以查看該文件夾中的虛擬化文件。僅當(dāng)該文件夾中存在虛擬化文件時(shí),才顯示“兼容性文件”按鈕。
• 在 C:UsersUser_nameAppDataLocalVirtualStore 文件夾中查找文件和文件夾。
• 將應(yīng)用程序的數(shù)據(jù)保存在用戶配置文件下的文件夾中。
情形 3
警告:如果使用注冊(cè)表編輯器或其他方法錯(cuò)誤地修改了注冊(cè)表,則可能會(huì)出現(xiàn)嚴(yán)重問題。這些問題可能需要重新安裝操作系統(tǒng)才能解決。Microsoft 不能保證可以解決這些問題。修改注冊(cè)表需要您自擔(dān)風(fēng)險(xiǎn)。
要解決此問題,請(qǐng)使用下列方法之一: • 在提升的命令提示符處運(yùn)行該應(yīng)用程序。為此,請(qǐng)按照下列步驟操作: 1. 單擊“開始”,在“開始搜索”框中鍵入 cmd,然后在“程序”列表中單擊“cmd.exe”。
如果系統(tǒng)提示您輸入管理員密碼或進(jìn)行確認(rèn),請(qǐng)鍵入密碼或單擊“繼續(xù)”。
2. 鍵入 MyAppsPath/MyApp。MyAppsPath/MyApp 代表該應(yīng)用程序的路徑和名稱,然后按 Enter。
• 打開虛擬存儲(chǔ),然后刪除原來的應(yīng)用程序數(shù)據(jù)文件。為此,請(qǐng)使用 Windows 資源管理器打開 C:UsersUser_nameAppDataLocalVirtualStoreProgram FilesMyApp 文件夾,然后刪除您的文檔或數(shù)據(jù)文件之外的所有文件。
• 從注冊(cè)表中刪除虛擬存儲(chǔ)。
要在注冊(cè)表中查找虛擬存儲(chǔ)并刪除所有不需要的注冊(cè)表項(xiàng),請(qǐng)按照下列步驟操作: 1. 單擊“開始”,在“開始搜索”框中鍵入 regedit,然后在“程序”列表中單擊“regedit.exe”。
如果系統(tǒng)提示您輸入管理員密碼或進(jìn)行確認(rèn),請(qǐng)鍵入密碼或單擊“繼續(xù)”。
2. 找到并單擊下面的注冊(cè)表子項(xiàng):
HKEY_CURRENT_USERSoftwareClassesVirtualStore
3. 對(duì)于不再需要的任何應(yīng)用程序注冊(cè)表項(xiàng),請(qǐng)右鍵單擊該項(xiàng),單擊“刪除”,然后單擊“是”。
情形 4
要解決此問題,請(qǐng)使用 Windows 資源管理器打開 C:UsersUser_nameAppDataLocalVirtualStoreMyApp 文件夾,然后刪除所有過時(shí)的應(yīng)用程序數(shù)據(jù)。
更多信息
文件和注冊(cè)表虛擬化可以幫助對(duì)注冊(cè)表和文件系統(tǒng)只有受限訪問權(quán)限的用戶向這些受保護(hù)的區(qū)域?qū)懭雰?nèi)容。虛擬化會(huì)創(chuàng)建一個(gè)“每個(gè)用戶”副本,然后重定向連續(xù)的數(shù)據(jù)操作。 例如,在受限用戶帳戶下或者在需要“用戶訪問控制”權(quán)限的帳戶下運(yùn)行應(yīng)用程序。當(dāng)此應(yīng)用程序向系統(tǒng)位置(如 %programfiles% 文件夾)寫入內(nèi)容時(shí),Windows Vista 會(huì)將寫入操作和讀取操作重定向到用戶配置文件文件夾 (%localappdata%VirtualStore) 中的用戶特定位置。默認(rèn)情況下,此位置為 C:UsersUser_nameAppDataLocalVirtualStoreProgram FilesApplication_name。注冊(cè)表虛擬化的工作原理與之類似,但應(yīng)用于 HKEY_LOCAL_MACHINESOFTWARE 子樹下的注冊(cè)表項(xiàng)。此子樹下的注冊(cè)表項(xiàng)和數(shù)據(jù)重定向到 HKEY_CURRENT_USERSoftwareClassesVirtualStore 子項(xiàng)。
