Windows 10、Windows 8、Windows 7、Windows Vista の互換性修正プログラム

Windows オペレーティング システムのバージョン間で行われた変更によるいくつかの互換性の問題を修正できます。これらの問題には、ユーザー アカウント制御 (UAC) の制限も含まれます。

重要  

Application Compatibility Toolkit (ACT) では、32 ビット バージョンと 64 ビット バージョンの Compatibility Administrator ツールがインストールされます。32 ビット アプリケーションには 32 ビット バージョンを使い、64 ビット アプリケーションで作業する場合は 64 ビット バージョンを使う必要があります。間違ったバージョンを使おうとすると、エラー メッセージが表示されます。

Compatibility Administrator を管理者として (管理者特権で) 起動すると、すべての修復されたアプリケーションを正常に実行できますが、仮想化とリダイレクトは期待どおりに動作しない場合があります。互換性修正プログラムが問題に対処したことを確認するには、修復されたアプリケーションを目的のユーザー アカウントで実行してテストする必要があります。

 

互換性修正プログラム

次の表は、Windows Vista から Windows Vista までにリリースされたすべての Windows オペレーティング システムにおける既知の互換性修正プログラムの一覧です。修正プログラムはアルファベット順に並べられています。

修正プログラム 修正プログラムの説明

8And16BitAggregateBlts

8/16 ビットの軽減策によって問題を軽減されたアプリケーションでは、パフォーマンスの問題が発生することがあります。このレイヤーはすべての blt 操作を集約し、パフォーマンスを向上させます。

8And16BitDXMaxWinMode

DX8/9 を使い、8/16 ビットの軽減策によって問題を軽減されたアプリケーションは、最大化ウィンドウ モードで実行されます。このレイヤーは、全画面モードでグラフィカルな障害が発生しているアプリケーションで問題を軽減します。

8And16BitGDIRedraw

この修正プログラムは、GDI を使って 8 ビット カラー モードで動作するアプリケーションを修正します。アプリケーションは RealizePalette でウィンドウの再描画を強制されます。

AccelGdipFlush

この修正プログラムは、GdipFlush の速度を向上させます。GdipFlush は、DWM ではパフォーマンスの問題があります。

AoaMp4Converter

この修正プログラムは、AoA Mp4 コンバーターのディスプレイの問題を解決します。

BIOSRead

この問題は、いずれかの Windows Server® 2003 オペレーティング システムで、アプリケーションがカーネル モード ドライバーで Device\PhysicalMemory オブジェクトにアクセスできない場合に発生します。

修正プログラムは、BIOS が \\Device\Physical メモリ情報を照会されたときに、OEM 実行可能ファイル (.exe) ファイルが NtOpenSection 関数の代わりに GetSystemFirmwareTable 関数を使えるようにします。

BlockRunasInteractiveUser

この問題は、InstallShield がインストーラーとアンインストーラーを作成し、それらが完了できずにエラー メッセージまたは警告を生成する場合に発生します。

修正プログラムは、InstallShieldRunAs レジストリ キーの値を InteractiveUser に設定できないようにします。これは、InteractiveUser に管理者権限がなくなったためです。

  

このアプリケーション修正プログラムについて詳しくは、「BlockRunAsInteractiveUser 修正プログラムの使用」をご覧ください。

 

ChangeFolderPathToXPStyle

この修正プログラムは、アプリケーションが SHGetFolder API を使う場合にシェル フォルダー パスを返すことができないときに必要です。

修正プログラムは、一般的な appdata ファイル パスへの SHGetFolder パス要求に割り込んで、Windows Vista スタイルのファイル パスではなく、Windows® XP スタイルのファイル パスを返します。

ClearLastErrorStatusonIntializeCriticalSection

この修正プログラムは、アプリケーションが起動に失敗する場合に必要になります。

修正プログラムは InitializeCriticalSection 関数呼び出しを変更して、NTSTATUS エラー コードを確認し、最新のエラーを ERROR_SUCCESS に設定するようにします。

CopyHKCUSettingsFromOtherUsers

この問題は、アプリケーションのインストーラーを管理者モードで実行しなければならない場合に、他のユーザーに提供される HKCU 設定に応じて発生します。

修正プログラムは既にあるユーザー プロファイルをスキャンして、指定されたキーを HKEY_CURRENT_USER レジストリ領域にコピーしようとします。

関連する複数のレジストリ キーを ^ シンボルで区切ってパラメーターとして入力することによって、この修正プログラムをさらに細かく制御できます。たとえば、Software\MyCompany\Key1^Software\MyCompany\Key2 のようにします。

  

このアプリケーション修正プログラムについて詳しくは、「CopyHKCUSettingsFromOtherUsers 修正プログラムの使用」をご覧ください。

 

CorrectCreateBrushIndirectHatch

この問題は、画像を選択またはトリミングしたときにアプリケーションが失敗して、アクセス違反エラー メッセージが表示されることによって示されます。

修正プログラムは、ブラシ スタイルのハッチ値を修正します。この値は CreateBrushIndirect() 関数に渡され、情報が正しく解釈されるようにします。

CorrectFilePaths

問題は、アプリケーションがハード ディスクにファイルを書き込もうとして、アクセスを拒否されるか、ファイルまたはパスが見つからないというエラー メッセージを受け取る場合に発生します。

修正プログラムは、ハード ディスク上の新しい場所を指すように、ファイル パス名を変更します。

  

CorrectFilePaths アプリケーション修正プログラムについて詳しくは、「CorrectFilePaths 修正プログラムの使用」をご覧ください。この修正プログラムをセットアップ インストール ファイルに適用する場合は、CorrectFilePathsUninstall 修正プログラムも併用することをお勧めします。

 

CorrectFilePathsUninstall

この問題は、アンインストールされたアプリケーションがファイル、ディレクトリ、リンクを残すと発生します。

修正プログラムは、アプリケーションのアンインストール プロセスによって使われるファイル パスを修正します。

  

この修正プログラムについて詳しくは、「CorrectFilePathsUninstall 修正プログラムの使用」をご覧ください。 この修正プログラムをセットアップ インストール ファイルに適用する場合は、CorrectFilePaths 修正プログラムも併用することをお勧めします。

 

CorrectShellExecuteHWND

この問題は、実行可能 (.exe) ファイルを起動すると、昇格時のプロンプトが表示されずにタスク バー項目が点滅する場合や、アプリケーションが ShellExecute(Ex) 関数を呼び出すときに有効な HWND 値を渡さない場合に発生します。

修正プログラムは、ShellExecute(Ex) の呼び出しに割り込んで、HWND の値を調べます。値が有効でない場合は、現在アクティブな HWND 値を呼び出しが使えるようにします。

  

CorrectShellExecuteHWND アプリケーション修正プログラムについて詳しくは、「CorrectShellExecuteHWND 修正プログラムの使用」をご覧ください。

 

CustomNCRender

この修正プログラムは、DWM に対して非クライアント領域をレンダリングしないように指示し、アプリケーションに独自の NC レンダリングを行うように強制します。こうすることで、多くの場合、ウィンドウは XP の外観になります。

DelayApplyFlag

この修正プログラムは、指定された DLL が読み込まれると、KERNEL、USER、または PROCESS フラグを適用します。

コマンド プロンプトで次のコマンドを入力すると、この修正プログラムをさらに細かく制御できます。

DLL_Name;Flag_Type;Hexidecimal_Value

DLL_Name は、特定の DLL の名前です。ファイル拡張子も含めます。Flag_Type は、KERNEL、USER、または PROCESS で、Hexidecimal_Value は 0x で始まる最長 64 ビットの値です。

  

PROCESS フラグ型は、32 ビット長だけを持つことができます。複数のエントリは円記号 (\) で区切ることができます。

 

DeprecatedServiceShim

問題は、廃止されたサービスに依存するサービスをアプリケーションがインストールしようとする場合に発生します。エラー メッセージが表示されます。

修正プログラムは、CreateService 関数呼び出しに割り込み、廃止された依存サービスを lpDependencies パラメーターから削除します。

コマンド プロンプトで次のコマンドを入力すると、この修正プログラムをさらに細かく制御できます。

Deprecated_Service\App_Service/Deprecated_Service2 \App_Service2

Deprecated_Service は廃止されたサービスの名前であり、App_Service は変更される特定のアプリケーション サービスの名前です。たとえば、NtLmSsp\WMI です。

  

App_Service 名を指定しないと、廃止されたサービスは、新しく作成されたすべてのサービスから削除されます。

 
  

複数のエントリはスラッシュ (/) で区切ることができます。

 

DirectXVersionLie

この問題は、DirectX® の正しいバージョン番号が見つからないためにアプリケーションが失敗すると発生します。

修正プログラムは、正しい DirectX バージョンを返すように DXDIAGN GetProp 関数呼び出しを変更します。

コマンド プロンプトで次のコマンドを入力すると、この修正プログラムをさらに細かく制御できます。

MAJORVERSION.MINORVERSION.LETTER

たとえば、9.0.c のように指定します。

DetectorDWM8And16Bit

この修正プログラムは、8/16 ビットのディスプレイ カラー モードで動作するアプリケーションの問題を軽減します。これらの従来のカラー モードは、Windows 8 ではサポートされていません。

Disable8And16BitD3D

この修正プログラムは、DirectDraw を混在させずに D3D を使ってレンダリングする 8/16 ビット カラーのアプリケーションのパフォーマンスを向上させます。

Disable8And16BitModes

この修正プログラムは、8/16 ビット カラーの軽減策と 8/16 ビット カラー モードの列挙を無効にします。

DisableDWM

この問題は、いくつかのオブジェクトが描画されないか、オブジェクトのアーティファクトがアプリケーションの画面上に残ると発生します。

修正プログラムは、Windows Aero メニュー テーマ機能を、サポートされていないアプリケーションで一時的に無効にします。

  

このアプリケーション修正プログラムについて詳しくは、「DisableDWM 修正プログラムの使用」をご覧ください。

 

DisableFadeAnimations

この問題は、アプリケーションのフェード アニメーション、ボタン、その他のコントロールが正常に機能しない場合に発生します。

修正プログラムは、フェード アニメーション機能を、サポートされていないアプリケーションで無効にします。

DisableThemeMenus

この問題は、正しい Windows の設定を検出して使おうとするときに想定外の動作をするアプリケーションによって発生します。

修正プログラムは、Windows Aero メニュー テーマ機能を、サポートされていないアプリケーションで一時的に無効にします。

DisableWindowsDefender

修正プログラムは、Windows Defender と共に動作できないセキュリティ アプリケーションで、Windows Defender を無効にします。

DWM8And16BitMitigation

この修正プログラムは、8/16 ビットのディスプレイ カラー モードで動作するアプリケーションの問題を軽減します。これらの従来のカラー モードは、Windows 8 ではサポートされていません。

DXGICompat

修正プログラムは、アプリケーション固有の互換性の命令が DirectX エンジンに渡されるようにします。

DXMaximizedWindowedMode

DX8/9 を使うアプリケーションは、最大化ウィンドウ モードで実行されます。これは、Direct3D だけでなく、GDI/DirectDraw を使うアプリケーションでも必要です。

ElevateCreateProcess

この問題は、ホスト プロセスが CreateProcess 関数を呼び出し、ERROR_ELEVATION_REQUIRED エラー メッセージが返されたために、インストール、インストールの削除、または更新が失敗したときに発生します。

修正プログラムはエラー コードを処理し、要求された昇格と共に CreateProcess 関数の再呼び出しを試みます。修正されたアプリケーションに既に UAC マニフェストがある場合、エラー コードは変更されずに返されます。

  

このアプリケーション修正プログラムについて詳しくは、「ElevateCreateProcess 修正プログラムの使用」をご覧ください。

 

EmulateOldPathIsUNC

この問題は、正しくない UNC パスのためにアプリケーションが失敗すると発生します。

修正プログラムは、Windows の UNC パスに対して True の値を返すように、PathIsUNC 関数を変更します。

EmulateGetDiskFreeSpace

この問題は、アプリケーションがインストールまたは実行に失敗し、アプリケーションの要件を満たす十分な空きディスク領域があるのに、アプリケーションをインストールまたは実行するための十分な空きディスク領域がないというエラー メッセージが生成される場合に発生します。

修正プログラムは、空き領域の量を判断し、空き領域の量が 2 GB より多い場合には 2 GB の値を返し、空き領域の量が 2 GB 未満の場合は実際の空き領域の量を返すようにします。

  

このアプリケーション修正プログラムについて詳しくは、「EmulateGetDiskFreeSpace 修正プログラムの使用」をご覧ください。

 

EmulateSorting

この問題は、アプリケーションの検索機能がうまく動作しない場合に発生します。

修正プログラムは、CompareStringW/LCMapString 並べ替えテーブルを使うアプリケーションに、旧バージョンのテーブルを使うように強制します。

  

このアプリケーション修正プログラムについて詳しくは、「EmulateSorting 修正プログラムの使用」をご覧ください。

 

EmulateSortingWindows61

修正プログラムは、さまざまな API に対して Windows 7 と Windows Server 2008 R2 の並べ替え順序をエミュレートします。

EnableRestarts

この問題は、プロセスが終了できず、コンピューターが再起動のプロセスを完了できないために、アプリケーションとコンピューターがハングしたように見えるときに発生します。

修正プログラムは、SeShutdownPrivilege サービス特権が存在することを確認し、これを有効にして、コンピューターが再起動してインストール プロセスを終了できるようにします。

  

このアプリケーション修正プログラムについて詳しくは、「EnableRestarts 修正プログラムの使用」をご覧ください。

 

ExtraAddRefDesktopFolder

この問題は、アプリケーションによる Release() メソッドの呼び出しが多すぎて、オブジェクトが途中で破棄される場合に発生します。

修正プログラムは、SHGetDesktopFolder 関数によって返されるデスクトップ フォルダーの AddRef() メソッドを呼び出して、アプリケーションがシェル デスクトップ フォルダーを取得しようとするのを防ぎます。

FailObsoleteShellAPIs

この問題は、廃止された API 呼び出しを生成したためにアプリケーションが失敗すると発生します。

修正プログラムは廃止された関数を完全に実装するか、失敗するスタブで実装します。

  

関数の実装を抑制し、すべての関数を失敗させるには、コマンド プロンプトで「FailAll=1」と入力します。

 

FailRemoveDirectory

この問題は、アプリケーションのアンインストール プロセスが一部のアプリケーション ファイルとフォルダーを削除しない場合に発生します。

この修正プログラムでの RemoveDirectory() 呼び出しは、shim コマンド ラインで指定されたパスと一致するパスを使って呼び出された場合、失敗します。 パスは 1 つしかサポートされていません。 パスには環境変数を含めることができますが、正確なパスである必要があります。部分的なパスはサポートされていません。

修正プログラムは、フォルダーへのハンドルが開かれていても、RemoveDirectory() によってフォルダーがすぐに削除されるとアプリケーションで想定されている場合に、問題を解決できます。

FakeLunaTheme

この問題は、テーマの適用が正しく表示されず、色が褪せたり、ユーザー インターフェイスの詳細が表示されなかったりする場合に発生します。

修正プログラムは、GetCurrentThemeName API をインターセプトし、Windows XP の既定のテーマ (Luna) の値を返します。

  

FakeLunaTheme アプリケーション修正プログラムについて詳しくは、「FakeLunaTheme 修正プログラムの使用」をご覧ください。

 

FlushFile

この問題は、ファイルが更新され、変更がハード ディスクにすぐに反映されない場合に発生します。アプリケーションは、ファイルの変更を認識できません。

修正プログラムは、WriteFile 関数が FlushFileBuffers API を呼び出せるようにします。この API は、ファイル キャッシュをハード ディスクにフラッシュします。

FontMigration

修正プログラムは、アプリケーションによって要求されたフォントを、より適したフォントに置き換えて、テキストが切り詰められないようにします。

ForceAdminAccess

この問題は、アプリケーションが明示的な管理者チェックの間に機能しなかった場合に発生します。

修正プログラムは、管理者チェック中に true の値を返すことで、ユーザーが一時的に Administrators グループのメンバーのように操作できるようにします。

  

このアプリケーション修正プログラムについて詳しくは、「ForceAdminAccess 修正プログラムの使用」をご覧ください。

 

ForceInvalidateOnClose

修正プログラムは、無効化メッセージに依存するアプリケーションでウィンドウを閉じたり非表示にしたりしたときに存在するウィンドウを無効にします。

ForceLoadMirrorDrvMitigation

修正プログラムは、軽減策が自動的に適用されないアプリケーションに Windows 8 ミラー ドライバー軽減策を読み込みます。

FreestyleBMX

修正プログラムは、ウィンドウ メッセージの順序に関連するアプリケーションの競合状態を解決します。

GetDriveTypeWHook

アプリケーションがインストール時に異常な動作を示します。たとえば、ユーザー指定の場所にインストールできないというメッセージをセットアップ プログラムが表示します。

修正プログラムは GetDriveType() を変更して、ファイル パスにルート情報だけが表示されるようにします。この処理は、ファイル パスが存在するドライブの種類をアプリケーションが取得しようとするときに、アプリケーションが不完全または誤った形式のファイル パスを渡す場合に必要です。

GlobalMemoryStatusLie

この問題は、アプリケーションの起動時に表示される "コンピューターのメモリがいっぱいです" というエラー メッセージによって示されます。

修正プログラムはメモリの状態の構造を変更し、実際のスワップ ファイルのサイズにかかわらず、400 MB のスワップ ファイルが報告されるようにします。

HandleBadPtr

この問題は、API がパラメーターを使う前にポインターの検証を実行しているために表示されるアクセス違反エラー メッセージによって示されます。

修正プログラムは、追加のパラメーター検証を実行するために、InternetSetOptionA 関数と InternetSetOptionW 関数から lpBuffer 検証を使えるようにサポートします。

HandleMarkedContentNotIndexed

この問題は、アプリケーションがファイルまたはディレクトリの属性を変更するときに失敗することによって発生します。

修正プログラムは、%TEMP% ディレクトリから呼び出された、ファイル属性とディレクトリを返すすべての API 呼び出しに割り込んで、FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 属性を元の状態にリセットします。

HeapClearAllocation

この問題は、割り当てプロセスが予期せずシャットダウンされた場合に発生します。

修正プログラムは、ゼロを使って、アプリケーションのヒープ割り当てをクリアします。

IgnoreAltTab

この問題は、特別なキーの組み合わせが使われたときにアプリケーションが機能しなかった場合に発生します。

修正プログラムは、RegisterRawInputDevices API に割り込み、WM_INPUT メッセージが配信されないようにします。この配信の失敗により、含まれているフックが無視され、DInput では Windows 固有のフックが使われるようになります。

  

このアプリケーション修正プログラムについて詳しくは、「IgnoreAltTab 修正プログラムの使用」をご覧ください。

 

IgnoreChromeSandbox

修正プログラムは、4 GB を超えて ntdll が読み込まれているシステム上で Google Chrome を実行できるようにします。

IgnoreDirectoryJunction

この問題は、アプリケーションがファイルの検索または開くことを試行したときに、読み取りまたはアクセス違反エラー メッセージが表示されることによって示されます。

修正プログラムは、FindNextFileW、FindNextFileA、FindFirstFileExW、FindFirstFileExA、FindFirstFileW、FindFirstFileA API をリンクして、それらがディレクトリ ジャンクションを返さないようにします。

  

シンボリック リンクは、Windows Vista 以降で表示されます。

 

IgnoreException

この問題は、アプリケーションが起動直後に機能を停止したか、アプリケーションが起動しても画面にカーソルが表示されるだけである場合に発生します。

修正プログラムは、指定された例外をアプリケーションが無視できるようにします。既定では、この修正プログラムは特権モードの例外を無視します。ただし、すべての例外を無視するように構成することもできます。

コマンド プロンプトで次のコマンドを入力すると、この修正プログラムをさらに細かく制御できます。

Exception1;Exception2

Exception1 と Exception2 は、無視する特定の例外です。例: ACCESS_VIOLATION_READ:1;ACCESS_VIOLATION_WRITE:1。

重要  

この互換性修正プログラムは、例外を無視してもよいことが確実である場合にだけ使います。例外の無視が適切でなかった場合は、他の互換性の問題が発生する可能性があります。

 
  

このアプリケーション修正プログラムについて詳しくは、「IgnoreException 修正プログラムの使用」をご覧ください。

 

IgnoreFloatingPointRoundingControl

この修正プログラムは、アプリケーションが丸め制御要求を無視し、以前のバージョンのアプリケーションで期待どおりに動作できるようにします。

C ランタイム ライブラリでの浮動小数点 SSE2 のサポート以前は、丸め制御要求が無視され、四捨五入のオプションが既定で使われていました。この shim は丸め制御要求を無視し、以前の動作に基づくアプリケーションをサポートします。

IgnoreFontQuality

この問題は、アプリケーションのテキストがゆがんで見えるときに発生します。

修正プログラムは、色キー付きのフォントがアンチエイリアシングと共に適切に機能するようにします。

IgnoreMessageBox

この問題は、アプリケーションが想定外のオペレーティング システムで実行された場合に、デバッグ用のコンテンツや外部コンテンツと共に表示されるメッセージ ボックスによって示されます。

修正プログラムは、MessageBox* API に割り込んで、特定のメッセージ テキストを検査します。一致するテキストが見つかった場合、アプリケーションはメッセージ ボックスを表示せずに続行されます。

  

このアプリケーション修正プログラムについて詳しくは、「IgnoreMessageBox 修正プログラムの使用」をご覧ください。

 

IgnoreMSOXMLMF

この問題は、オペレーティング システムが MSVCR80D.DLL ファイルを見つけられないことを知らせるエラー メッセージによって示されます。

修正プログラムは、登録された MSOXMLMF.DLL オブジェクトを無視します。これは、XML ファイルを読み込むと Microsoft® Office 2007 によってオペレーティング システムに読み込まれるオブジェクトです。その後、その CLSID での CoGetClassObject は失敗します。この互換性修正プログラムは、登録された MSOXMLMF を単に無視し、その CLSID での CoGetClassObject は失敗します。

IgnoreSetROP2

修正プログラムは、パフォーマンスの問題を避けるために、デスクトップでの RMW (Read-Modify-Write) 操作を無視します。

InstallComponent

修正プログラムは、ユーザーに .Net 3.5 または .Net 2.0 のインストールを求めるメッセージを表示します。Windows 8 には .Net が含まれていないためです。

LoadLibraryRedirect

修正プログラムは、アプリケーション付属の再頒布可能バージョンではなくシステム バージョンのライブラリを読み込むように、アプリケーションに強制します。

LocalMappedObject

この問題は、アプリケーションがグローバル名前空間でオブジェクトを作成しようとして失敗した場合に発生します。

修正プログラムは、オブジェクトを作成する関数呼び出しに割り込み、Global という単語を Local に置き換えます。

  

このアプリケーション修正プログラムについて詳しくは、「LocalMappedObject 修正プログラムの使用」をご覧ください。

 

MakeShortcutRunas

この問題は、アクセス関連のエラーのためにアプリケーションがアンインストールに失敗すると発生します。

修正プログラムは、RunDLL.exe ベースのアンインストーラーを探して、アプリケーションのインストール時にはそれらが別の資格情報で実行されるようにします。この修正の適用後、インストーラーはアプリケーションのインストール中に実行されるマッチング文字列を指定するショートカットを作成します。そのため、後でアンインストールを実行できます。

  

このアプリケーション修正プログラムについて詳しくは、「MakeShortcutRunas 修正プログラムの使用」をご覧ください。

 

ManageLinks

修正プログラムは、ディレクトリまたは実行可能 (.exe) ファイルを参照している共通の API に割り込んで、元の API に返す前にシンボリックまたはディレクトリ ジャンクションを変換します。

MirrorDriverWithComposition

修正プログラムは、ミラー ドライバーが、許容できるパフォーマンスでデスクトップ コンポジションと共に正しく動作できるようにします。

MoveToCopyFileShim

この問題は、アプリケーションにセットアップ中のセキュリティ アクセスの問題がある場合に発生します。

修正プログラムは、MoveFile API の代わりに CopyFile API が実行されるようにします。CopyFile API ではセキュリティ記述子が移動されないため、アプリケーション ファイルは移動先フォルダーの既定の記述子を取得でき、セキュリティ アクセスの問題を回避できます。

OpenDirectoryAcl

この問題は、アプリケーションにアクセスするための適切なアクセス許可がないことを知らせるエラー メッセージによって示されます。

修正プログラムは、指定された一連のファイルとフォルダーのセキュリティ特権レベルを下げます。

  

このアプリケーション修正プログラムについて詳しくは、「OpenDirectoryACL 修正プログラムの使用」をご覧ください。

 

PopCapGamesForceResPerf

修正プログラムは、Bejeweled2 などの PopCap ゲームのパフォーマンスの問題を解決します。パフォーマンスの問題は、特定の解像度の特定のロー エンドのカードで、1024 x 768 のバッファーがディスプレイの解像度に合わせて拡大される場合に発生します。

PreInstallDriver

修正プログラムは、通常はアプリケーションの最初の起動プロセスでインストールまたは開始が試行されるドライバーをプレインストールします。

PreInstallSmarteSECURE

通常は最初の起動プロセス中に CLSID のインストールが試行されますが、修正プログラムは、SmartSECURE コピー防止を使うアプリケーションのコンピューター全体での CLSID をプレインストールします。

ProcessPerfData

この問題は、アプリケーションの他のインスタンスが実行中かどうかを判断するためにプロセス パフォーマンス データのレジストリ値を読み取ろうとしたことによって生成された "ハンドルされていない例外" エラー メッセージによって示されます。

修正プログラムは、ダミーのプロセス パフォーマンス データ レジストリ キーを渡すことでエラーを処理し、アプリケーションが実行中の唯一のインスタンスであると認識するようにします。

  

この問題は、.NET アプリケーションで最も頻繁に発生するようです。

 

PromoteDAM

修正プログラムは、電力状態の変化通知にアプリケーションを登録します。

PropagateProcessHistory

この問題は、アプリケーションがアプリケーション修正プログラムの適用に不適切に失敗した場合に発生します。

修正プログラムは、_PROCESS_HISTORY 環境変数を設定して、アプリケーションの修正プログラムを探すときに子プロセスが親ディレクトリを参照して一致する情報を探せるようにします。

ProtectedAdminCheck

この問題は、間違った "保護された管理者" アクセス許可のために、アプリケーションが実行できなかった場合に発生します。

修正プログラムは、アプリケーションが標準以外の管理者チェックを使うときに発生する問題に対処します。そのため、保護された管理者として実行されているユーザー アカウントに対して間違ったエラーが生成されます。この場合、関連付けられている SID は存在しますが、拒否のみに設定されています。

RedirectCRTTempFile

修正プログラムは、ボリュームのルートに一時ファイルを作成しようとして失敗する CRT 呼び出しに割り込み、呼び出しをユーザーの一時ディレクトリの一時ファイルにリダイレクトします。

RedirectHKCUKeys

この問題は、ユーザー アカウント制御 (UAC) の制限のためにアプリケーションにアクセスできないときに発生します。

修正プログラムは、新たに作成された HKCU キーを他のユーザーの HKCU アカウントに複製します。この修正プログラムは、HKCU キーが必要であるものの、実行時にアプリケーションから利用できないような UAC 制限に対して汎用的です。

RedirectMP3Codec

この問題は MP3 ファイルを再生できない場合に発生します。

修正プログラムは、見つからないフィルターに対する CoCreateInstance 呼び出しに割り込んで、サポートされているバージョンにリダイレクトします。

RedirectShortcut

この問題は、ショートカットからアプリケーションにアクセスできないか、アプリケーションのアンインストール プロセス中にアプリケーションのショートカットが削除されない場合に発生します。

修正プログラムは、アプリケーションのセットアップ中に作成されたすべてのショートカットをリダイレクトして、指定されたパスに従って表示されるようにします。

  • [スタート] メニューのショートカット: すべてのユーザーの \\ProgramData\Microsoft\Windows\Start Menu ディレクトリに表示されます。

  • デスクトップまたはクイック起動のショートカット: ショートカットを個々のユーザーのデスクトップまたはクイック起動バーに手動で配置する必要があります。

この問題は、UAC 制限のために発生します。具体的には、管理者特権を使ってアプリケーションのセットアップが実行され、管理者ユーザーのコンテキストに従ってショートカットが格納される場合に発生します。この場合、制限されたユーザーはショートカットにアクセスできません。

マニフェストを含み、実行レベルを提供する .exe ファイルには、この修正プログラムを適用できません。

RelaunchElevated

この問題は、インストーラー、アンインストーラー、またはアップデーターをホスト アプリケーションから起動すると失敗する場合に発生します。

修正プログラムは、親プロセスに ElevateCreateProcess 修正プログラムが適用されているのか、.exe ファイルが RunAsAdmin としてマークされているのかを判断することが難しい場合に、子 .exe ファイルを管理者特権で実行できるようにします。

  

このアプリケーション修正プログラムについて詳しくは、「RelaunchElevated 修正プログラムの使用」をご覧ください。

 

RetryOpenSCManagerWithReadAccess

この問題は、アプリケーションがサービス コントロール マネージャー (SCM) を開こうとして、アクセス拒否エラー メッセージを受信すると発生します。

修正プログラムは呼び出しを再試行し、次のような、より制限された一連の権利を要求します。

RetryOpenServiceWithReadAccess

この問題は、"特定のサービスが存在するかどうかをテストするために OpenService() API を使っているアプリケーションのためにサービスを開けません" というエラー メッセージが表示される場合に発生します。

修正プログラムは、OpenService() API 呼び出しを再試行し、ユーザーが管理者権限を持ち、保護された管理者ではなく、読み取り専用アクセスを使っていることを確認します。アプリケーションは、サービスが存在するかどうかをテストするために OpenService() API を呼び出すことができますが、一部のアプリケーションはこのチェックを行うときにすべてのアクセスを必要とします。 この修正プログラムは呼び出しを再試行しますが、読み取り専用アクセスだけを必要とします。 これが正しく動作するためには、ユーザーが管理者である必要があります。

  

このアプリケーション修正プログラムについて詳しくは、「RetryOpenServiceWithReadAccess 修正プログラムの使用」をご覧ください。

 

RunAsAdmin

この問題は、標準ユーザー アカウントまたは保護された管理者アカウントを使うとアプリケーションが機能しない場合に発生します。

修正プログラムは、管理者特権を使ってアプリケーションを実行できるようにします。この修正プログラムは、アプリケーション マニフェストで requireAdministrator を指定することと同等です。

  

このアプリケーション修正プログラムについて詳しくは、「RunAsAdmin 修正プログラムの使用」をご覧ください。

 

RunAsHighest

この問題は、標準ユーザーに読み取り専用ビューを提供するアプリケーションの読み取り/書き込みバージョンを管理者が表示できない場合に発生します。

修正プログラムは、可能な範囲で最高のアクセス許可を使ってアプリケーションを実行できるようにします。これは、アプリケーション マニフェストで highestAvailable を指定することと同等です。

  

このアプリケーション修正プログラムについて詳しくは、「RunAsHighest 修正プログラムの使用」をご覧ください。

 

RunAsInvoker

この問題は、アプリケーションが昇格を要求していることが検出されない場合に発生します。

修正プログラムは、昇格を要求せずに、作成プロセスに関連付けられている特権を使ってアプリケーションを実行できるようにします。これは、アプリケーション マニフェストで asInvoker を指定することと同等です。

  

このアプリケーション修正プログラムについて詳しくは、「RunAsInvoker 修正プログラムの使用」をご覧ください。

 

SecuROM7

修正プログラムは、コピー防止のために SecuROM7 を使ってアプリケーションを修復します。

SessionShim

修正プログラムは、ターミナル サービス名プレフィックス (Global または Local) をパラメーターとして使って、別のセッションで実行されているサービスとやり取りしようとしているアプリケーションからの API 呼び出しに割り込みます。

コマンド プロンプトで、変更するオブジェクトの一覧を指定できます。各値は二重の円記号 (\\) で区切ります。また、パラメーターを含めないこともできます。その場合は、すべてのオブジェクトが変更されます。

重要  

Windows Vista 以降では、ユーザーはセッション 0 (グローバル セッション) としてログインすることはできません。そのため、セッション 0 へのアクセスを必要とするアプリケーションは、自動的に失敗します。

 
  

このアプリケーション修正プログラムについて詳しくは、「SessionShim 修正プログラムの使用」をご覧ください。

 

SetProtocolHandler

修正プログラムは、アプリケーションをプロトコル ハンドラーとして登録します。

コマンド プロンプトで次のコマンドを入力すると、この修正プログラムをさらに細かく制御できます。

Client;Protocol;App

Client は電子メール プロトコルの名前、Protocol は mailto、App はアプリケーションの名前です。

  

メール クライアントと mailto プロトコルだけがサポートされています。複数のクライアントは円記号 (\) で区切ることができます。

 

SetupCommitFileQueueIgnoreWow

この問題は、64 ビット ドライバーが必要であるために、32 ビットのセットアップ プログラムがインストールに失敗した場合に発生します。

修正プログラムは、64 ビット版の Windows で使われる Wow64 ファイル システムを無効にして、32 ビット アプリケーションがアプリケーションのセットアップ中に 64 ビット ファイル システムにアクセスできないようにします。

SharePointDesigner2007

修正プログラムは、アプリケーションが DWM で実行される場合に反応速度が大幅に低下するバグを解決します。

ShimViaEAT

この問題は、問題を修正することが知られている互換性修正プログラムを適用した後でもアプリケーションが失敗する場合に発生します。unicows.dll やコピー防止機能を使っているアプリケーションで、この問題がよく起きます。

修正プログラムは、エクスポート テーブルを変更し、モジュールの包含と除外を無効化することによって、指定された互換性修正プログラムを適用します。

  

このアプリケーション修正プログラムについて詳しくは、「ShimViaEAT 修正プログラムの使用」をご覧ください。

 

ShowWindowIE

この問題は、Web アプリケーションでタブ移動機能のためにナビゲーションと表示の問題が起きる場合に発生します。

修正プログラムは、Web アプリケーションが子ウィンドウ内にあると判断される場合に起きることがある問題に対処するために、ShowWindow API 呼び出しに割り込みます。この修正プログラムが、最上位レベルの親ウィンドウに対して実際の ShowWindow API を呼び出します。

SierraWirelessHideCDROM

修正プログラムは、Sierra Wireless Driver のインストールを修復し、バグチェックが行われないようにします。

Sonique2

アプリケーションが無効なウィンドウ スタイルを使い、DWM で正しく表示されません。この修正プログラムは、ウィンドウ スタイルを有効な値に置き換えます。

SpecificInstaller

この問題は、アプリケーションのインストール ファイルが GenericInstaller 関数によって取得できなかった場合に発生します。

修正プログラムは、アプリケーションにインストーラー ファイル (たとえば setup.exe) としてフラグを設定し、昇格を促すメッセージを表示します。

  

このアプリケーション修正プログラムについて詳しくは、「SpecificInstaller 修正プログラムの使用」をご覧ください。

 

SpecificNonInstaller

この問題は、インストーラーではない、十分な特権を持っているアプリケーションが、GenericInstaller 関数からの誤検知を生成する場合に発生します。

修正プログラムは、GenericInstaller 関数による検出から除外されるように、アプリケーションにフラグを設定します。

  

このアプリケーション修正プログラムについて詳しくは、「SpecificNonInstaller 修正プログラムの使用」をご覧ください。

 

SystemMetricsLie

修正プログラムは、SystemMetrics の値と SystemParametersInfo の値を以前のバージョンの Windows の値に置き換えます。

TextArt

DWM が ON のときと OFF のときとで異なるマウス座標をアプリケーションが受け取ります。そのため、アプリケーションがハングします。この修正プログラムは問題を解決します。

TrimDisplayDeviceNames

修正プログラムは、EnumDisplayDevices API から返されるディスプレイ デバイスの名前をトリミングします。

UIPICompatLogging

修正プログラムは、Internet Explorer やその他のプロセスからの Windows メッセージをログ記録できるようにします。

UIPIEnableCustomMsgs

この問題は、カスタマイズされた Windows メッセージが配信されないために、アプリケーションが他のプロセスと適切に通信しない場合に発生します。

修正プログラムは、カスタマイズされた Windows メッセージが、より低いデスクトップ整合性レベルから現在のプロセスに渡されるようにします。この修正プログラムは、コードの ChangeWindowMessageFilter 関数の前に RegisterWindowMessage 関数を呼び出すことと同等です。

コマンド プロンプトで次のコマンドを入力すると、この修正プログラムをさらに細かく制御できます。

MessageString1 MessageString2

MessageString1 と MessageString2 は、引き渡すメッセージ文字列を表します。

  

複数のメッセージ文字列はスペースで区切る必要があります。このアプリケーション修正プログラムについて詳しくは、「UIPIEnableCustomMsgs 修正プログラムの使用」をご覧ください。

 

UIPIEnableStandardMsgs

この問題は、標準 Windows メッセージが配信されないために、アプリケーションが他のプロセスと適切に通信しない場合に発生します。

修正プログラムは、標準 Windows メッセージが、より低いデスクトップ整合性レベルから現在のプロセスに渡されるようにします。この修正プログラムは、コードで ChangeWindowMessageFilter 関数を呼び出すことと同等です。

コマンド プロンプトで次のコマンドを入力すると、この修正プログラムをさらに細かく制御できます。

1055 1056 1069

1055 は渡すことができる最初のメッセージ ID、1056 は 2 つ目のメッセージ ID、1069 は 3 つ目のメッセージ ID を表します。

  

複数のメッセージはスペースで区切る必要があります。このアプリケーション修正プログラムについて詳しくは、「UIPIEnableStandardMsgs 修正プログラムの使用 [act]」をご覧ください。

 

VirtualizeDeleteFileLayer

修正プログラムは、保護されたファイルを削除しようとする、アプリケーションの DeleteFile 操作を仮想化します。

VirtualizeDesktopPainting

この修正プログラムは、DWM を使っているときに、デスクトップ DC に対する多くの操作のパフォーマンスを向上させます。

VirtualRegistry

この問題は、アプリケーションの開始時に "コンポーネントが見つかりませんでした" というエラー メッセージが表示されることによって示されます。

修正プログラムは、仮想化、リダイレクト、拡張値、バージョン スプーフィング、パフォーマンス データ カウンターのシミュレーションなどをレジストリ関数が許可できるようにします。

このアプリケーション修正プログラムについて詳しくは、「VirtualRegistry 修正プログラムの使用」をご覧ください。

VirtualizeDeleteFile

この問題は、いくつかのエラー メッセージが表示され、アプリケーションがファイルを削除できない場合に発生します。

修正プログラムは、Windows Vista で発生するようになった UAC とファイル仮想化の問題を修正するために、アプリケーションの DeleteFile 関数呼び出しを仮想呼び出しにします。この修正プログラムは、ファイルの仮想化が削除されるように、他のファイル API (たとえば、GetFileAttributes) もリンクします。

  

このアプリケーション修正プログラムについて詳しくは、「VirtualizeDeleteFile 修正プログラムの使用」をご覧ください。

 

VirtualizeHKCRLite

この問題は、アプリケーションが実行時に COM コンポーネントを登録できなかった場合に発生します。

修正プログラムは、ユーザーごとの COM 登録のために、HKCR 書き込み呼び出し (HKLM) を HKCU ハイブにリダイレクトします。VirtualizeHKCR パラメーターを使った場合の VirtualRegistry 修正プログラムとほぼ同じように動作しますが、VirtualizeHKCRLite の方が優れたパフォーマンスを提供します。

HKCR は、HKCU\Software\Classes と HKLM\Software\Classes ディレクトリの仮想マージです。アプリケーションが昇格されない場合は HKCU が優先して使われ、アプリケーションが昇格される場合は無視されます。

通常は、この互換性修正プログラムを、VirtualizeRegisterTypeLib 修正プログラムと共に使います。

このアプリケーション修正プログラムについて詳しくは、「VirtualizeHKCRLite 修正プログラムの使用」をご覧ください。

VirtualizeRegisterTypeLib

VirtualizeHKCRLite 修正プログラムと組み合わせて使う場合、この修正プログラムは、タイプ ライブラリと COM クラスの登録が同時に行われるようにします。RegisterTypeLibForUser パラメーターが使われる場合、この関数は RegistryTypeLib 修正プログラムとほぼ同じです。

  

このアプリケーション修正プログラムについて詳しくは、「VirtualizeRegisterTypelib 修正プログラムの使用」をご覧ください。

 

WaveOutIgnoreBadFormat

この問題は、"オーディオ ドライバーからサウンド デバイスを初期化できません" というエラー メッセージによって示されます。その後、アプリケーションは閉じられます。

修正プログラムは、アプリケーションが形式のエラーを無視して正常に機能し続けられるようにします。

WerDisableReportException

修正プログラムは、Windows エラー報告ツールへの例外のサイレント レポートを、オブジェクトのリンクと埋め込みデータベース (OLE DB) によるレポートも含めて無効にします。修正プログラムは、RtlReportException API に割り込んで、STATUS_NOT_SUPPORTED エラー メッセージを返します。

Win7RTM/Win8RTM

レイヤーがアプリケーションに Windows 7/Windows 8 互換モードを提供します。

WinxxRTMVersionLie

この問題は、要求された Windows オペレーティング システムの正しいバージョン番号が見つからないためにアプリケーションが失敗すると発生します。

すべてのバージョン偽装互換性修正プログラムは、オペレーティング システムの特定のバージョンをチェックしても見つからないためにアプリケーションが機能しなくなるという問題に対処します。バージョン偽装修正プログラムは、適切なオペレーティング システム バージョン情報を返します。たとえば、VistaRTMVersionLie は、コンピューターで実行されている実際のオペレーティング システム バージョンに関係なく、Windows Vista のバージョン情報をアプリケーションに返します。

Wing32SystoSys32

この問題は、WinG ライブラリが正常にインストールされていないことを伝えるエラー メッセージによって示されます。

修正プログラムは、WinG32 ライブラリが正しいディレクトリに存在するかどうかを調べます。ライブラリが正しくない場所にある場合、この修正プログラムは情報を %WINDIR% \system32 ディレクトリにコピーします (通常はアプリケーションの実行中に)。

重要  

この修正プログラムが機能するには、アプリケーションに管理者特権が必要です。

 

WinSrv08R2RTM

WinXPSP2VersionLie

この問題は、VB ランタイム DLL のためにアプリケーションで問題が起きる場合に発生します。

修正プログラムは、アプリケーションが次の手順に従うようにします。

  1. Compatibility Administrator を開いて、[オペレーティング システム モード][なし] を選びます。

  2. [互換性修正プログラム] ページで [WinXPSP2VersionLie] をクリックし、[パラメーター] をクリックします。

    [<fix_name> のオプション] ダイアログ ボックスが表示されます。

  3. [モジュール名] ボックスに「vbrun60.dll」と入力し、[含める] をクリックして [追加] をクリックします。

  4. カスタム データベースを保存します。

      

    WinXPSP2VersionLie アプリケーション修正プログラムについて詳しくは、「WinXPSP2VersionLie 修正プログラムの使用」をご覧ください。

     

WRPDllRegister

アプリケーションが、Windows Vista 以降と共にリリースされた COM コンポーネントを登録しようとすると失敗します。

修正プログラムは、DLLRegisterServer と DLLUnregisterServer 関数を呼び出すときに、WRP で保護された COM コンポーネントの登録と登録解除のプロセスをスキップします。

コマンド プロンプトで次のコマンドを入力すると、この修正プログラムをさらに細かく制御できます。

Component1.dll;Component2.dll

Component1.dll と Component2.dll は、スキップするコンポーネントを表します。

  

このアプリケーション修正プログラムについて詳しくは、「WRPDllRegister 修正プログラムの使用」をご覧ください。

 

WRPMitigation

この問題は、アプリケーションが読み取り専用アクセスより高い権限を使って、保護されたオペレーティング システム リソースにアクセスしようとしたときに、アクセス拒否のエラー メッセージが表示されることによって示されます。

修正プログラムは、アプリケーションを続行できるように、ファイルとレジストリの API に対する認証と変更の成功をエミュレートします。

  

WRPMitigation について詳しくは、「WRPMitigation 修正プログラムの使用」をご覧ください。

 

WRPRegDeleteKey

この問題は、アプリケーションがレジストリ キーを削除しようとしたときに、アクセス拒否エラー メッセージが表示されることによって示されます。

修正プログラムは、レジストリ キーが WRP で保護されているかどうかを確認します。キーが保護されている場合、この修正プログラムは削除プロセスをエミュレートします。

XPAfxIsValidAddress

修正プログラムは、MFC42!AfxIsValidAddress に対する Windows XP の動作をエミュレートします。

 

互換性モード

次の表に既知の互換性モードを示します。

互換モード名 説明 含まれている互換性修正プログラム

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