匯出 (0) 列印
全部展開
Expand Minimize

Windows Vista 及 Windows 7 作業系統

發佈時間: 2010年6月

更新日期: 2010年6月

適用於: Windows 7, Windows Vista

您可以尋找因 Windows® Vista 和 Windows 7 變更 (包括使用者帳戶控制 (UAC) 限制) 而可能遇到的部分問題的現有相容性修正。

Important重要
Microsoft® 應用程式相容性工具組 (ACT) 5.6 會安裝 32 位元及 64 位元版本的 Compatibility Administrator。您必須使用 32 位元版本來處理 32 位元應用程式的自訂資料庫,而使用 64 位元版本來處理 64 位元應用程式的自訂資料庫。如果您嘗試使用錯誤的版本,就會收到錯誤訊息。

此外,如果您以 Administrator 身分 (具有較高的權限) 啟動 Compatibility Administrator,雖然所有修正的應用程式都可以順利執行,但可能不會依照預期進行虛擬化和重新導向。若要確認修正是否解決您的問題,則必須使用目的地使用者帳戶執行修正的應用程式,以測試這些應用程式。

相容性修正程式

下表列出 Windows Vista 和較新作業系統適用的已知的相容性修正 (包括任何您可能遇到的徵狀)。

 

徵狀 修正程式 修正程式說明

應用程式無法存取任何 Windows Server® 2003 作業系統上核心模式驅動程式以外的 Device\PhysicalMemory 物件。

BIOSRead

讓 OEM 可執行檔 (.exe) 在讀取 BIOS 中的 \\Device\Physical memory information 時使用 GetSystemFirmwareTable 函數,而非使用 NtOpenSection 函數。

InstallShield 建立的安裝程式和解除安裝程式無法完成,將會產生錯誤訊息或警告。

BlockRunasInteractiveUser

封鎖 InstallShield,使其無法將登錄機碼 RunAs 的值設定為不再具有 Administrator 權限的 InteractiveUser。

note備註
如需 BlockRunasInteractiveUser 應用程式修正程式的詳細資訊,請參閱使用 BlockRunAsInteractiveUser 修正程式

應用程式在使用 SHGetFolder API 時因無法傳回殼層資料夾路徑而失敗。

ChangeFolderPathToXPStyle

攔截通用 appdata 檔案路徑的 SHGetFolder 路徑要求,傳回 Windows® XP 樣式的檔案路徑,而非 Windows Vista 樣式的檔案路徑。

應用程式無法啟動。

ClearLastErrorStatusonIntializeCriticalSection

修改 InitializeCriticalSection 函數呼叫,使其檢查 NTSTATUS 錯誤碼,然後將最後一個錯誤設定為 ERROR_SUCCESS。

應用程式的安裝程式必須提高權限執行,而且取決於針對其他使用者提供的 HKCU 設定。

CopyHKCUSettingsFromOtherUsers

掃描現有的使用者設定檔,並嘗試將指定的機碼複製至 HKEY_CURRENT_USER 登錄區域。

您可以進一步控制這個修正,方法是輸入要複製為參數的登錄機碼,並以 ^ 符號分隔。例如,Software\MyCompany\Key1^Software\MyCompany\Key2。

note備註
如需 CopyHKCUSettingsFromOtherUsers 應用程式修正程式的詳細資訊,請參閱使用 CopyHKCUSettingsFromOtherUsers 修正程式

當您選取或裁切影像時,會出現存取違規錯誤訊息,而且應用程式會失敗。

CorrectCreateBrushIndirectHatch

更正傳遞給 CreateBrushIndirect() 函數的筆刷樣式串聯值,以正確解譯資訊。

應用程式存取遭拒,或是在嘗試將檔案寫入至硬碟時,接收到找不到檔案或找不到路徑錯誤訊息。

CorrectFilePaths

修改檔案路徑名稱,使其指向硬碟上的新位置。

note備註
如需 CorrectFilePaths 應用程式修正程式的詳細資訊,請參閱使用 CorrectFilePaths 修正程式。如果您是要將這個修正套用至安裝檔,則建議您將這個修正與 CorrectFilePathsUninstall 修正搭配使用。如需 CorrectFilePathsUninstall 應用程式修正程式的詳細資訊,請參閱使用 CorrectFilePathsUninstall 修正程式

解除安裝應用程式時會遺留檔案、目錄和連結。

CorrectFilePathsUninstall

更正應用程式之解除安裝處理程序所使用的檔案路徑。

note備註
如需 CorrectFilePathsUninstall 應用程式修正程式的詳細資訊,請參閱使用 CorrectFilePathsUninstall 修正程式。如果您是要將這個修正套用至安裝檔,則建議您將這個修正與 CorrectFilePaths 修正搭配使用。如需 CorrectFilePaths 應用程式修正程式的詳細資訊,請參閱使用 CorrectFilePaths 修正程式

啟動可執行檔 (.exe) 會導致工作列項目 (而非提高權限提示) 閃爍,或是在呼叫 ShellExecute(Ex) 函數時,應用程式未提供有效的 HWND 值。

CorrectShellExecuteHWND

攔截 ShellExecute(Ex) 呼叫,然後檢查 HWND 值。如果值無效,則這個修正會讓呼叫使用目前使用中的 HWND 值。

note備註
如需 CorrectShellExecuteHWND 應用程式修正程式的詳細資訊,請參閱使用 CorrectShellExecuteHWND 修正程式

無法使用

DelayApplyFlag

如果載入指定的 DLL,則套用 KERNELUSERPROCESS 旗標。

您可以在命令提示字元使用下列語法,進一步控制這個修正程式:

DLL_Name;Flag_Type;Hexidecimal_Value

其中 DLL_Name 是特定 DLL 的名稱 (包括副檔名);Flag_TypeKERNELUSERPROCESS,而 Hexidecimal_Value 是從 0x 開始且長度最長為 64 位元。

note備註
PROCESS 旗標類型的長度只能為 32 位元,而且您可以使用反斜線 (\) 分隔多個項目。

當應用程式嘗試安裝依存於過時服務的服務時,會出現錯誤訊息。

DeprecatedServiceShim

攔截 CreateService 函數呼叫,並移除 lpDependencies 參數中的過時依存性服務。

您可以在命令提示字元使用下列語法,進一步控制這個修正程式:

Deprecated_Service\App_Service/Deprecated_Service2 \App_Service2

其中 Deprecated_Service 是已過期之服務的名稱,而 App_Service 則是要修改之特定應用程式服務的名稱。例如,NtLmSsp\WMI。

note備註
如果您未提供 App_Service 名稱,則會移除所有新建立服務中的過時服務。

note備註
請使用正斜線 (/) 分隔多個項目。

應用程式因找不到 DirectX® 的正確版本號碼而失敗。

DirectXVersionLie

修改 DXDIAGN GetProp 函數呼叫,以傳回正確的 DirectX 版本。

您必須在命令提示字元使用下列語法,進一步控制這個修正:

MAJORVERSION.MINORVERSION.LETTER

例如,9.0.c

應用程式的顯示不正確,因此未繪製部分物件,或是物件成品保留在螢幕上。

DisableDWM

暫時停用不受支援之應用程式的 Windows "Aero" 功能表主題功能。

note備註
如需 DisableDWM 應用程式修正程式的詳細資訊,請參閱使用 DisableDWM 修正程式

應用程式淡出動畫、按鈕或其他控制項無法正常運作。

DisableFadeAnimations

停用不受支援之應用程式的淡出動畫。

嘗試偵測並使用正確的 Windows 設定時,應用程式未如預期運作。

DisableThemeMenus

暫時停用不受支援之應用程式的 Windows "Aero" 功能表主題功能。

因為主機處理程序呼叫 CreateProcess 函數,並傳回 ERROR_ELEVATION_REQUIRED 錯誤訊息,所以安裝、解除安裝或更新失敗。

ElevateCreateProcess

處理錯誤碼,並嘗試重新呼叫 CreateProcess 函數,這次將會要求提高權限。如果修正的應用程式已有 UAC 資訊清單,則不會有任何影響;將會再次傳回錯誤碼。

note備註
如需 ElevateCreateProcess 應用程式修正程式的詳細資訊,請參閱使用 ElevateCreateProcess 修正程式

應用程式因 UNC 路徑不正確而失敗。

EmulateOldPathIsUNC

變更 PathIsUNC 函數,以傳回 Windows Vista 中 UNC 路徑的 True 值。

應用程式無法安裝或執行,並產生錯誤訊息,指出沒有足夠的可用磁碟空間來安裝或使用應用程式,即使實際上有足夠的可用磁碟空間,符合應用程式需求,也會出現此訊息。

EmulateGetDiskFreeSpace

判斷可用空間的數量,如此一來,若可用空間數量大於 2 GB,相容性修正程式會傳回 2 GB 的值,若可用空間數量小於 2 GB,相容性修正程式則傳回實際的可用空間數量。

note備註
如需 EmulateGetDiskFreeSpace 應用程式修正程式的詳細資訊,請參閱使用 EmulateGetDiskFreeSpace 修正程式

應用程式發生搜尋功能問題。

EmulateSorting

強制利用 CompareStringW/LCMapString 排序表格的應用程式使用舊版本 (在 Windows Vista 中引進的版本之前的版本)。

note備註
如需 EmulateSorting 應用程式修正程式的詳細資訊,請參閱使用 CorrectFilePaths 修正程式

由於處理程序無法結束,讓電腦重新啟動以完成其處理,因此應用程式和電腦看起來像停止回應。

EnableRestarts

確認 SeShutdownPrivilege 服務權限存在,再加以啟用,使電腦能夠重新啟動及完成安裝程序。

note備註
如需 EnableRestarts 應用程式修正程式的詳細資訊,請參閱使用 EmulateGetDiskFreeSpace 修正程式

應用程式叫用 Release() 方法太多次,因而導致物件提早損壞。

ExtraAddRefDesktopFolder

針對 SHGetDesktopFolder 函數所傳回的 [桌面] 資料夾叫用 AddRef() 方法,以防止應用程式嘗試取得殼層桌面資料夾。

應用程式因過時的 API 呼叫而失敗。例如,FileMenu_* 函數。

FailObsoleteShellAPIs

完全實作過時函數,或實作虛設常式失敗的過時函數。

note備註
在命令提示字元,您可以輸入 FailAll=1 以抑制函數實作,並強制讓所有函數失敗。

應用程式解除安裝處理程序未移除所有檔案和資料夾。

FailRemoveDirectory

如果檔案路徑位置符合完整和指定的位置,則讓 RemoveDirectory() 函數的任何應用程式呼叫失敗。

主題應用程式未正確顯示。色彩褪色,或使用者介面較不詳細。

FakeLunaTheme

攔截 GetCurrentThemeName API,並傳回 Windows XP 預設佈景主題值 (Luna),而非 Windows Vista 預設佈景主題 (Aero)。

note備註
如需 FakeLunaTheme 應用程式修正程式的詳細資訊,請參閱使用 FakeLunaTheme 修正程式

變更不會立即出現在硬碟上,而且監控檔案的應用程式無法查看變更。

FlushFile

讓 WriteFile 函數呼叫 FlushFileBuffers API,之後將檔案快取排清至硬碟。

應用程式無法在明確系統管理員檢查期間運作。

ForceAdminAccess

在系統管理員檢查期間傳回值 True,將使用者暫時模擬為 Administrators 群組的成員。

note備註
如需 ForceAdminAccess 應用程式修正程式的詳細資訊,請參閱使用 ForceAdminAccess 修正程式

安裝應用程式時,應用程式出現異常行為,例如安裝程式指出無法安裝至使用者指定的位置。

GetDriveTypeWHook

變更 GetDriveType(),使其只顯示檔案路徑的根資訊。如果應用程式在嘗試抓取檔案路徑所在磁碟機的類型時傳遞不完整或格式錯誤的檔案路徑,則這是必要作業。

當您啟動應用程式時,出現 "Computer memory full" 錯誤訊息。

GlobalMemoryStatusLie

修改記憶體狀態結構,使其報告大小為 400 MB 的分頁檔,而不論實際的分頁檔大小。

因為 API 在使用參數之前執行指標驗證,所以出現存取違規錯誤訊息。

HandleBadPtr

支援從 InternetSetOptionA 和 InternetSetOptionW 函數使用 lpBuffer 驗證,以執行其他參數驗證。

變更檔案或目錄上的屬性時,應用程式失敗。

HandleMarkedContentNotIndexed

攔截任何會傳回從 %TEMP% 目錄叫用之檔案和目錄屬性的 API 呼叫,將 FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 屬性重設回其原始狀態。

配置處理程序異常關閉。

HeapClearAllocation

使用零,清除應用程式的堆積配置。

應用程式無法在使用特殊按鍵組合時運作。

IgnoreAltTab

攔截 RegisterRawInputDevices API,並防止傳遞 WM_INPUT 訊息。這個傳遞失敗會強制略過所含攔截程序,並強制 DInput 使用 Windows 特定攔截程序。

note備註
如需 IgnoreAltTab 應用程式修正程式的詳細資訊,請參閱使用 IgnoreAltTab 修正程式

讀取錯誤,或是嘗試尋找或開啟檔案時出現存取違規錯誤訊息。

IgnoreDirectoryJunction

連結 FindNextFileW、FindNextFileA、FindFirstFileExW、FindFirstFileExA、FindFirstFileW 和 FindFirstFileA API,防止它們傳回目錄連接。

note備註
符號連結只出現在 Windows Vista 中。

應用程式在啟動之後立即停止運作,或是啟動時螢幕上只出現游標。

IgnoreException

讓應用程式略過指定的例外狀況。根據預設,這個修正會略過特殊權限模式例外狀況;不過,它可以設定成略過任何例外狀況。

您可以在命令提示字元使用下列語法,進一步控制這個修正程式:

Exception1;Exception2

其中 Exception1Exception2 是要略過的特定例外狀況。例如,ACCESS_VIOLATION_READ:1;ACCESS_VIOLATION_WRITE:1

Important重要
建議您只有在確定可以略過例外狀況時,才應該使用這個相容性修正。如果您錯誤地選擇略過例外狀況,則可能會遇到其他相容性問題。

note備註
如需 IgnoreException 應用程式修正程式的詳細資訊,請參閱使用 IgnoreException 修正程式

無法使用

IgnoreFloatingPointRoundingControl

讓應用程式略過捨入控制要求,並在應用程式舊版本中如預期運作。

應用程式文字失真。

IgnoreFontQuality

讓色彩鍵字型與消除鋸齒正確運作。

應用程式在未預期的作業系統上執行時,出現內含偵錯或無關內容的訊息方塊。

IgnoreMessageBox

攔截 MessageBox* API,並檢查它們是否有特定訊息文字。如果找到符合的文字,則應用程式會繼續,而且不會顯示訊息方塊。

note備註
如需 IgnoreMessageBox 應用程式修正程式的詳細資訊,請參閱使用 IgnoreMessageBox 修正程式

出現錯誤訊息,指出作業系統找不到 MSVCR80D.DLL 檔案。

IgnoreMSOXMLMF

略過登錄的 MSOXMLMF.DLL 物件 (這是每次您載入 XML 檔案時,2007 Microsoft® Office 版本都會載入作業系統的物件),然後會讓其 CLSID 的 CoGetClassObject 失敗。

應用程式嘗試在「全域」命名空間中建立物件失敗。

LocalMappedObject

攔截函數呼叫以建立物件,並將 Global 文字取代為 Local。

note備註
如需 LocalMappedObject 應用程式修正程式的詳細資訊,請參閱使用 LocalMappedObject 修正程式

應用程式無法解除安裝,發生存取相關錯誤。

MakeShortcutRunas

尋找任何 RunDLL.exe 型解除安裝程式,並強制它們在應用程式安裝期間使用不同的認證來執行。套用這個修正之後,安裝程式會建立捷徑,指定要在應用程式安裝期間執行的相符字串,這樣可以稍後再進行解除安裝。

note備註
如需 MakeShortcutRunas 應用程式修正程式的詳細資訊,請參閱使用 MakeShortcutRunAs 修正程式

無法使用

ManageLinks

攔截前往目錄或可執行檔 (.exe) 的共用 API,然後先轉換任何符號或目錄連接,再將它傳遞回原始 API。

應用程式在安裝期間發生安全性存取問題。

MoveToCopyFileShim

強制 CopyFile API 執行,而不是 MoveFile API。CopyFile API 避免移動安全性描述元,這是可讓應用程式檔案取得目的地資料夾的預設描述元,並可防止安全性存取問題。

出現錯誤訊息,指出您沒有存取應用程式的適當權限。

OpenDirectoryAcl

降低所指定一組檔案和資料夾的安全性權限等級。

note備註
如需 OpenDirectoryACL 應用程式修正程式的詳細資訊,請參閱使用 OpenDirectoryACL 修正程式

無法使用

PreInstallDriver

預先安裝應用程式的驅動程式,這些驅動程式在初始啟動處理程序期間會嘗試安裝這些應用程式或嘗試啟動它們的驅動程式。

無法使用

PreInstallSmarteSECURE

預先安裝使用 SmartSECURE 複製保護之應用程式的全電腦 CLSID,這會嘗試在初始啟動處理程序期間安裝 CLSID。

因為應用程式已嘗試讀取處理程序效能資料登錄值,以判斷是否有另一個應用程式例項正在執行,所以出現「未處理的例外狀況」錯誤訊息。

ProcessPerfData

處理失敗情況,方法是傳遞假造的處理程序效能資料登錄機碼,讓應用程式認為它是唯一執行的例項。

note備註
.NET 應用程式最常發生這種問題。

應用程式未正確套用應用程式修正。

PropagateProcessHistory

設定 _PROCESS_HISTORY 環境變數,讓子處理程序可以在搜尋應用程式修正時查看上層目錄中的相符資訊。

應用程式因「受保護的系統管理員」權限不正確而無法執行。

ProtectedAdminCheck

解決執行非標準系統管理員檢查的應用程式發生的問題,這會產生以「受保護的系統管理員」身分執行之使用者的誤判,原因是具有關聯 SID,但設定為 deny-only。

無法使用

RedirectCRTTempFile

攔截失敗的 CRT 呼叫,此呼叫嘗試在磁碟區根目錄建立暫存檔案,並將呼叫重新導向至使用者暫存目錄中的暫存檔案。

因為使用者帳戶控制 (UAC) 的限制,所以無法存取應用程式。

RedirectHKCUKeys

將任何新建立的 HKCU 機碼複製至其他使用者的 HKCU 帳戶。這個修正泛用於 UAC 限制,這類限制需要 HKCU 機碼,但是應用程式在執行階段無法使用該機碼。

您無法播放 MP3 檔案。

RedirectMP3Codec

攔截遺失篩選器的 CoCreateInstance 呼叫,然後將其重新導向至支援的版本。

無法透過應用程式的捷徑存取應用程式,或是在應用程式解除安裝處理程序期間未移除應用程式捷徑。

RedirectShortcut

重新導向應用程式安裝期間建立的所有捷徑,使其依據指定的路徑顯示。

  • [開始] 功能表捷徑:出現在所有使用者的 \\ProgramData\Microsoft\Windows\Start Menu 目錄中。

  • 桌面或快速啟動捷徑:您必須手動將捷徑放到個別使用者的桌面或 [快速啟動] 列。

這個問題的發生原因是 UAC 限制。特別的是,應用程式安裝是使用較高的權限來執行,並依據提高的使用者內容來儲存捷徑。在這種情況下,受限制的使用者無法存取捷徑。

Important重要
您無法將這個修正套用至內含資訊清單且提供執行層級的 .exe 檔案。

從主機應用程式啟動時,安裝程式、解除安裝程式或更新程式失敗。

RelaunchElevated

如果使用 ElevateCreateProcess 修正,或將 .exe 檔案標示為 RunAsAdmin,很難判斷父系處理程序,則讓子 .exe 檔案以較高的權限執行。

note備註
如需 RelaunchElevated 應用程式修正程式的詳細資訊,請參閱使用 RelaunchElevated 修正程式

應用程式嘗試開啟服務控制管理員 (SCM),並接收到「拒絕存取」錯誤訊息。

RetryOpenSCManagerWithReadAccess

重試呼叫,並要求限制更嚴密的一組權限,包括:

出現 "Unable to open service due to your application using the OpenService() API to test for the existence of a particular service" 錯誤訊息。

RetryOpenServiceWithReadAccess

重試 OpenService() API 呼叫,並確認使用者具有 Administrator 權限、不是「受保護的系統管理員」,而且使用唯讀存取權。

note備註
如需 RetryOpenServiceWithReadAccess 應用程式修正程式的詳細資訊,請參閱使用 RetryOpenServiceWithReadAccess 修正程式

如果使用「標準使用者」或「受保護的系統管理員」帳戶,則應用程式無法運作。

RunAsAdmin

使用較高的權限執行應用程式。這等同於在應用程式資訊清單中指定 requireAdministrator。

note備註
如需 RunAsAdmin 應用程式修正程式的詳細資訊,請參閱使用 RunAsAdmin 修正程式

系統管理員無法檢視向「標準使用者」呈現唯讀檢視之應用程式的讀/寫版本。

RunAsHighest

使用最高可用權限執行應用程式。這等同於在應用程式資訊清單中指定 highestAvailable。

note備註
如需 RunAsHighest 應用程式修正程式的詳細資訊,請參閱使用 RunAsHighest 修正程式

應用程式無法偵測為需要提高權限。

RunAsInvoker

使用與建立處理程序關聯的權限執行應用程式,而不需要提高權限。這等同於在應用程式資訊清單中指定 asInvoker。

note備註
如需 RunAsInvoker 應用程式修正程式的詳細資訊,請參閱使用 RunAsInvoker 修正程式

嘗試與不同工作階段中執行的服務互動時,應用程式失敗。

SessionShim

使用終端機服務名稱首碼 (Global 或 Local) 做為參數,攔截來自應用程式的 API 呼叫,這些應用程式嘗試與另一個工作階段中執行的服務互動。

您可以在命令提示字元提供要修改的物件清單 (以雙反斜線 (\\) 隔開值),也可以選擇不包括任何參數,以修改所有物件。

Important重要
在 Windows Vista 中,使用者無法登入為工作階段 0 (全域工作階段),因此需要存取工作階段 0 的應用程式會自動失敗。

note備註
如需 SessionShim 應用程式修正程式的詳細資訊,請參閱使用 SessionShim 修正程式

無法使用

SetProtocolHandler

將應用程式登錄為通訊協定處理常式。

您可以在命令提示字元使用下列語法,進一步控制這個修正程式:

Client;Protocol;App

其中 Client 是郵件通訊協定的名稱;Protocol 是 mailto,而 App 是應用程式的名稱。

note備註
目前只支援郵件用戶端和 mailto 通訊協定。您可以使用反斜線 (\) 分隔多個用戶端。

32 位元安裝程式因需要 64 位元驅動程式而無法安裝。

SetupCommitFileQueueIgnoreWow

停用 64 位元版本之 Windows Vista 使用的 Wow64 檔案系統,以防止 32 位元應用程式在應用程式安裝期間存取 64 位元檔案系統。

即使在套用已知可修正問題的相容性修正之後,應用程式還是會失敗。

note備註
使用 unicows.dll 或複製保護的應用程式通常會發生這個問題。

ShimViaEAT

修改匯出表格,以及讓模組包含和排除的使用無效,以套用指定的相容性修正。

note備註
如需 ShimViaEAT 應用程式修正程式的相關資訊,請參閱使用 ShimViaEAT 修正程式

Web 應用程式因新的索引標籤功能而發生瀏覽和顯示問題。

ShowWindowIE

攔截 ShowWindow API 呼叫,以解決 Web 應用程式判定處於子視窗時發生的問題。這個修正會呼叫上層父視窗上的實際 ShowWindow API。

GenericInstaller 函數無法選擇應用程式安裝檔。

SpecificInstaller

將應用程式標記為安裝程式檔 (例如,setup.exe),然後提示提高權限。

note備註
如需 SpecificInstaller 應用程式修正程式的詳細資訊,請參閱使用 SpecificInstaller 修正程式

不是安裝程式且具有足夠權限的應用程式會產生 GenericInstaller 函數的誤判。

SpecificNonInstaller

標記應用程式,讓 GenericInstaller 函數不要偵測它。

note備註
如需 SpecificNonInstaller 應用程式修正程式的詳細資訊,請參閱使用 SpecificNonInstaller 修正程式

無法使用

TrimDisplayDeviceNames

修剪 EnumDisplayDevices API 所傳回的顯示裝置名稱。

無法使用

UIPICompatLogging

記錄來自 Internet Explorer 和其他處理程序的 Windows 訊息。

因為未傳遞自訂 Windows 訊息,所以應用程式無法正確地與其他處理程序通訊。

UIPIEnableCustomMsgs

讓自訂 Windows 訊息從較低的「桌面」整合層級通過目前的處理程序。這個修正等同於在程式碼中呼叫 RegisterWindowMessage 函數,且後面接著 ChangeWindowMessageFilter 函數。

您可以在命令提示字元使用下列語法,進一步控制這個修正程式:

MessageString1 MessageString2

其中 MessageString1MessageString2 反映可以傳遞的訊息字串。

note備註
必須使用空格分隔多個訊息字串。如需 UIPIEnableCustomMsgs 應用程式修正程式的詳細資訊,請參閱使用 UIPIEnableCustomMsgs 修正程式

因為未傳遞標準 Windows 訊息,所以應用程式無法正確地與其他處理程序通訊。

UIPIEnableStandardMsgs

讓標準 Windows 訊息從較低的「桌面」整合層級通過目前的處理程序。這個修正等同於在程式碼中呼叫 ChangeWindowMessageFilter 函數。

您可以在命令提示字元使用下列語法,進一步控制這個修正程式:

1055 1056 1069

其中 1055 反映可以傳遞的第一個訊息識別碼、1056 反映第二個訊息識別碼,而 1069 反映第三個訊息識別碼。

note備註
必須使用空格分隔多個訊息。如需 UIPIEnableStandardMsgs 應用程式修正程式的詳細資訊,請參閱使用 UIPIEnableStandardMsgs 修正程式

當您啟動應用程式時,出現 "Component failed to be located" 錯誤訊息。

VirtualRegistry

讓登錄函數允許進行虛擬化、重新導向、延伸值、版本詐騙、效能資料計數器的模擬等。

note備註
如需 VirtualRegistry 的詳細資訊,請參閱使用 VirtualRegistry 修正程式

出現數個錯誤訊息,而且應用程式無法刪除檔案。

VirtualizeDeleteFile

讓應用程式進行的 DeleteFile 函數呼叫成為虛擬呼叫,方法是嘗試補救 Windows Vista 引進的 UAC 和檔案虛擬化問題。這個修正也會連結其他檔案 API (例如,GetFileAttributes),以確保刪除檔案的虛擬化。

note備註
如需 VirtualizeDeleteFile 的詳細資訊,請參閱使用 VirtualizeDeleteFile 修正程式

應用程式無法在執行階段登錄 COM 元件。

VirtualizeHKCRLite

針對每一使用者的 COM 登錄,將 HKCR 寫入呼叫 (HKLM) 重新導向至 HKCU Hive。使用 VirtualizeHKCR 參數時,這項作業較像 VirtualRegistry 修正;不過,VirtualizeHKCRLite 的效能較佳。

note備註
HKCR 是 HKCU\Software\Classes 與 HKLM\Software\Classes 目錄的虛擬合併。如果未提高應用程式的權限,則偏好使用 HKCU,而如果提高應用程式的權限,則會予以略過。

Important重要
您一般會搭配使用這個相容性修正與 VirtualizeRegisterTypeLib 修正。

note備註
如需 VirtualizeHKCRLite 的詳細資訊,請參閱使用 VirtualizeHKCRLite 修正程式

無法使用

VirtualizeRegisterTypeLib

與 VirtualizeHKCRLite 修正搭配使用時,可確保同時發生類型程式庫和 COM 類別登錄。使用 RegisterTypeLibForUser 參數時,其運作方式較像 RegistryTypeLib 修正。

note備註
如需 VirtualizeRegisterTypeLib 的詳細資訊,請參閱使用 VirtualizeRegisterTypeLib 修正程式

出現錯誤訊息,指出 "Unable to initialize sound device from your audio driver",然後關閉應用程式。

WaveOutIgnoreBadFormat

讓應用程式略過格式不正確錯誤,並繼續正確地運作。

無法使用

WerDisableReportException

關閉對 Windows 錯誤報告工具的例外狀況自動報告,包括物件連結與嵌入資料庫 (OLE DB) 所報告的例外狀況,方法是攔截 RtlReportException API 並傳回 STATUS_NOT_SUPPORTED 錯誤訊息。

應用程式因找不到必要 Windows 作業系統的正確版本號碼而失敗。

  • Win95VersionLie

  • Win98VersionLie

  • WinNT4SP5VersionLie

  • Win2000VersionLie

  • Win2000SP1VersionLie

  • Win2000SP2VersionLie

  • Win2000SP3VersionLie

  • WinXPVersionLie

  • WinXPSP1VersionLie

  • WinXPSP2VersionLie

  • VistaRTMVersionLie

  • Win2K3RTMVersionLie

  • Win2K3SP1VersionLie

note備註
如需上述各版本錯誤的詳細資訊,請參閱相關主題。例如,使用 VistaRTMVersionLie

所有版本謊報相容性修正程式都可解決應用程式因檢查特定版本的作業系統,卻找不到該版本而無法運作的問題。不論電腦上實際執行的作業系統版本為何,版本謊報都會將適當的作業系統版本資訊 (例如,VistaRTMVersionLie 傳回 Windows Vista 版本資訊) 傳回至應用程式,使該應用程式得以繼續執行。

出現錯誤訊息,指出未正確安裝 WinG 程式庫。

Wing32SystoSys32

偵測 WinG32 程式庫是否出現在正確的目錄中。如果程式庫的位置錯誤,則這個修正一般會在應用程式的執行階段期間,將資訊複製至 %WINDIR%\system32 目錄。

Important重要
應用程式必須具有 Administrator 權限,這個修正才能運作。

應用程式因 VB 執行階段 DLL 而發生問題。

WinXPSP2VersionLie

遵循下列這些步驟,以強制應用程式接受修正:

  1. 開啟 Compatibility Administrator,然後為 [Operating System Mode] 選取 [None]

  2. [Compatibility Fixes] 頁面上,按一下 [WinXPSP2VersionLie],然後按一下 [Parameters]

    [Options for <fix_name>] 對話方塊隨即出現。

  3. [Module Name] 方塊中輸入 vbrun60.dll,並按一下 [Include],然後按一下 [Add]

  4. 儲存自訂資料庫。

    note備註
    如需 WinXPSP2VersionLie 應用程式修正程式的相關資訊,請參閱使用 WinXPSP2VersionLie 修正程式

應用程式在嘗試登錄與 Windows Vista 一起發行的 COM 元件時失敗。

WRPDllRegister

呼叫 DLLRegisterServer 和 DLLUnregisterServer 函數時,略過登錄和取消登錄 WRP 保護的 COM 元件。

您可以在命令提示字元使用下列語法,進一步控制這個修正程式:

Component1.dll;Component2.dll

其中 Component1.dllComponent2.dll 反映要略過的元件。

note備註
如需 WRPDllRegister 的詳細資訊,請參閱使用 WRPDllRegister 修正程式

當應用程式嘗試使用非唯讀存取權存取保護的作業系統資源時,出現拒絕存取錯誤訊息。

WRPMitigation

模擬檔案和登錄 API 的成功驗證及修改,讓應用程式可以繼續進行。

note備註
如需 WRPMitigation 的詳細資訊,請參閱使用 WRPMitigation 修正程式

當應用程式嘗試刪除登錄機碼時,出現拒絕存取錯誤訊息。

WRPRegDeleteKey

確認登錄機碼是否受到 WRP 保護。如果機碼受到保護,則這個修正會模擬刪除處理程序。

無法使用

XPAfxIsValidAddress

模擬 MFC42!AfxIsValidAddress 的 Windows XP 行為。

相容模式

下表列出已知的 Windows Vista 相關相容模式 (包括描述以及所含的相容性修正)。

 

相容模式名稱 說明 所含的相容性修正程式

WinSrv03

模擬 Windows Server 2003 作業系統。

  • Win2k3RTMVersionLie

  • VirtualRegistry

  • ElevateCreateProcess

  • EmulateSorting

  • FailObsoleteShellAPIs

  • LoadLibraryCWD

  • HandleBadPtr

  • GlobalMemoryStatus2GB

  • RedirectMP3Codec

  • EnableLegacyExceptionHandlinginOLE

  • NoGhost

  • HardwareAudioMixer

WinSrv03Sp1

模擬 Windows Server 2003 (含 Service Pack 1 (SP1)) 作業系統。

  • Win2K3SP1VersionLie

  • VirtualRegistry

  • ElevateCreateProcess

  • EmulateSorting

  • FailObsoleteShellAPIs

  • LoadLibraryCWD

  • HandleBadPtr

  • EnableLegacyExceptionHandlinginOLE

  • RedirectMP3Codec

  • HardwareAudioMixer

另請參閱

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見

社群新增項目

新增
顯示:
© 2014 Microsoft