QFixApp ユーザー ガイド

QFixApp.exe に関するユーザー ガイド (ShimDBC.exe を含む)

トピック

QFixApp の概要
QFixApp を使用して、アプリケーションの修正点を把握する
QFixApp の高度な機能
Windows XP 上への修正点の展開

QFixApp の概要

以前のバージョンの Windows では正しく動いていたアプリケーションが、Windows XP では適切に機能しないことがあり得ます。そのような事態が発生する原因として、下記の理由が挙げられます。

  • Windows から新しい上位OSのバージョン番号を渡されたときに、アプリケーションはそれを受け付けません。アプリケーション内のその処理を行っている部分をユーザが回避することができれば、Windows のバージョンが新しくなっても、アプリケーションは多くの場合正常に作動します。

  • アプリケーションは古いバージョンの Win32 API 関数を呼び出します。ところが、呼び出されたWin32 API 関数は、ディスクの空きスペースのような資源量の多いマシン上では、異常な値を返します。

  • アプリケーションでは古いフォーマットの Windows データを想定しています。

  • アプリケーションで必要とする個人フォルダや一時フォルダのようなユーザ情報が、特定のロケーションにあるかまたは特定のフォーマットであることが前提とされています。

古いアプリケーションが Windows XP上で正常に動作しないそのほかの理由については、このコンパクト ディスクに収録されているホワイトペーパCommon Application Compatibility Issues on Windows XP.doc を参照してください。

QFixApp.exe ツールを使用すると、任意の実行可能ファイルを選択して、実行可能ファイルに現在適用可能な 139 の修正からいくつかを選んで適用できます。それにより、どの修正点を組み合わせて適用すると、アプリケーションを Windows XP 上で動かせるかを把握することができます。アプリケーションに適用する必要のある修正点を判定できたら、互換性管理ツールの CompatAdmin.exe を使用して、これらアプリケーションの修正点をほかのユーザの Windows XP マシンに展開することができます。

注意 QFixApp では、修正結果をテストするために、サポート ユーティリティのShimDBC.exe を使用します。

QFixApp を使用して、アプリケーションの修正点を把握する

QFixApp の [参照] を使用して、アプリケーションの実行可能ファイルを選択します。この例では、対象のファイルとしてWindows のNotepad.exe を使用しています。

qfxapusr1

[Fixes] タブに、Windows XP 上のアプリケーションに現在適用可能な 139 の修正点が列挙されています。各修正点の名前の前にあるチェックボックスをオンにすることにより、それらの修正点を任意に組み合わせて選択することができます。

qfxapusr2

修正内容を詳しく知るには、修正点をマウスで選択して、[Fix description] ボックスに表示される説明文を読みます。説明を読むだけなら、修正点のチェックボックスをオンにする必要はありません。

注意 説明の中に "shims" という言葉が出てくることがあります。それはアプリケーションの修正点を表す古い用語です。

多くのアプリケーションは、Windows XP 上で正常に作動するために、同じ一連の修正点を必要とします。[Layer] タブには一連の修正点がグループ化して示されています。したがって、その中の項目を選択すれば、各修正点を個別に選択する必要はありません。

qfxapusr3

各レイヤにどの修正点が含まれるかを知るには、[Layer] タブ内のどれかのレイヤをクリックし、それから [Fixes] タブをクリックします。選択したレイヤに適用されている各修正点が、[Fixes] タブ内でチェックボックスをオンにして示されます。

1つ以上の修正点を適用してアプリケーションの .exe をテストするには、下記の手順に従って操作を行います。

  • [ 参照 ] ボタンを使用して、対象の.exe ファイルを選択します。

  • [ コマンドライン ] ボックスに必要な任意のコマンドラインパラメータを追加します。

  • [Fixes] タブの適切なチェックボックスをオンにするか、または [Layers] タブのレイヤをクリックして、修正点を選択します。

  • [ 実行 ] をクリックします。

この例では、修正点EmulateGetDiskFreeSpace をNotepad に適用しています。

qfxapusr4

QFixApp によって起動されたNotepad 上の情報を表示するための TList ユーティリティを使用して、修正点が適用されるようすを見ることができます。ユーザの便宜を図って、Windows 2000 のサポートツールセットに含まれる Tlist.exe をこのコンパクトディスクに収めてあります(Tlistの詳細については、このコンパクトディスクに収められている、サポートツールに関するヘルプファイルのw2rksupp.chm を参照してください)。TList 出力には、Notepad で通常的に使用されるDLL が示されます。それに、修正点を実装する DLL が 2 つ追加されています。具体的には、ShimEng.dll AcLayers.DLL です。

qfxapusr5

%windir%\AppPatch フォルダ内の 4 つの DLL にすべての修正点が含まれています。apphelp.sdb および sysmain.sdb により、Windows XP の一環として提供されるAppHelp メッセージおよびアプリケーションの修正点が実装されます。

qfxapusr6

アプリケーションに関する修正点を QFixApp を用いてテストすると、新しいファイルがいくつかフォルダに追加されます。

qfxapusr7

QFixApp.log は QFixApp セッションに関する情報を示します。QFixApp の [View log] ボタンをクリックすることによっても、ログを参照することができます。systest.sdb ファイルおよび対象のアプリケーションの基本名に拡張子 .xml を付けたファイルに、修正情報が収められます。

QFixApp を閉じると、Windows XP がアプリケーションに修正点を適用することも停止されます。追加された 3 つのファイルを\AppPatch フォルダから削除しなくとも、この機能は働きます。

注意 QFixApp を用いてアプリケーションの.exe に修正点を適用した場合、アプリケーションを終了した後でも、同じアプリケーションの.exe の新しいインスタンスを実行すると、依然として修正点が適用されます。QFixApp も閉じるまで、その状態は続きます。この機能により、同一のQFixApp セッション内で、いくつかの .exe ファイルに修正点を適用することができます。

QFixApp の高度な機能

同じ名前の .exe ファイルが 2 つ以上システムに存在する可能性があります。しかし、QFixApp の修正点を適用できるのは、それらのファイルのうちの 1つだけです。正しい.exe ファイルに修正点を適用することを保証するために、このツールではいくつかの仕組みが採用されています。[詳細設定] ボタンをクリックすると、対象のファイルを識別する方法を制御するための QFixApp の追加機能を使用することができます。

QFixApp は対象の notepad.exe ファイルの 16 のプロパティを識別します。任意の .exe ファイルのユニークさを検証するには、プロパティが 16 あれば十分です。任意のプロパティのチェックボックスをオンにすることにより、それを検証に使用するよう選択することができます。

qfxapusr8

アプリケーションの中には、16 のプロパティをすべては持たないものがあります。下の例では、setup.exe という名前のアプリケーションインストールプログラムには、QFixApp が識別できるプロパティが 2 つしかありません。アプリケーションが多数ある環境においては、この setup.exe ファイルに関して修正点ををユニークに識別するには十分ではない可能性があります。

qfxapusr9

QFixApp では、対象ファイルの検証を助けるために、1 つ以上の追加ファイルの情報を使用することができます。 [Add matching file...] をクリックすると、検証に使用する追加のファイルを選択することができます。この例では、setup.exe が置かれているフォルダの下の \cpm フォルダ内のdisk-fix.lbr という名前のファイルを追加することを示しています。このファイルを選択すると、対象ファイルを検証する助けとして、そのファイルを使用するよう QFixApp に指示することになります。その場合、setup.exe ファイルのファイルサイズとチェックサムが正しく、かつ指定されたプロパティを持つdisk-fix.lbr ファイルが \cpm フォルダ内に存在する場合にのみ、QFixApp はsetup.exe に修正点を適用します。

qfxapusr10

注意 いったん照合ファイルを追加し、その後で照合ファイルを使用しないことに決めた場合、指定したファイルをQFixApp インターフェイスから削除することはできません。その代りに、QFixApp 内の対象の .exe ファイルを再び選択します。すると、照合ファイルの情報がすべて削除されます。

Windows XP 上への修正点の展開

QFixApp の目的は、アプリケーションに適用する修正点をユーザが決定することを支援することにあります。アプリケーションにどの修正点を適用する必要があるか決定したならば、ユーザはこのコンパクトディスクに収録されている互換性管理ツールの CompatAdmin.exe を使用して、自分達のアプリケーションに関する修正点をほかのユーザの Windows XP マシンに展開することができます。

ダウンロード

Cc835609.icon_Word(ja-jp,TechNet.10).gifQFixApp ユーザー ガイド
312 KB
Microsoft Word file