Windows Vista

新しいマイクロソフト アプリケーション互換性ツールキットの内部情報

John Melton

 

概要:

  • アプリケーションの互換性に影響を与える変更点
  • アプリケーションに対する影響の評価
  • 影響の軽減と展開の管理

Windows Vista のリリースを間近に控え、新しいツール、機能、トレーニングなど、新しいオペレーティング システムを評価、展開、およびサポートするための準備を始める時期になりました。もちろん、主な作業はこの Windows のメジャー リリースが既存の環境でどのように機能するかを判断することです。

何よりも最初に行う必要があるのは、全体的なアプリケーション ポートフォリオを把握し、Windows Vista™ で適切に動作するアプリケーションを判断することです。

Windows Vista には、アプリケーションの互換性に影響を与える可能性がある大きな変更点がいくつか含まれています。Windows Vista の開発段階では、アプリケーションの互換性を確保することに重点が置かれました。各ビルドで多くのアプリケーションをテストし、変更がアプリケーションに与える影響についてエンジニアリング チームに迅速なフィードバックを提供することにより、互換性に関する問題が開発サイクル中に減少しました。

このプロセスで、互換性に関するほとんどの問題がいくつかの領域に限定されました。この記事では、これらの領域について説明し、展開中にそれらが原因で発生する問題の解決に役立つヒントを提供します。

互換性に影響を与える変更点

一部のアプリケーションは、(おそらく正当な理由で) 特定の OS のバージョンで動作するようにデザインされています。このデザインが原因で、アプリケーションのテストを開始する前に、インストールまたはプログラムの実行が失敗する場合があります。

さいわいにも、この問題は Windows Vista のプログラムの互換性アシスタントを使用することで容易に解決できます。PCA はインストール中に発生する可能性がある互換性の問題を自動的に検出し、インストールとテストを続行できる可能性がある Windows® XP 互換性モードに設定を変更するよう提案します。

互換性を除けばアプリケーションが正しく動作する場合は、単純にアプリケーションのバージョン チェックを変更するか、アプリケーションの修正プログラムをデスクトップに適用し、以前のオペレーティング システムで実行した場合と同じようにアプリケーションを実行できるようにすることで問題を解決できます。

現在の情報ハイウェイは、Windows XP がリリースされた 2001 年とは大きく異なります。残念なことに、システムに関するセキュリティ ホールは増加しています。Windows Vista には多くの新しいセキュリティ機能が実装されており、これらの機能がアプリケーションの互換性の維持に役立つ場合があります。

Windows Vista の Microsoft® Windows リソース保護 (WRP) により、保護されたシステム ファイルやレジストリ キーにアプリケーションが書き込みを実行しようとした場合でも、そのアプリケーションのシームレスな動作が可能になります。WRP は一時作業領域を自動的に作成し、アプリケーションのセッションで行われる書き込みをその領域にリダイレクトします。このテクノロジにより、Windows XP では失敗する可能性のあるアプリケーションを Windows Vista で動作させることができるので、以前のバージョンの OS よりも互換性が強化されます。ただし、この一時作業領域はアプリケーションの現在のセッションにしか使用できないので、セッション間でデータを保持することはできません。

ユーザー アカウント制御 (UAC) は、馴染みのある Windows XP の管理者と標準ユーザーの Windows Vista での実装です。Windows 2000 と Windows XP では、多くの企業が標準ユーザーのシナリオの実装に頭を悩ませていました。Windows Vista では、標準ユーザーまたはアプリケーションが管理者レベルのタスクを実行しようとすると、適切な特権昇格の確認を表示することにより、標準ユーザーにより堅牢な動作を提供します。アプリケーションに関しては、マイクロソフト アプリケーション互換性ツールキットと UAC Evaluator (後で詳しく説明します) を使用して、標準ユーザーで実行したときに制限を受ける可能性があるアプリケーションを判断し、アプリケーションが不必要に管理者レベルのコマンドを実行しないようにします。

Internet Explorer® は多くのユーザーにとって重要なインターネットへのアクセス手段であるため、Windows Vista では、攻撃を受ける危険性を軽減するために Internet Explorer に保護モードを導入しました。Windows Vista の Internet Explorer は基本的に標準ユーザーで実行されるので、マルウェアやウイルスがシステムに入り込む可能性がある、コンピュータの領域への書き込みが制限されます。また、マイクロソフト アプリケーション互換性ツールキットに含まれている Internet Explorer Compatibility Evaluator を使用して、保護モードの制限を受ける可能性があるイントラネット アプリケーション、エクストラネット アプリケーション、またはインターネット アプリケーションを検出することもできます。

新しいオペレーティング システムを作成することの最も大きなメリットは、大幅な変更を行い、新機能を提供したり新しいハードウェア テクノロジを活用したりできることです。ただし、こうした大幅な変更によって、アプリケーションの互換性に関する問題が発生する場合もあります。

Windows Vista では、セキュリティが重要な役割を果たしています。注目すべき部分は、さらに堅牢になった、ファイアウォール アプリケーションとウイルス対策アプリケーション用の新しい API 構造です。ただし、機能が追加されたことにより、多くの企業ではサード パーティのファイアウォール ソフトウェアやウイルス対策ソフトウェアを新しいバージョンにアップグレードする必要が生じます。Windows Vista では WinLogon と GINA (Graphical Identification and Authentication) のアーキテクチャも置き換えられたので、認証資格情報を使用して作業したり、認証資格情報を渡したりするアプリケーションのテストが必要になります。

新しい強力な 64 ビット プロセッサとオペレーティング システムの導入を考えているユーザーもいるでしょう。32 ビット アプリケーションは 64 ビット システムでも正しく動作しますが、64 ビット ドライバがインストールされている必要があります。16 ビット アプリケーションは、64 ビットの Windows Vista プラットフォームではサポートされません。

アプリケーションへの影響の評価

アプリケーション互換性ツールキットは、既存のアプリケーション ポートフォリオの一覧作成、分析、合理化、および優先順位の設定に役立ちます。図 1 は、このツールキットのコンポーネントの一覧です。図 2 は、このツールキットに含まれている各互換性エバリュエータの説明です。

Figure 2 ツールキットの互換性エバリュエータ

エバリュエータ 説明
Inventory いくつかのシステム領域を調べ、各コンピュータ上のアプリケーションとその関連コンポーネントに関する情報を収集します。
Internet Explorer Internet Explorer 7.0 を監視し、互換性に関する問題が発生する可能性がある Web ベースのアプリケーションを検出します。追加処理のために Web 上の場所をログに記録します。
User Account Control ユーザーとアプリケーションの対話、および特権を昇格したセキュリティがいつ要求されるかを監視し、追加処理のためにアプリケーションの情報をログに記録します。
GINA アプリケーションによる資格情報の使用を以前のアーキテクチャに基づいて監視し、必要な変更を行うためにこれらのアプリケーションをログに記録します。
Deprecated Components FrontPage Server Extensions など、Windows Vista でサポートされない以前のテクノロジが使用されているかどうかを調べます。アプリケーションで以前のテクノロジが使用されていることが検出された場合は、それらのアプリケーションを追加処理のためにログに記録します。
Session 0 特定のセッション 0 の要求を検出し、状況に応じてアプリケーションをログに記録します。Windows Vista ではセッション 0 が完全に保護されるので、このセッションでアプリケーションを実行することはできなくなります。

Figure 1 アプリケーション互換性ツールキットのコンポーネント

コンポーネント 説明
Compatibility Evaluator コンピュータで実行できる複数のエバリュエータです。アプリケーションの互換性に関して発生する可能性がある問題の検出とログへの記録に使用されます。
Log Processing 個々のコンピュータのログに記録された互換性に関する累積情報を取得し、あらかじめ定義された間隔で中央のログ ファイルに送信します。
Inventory Database Application Compatibility Manager によってレポートの作成に使用されます。また、多くの新しいフィールドが提供されるので、これらを使用して各アプリケーションの展開プロセスと状態を管理できます。
Application Compatibility Manager 展開プロセスに関する情報の監視と変更の機能を提供する集中管理ツールです。
Microsoft Compatibility Exchange 互換性に関する共有情報のコミュニティ リソースです。Microsoft Compatibility Exchange から、アプリケーションの互換性に関する他の顧客からの評価結果、マイクロソフトの認定情報、ベンダの情報など、互換性に関する追加情報を取得できます。

Windows Vista がアプリケーションに与える可能性がある影響を把握して識別するには、基本的に次の 4 つの手順を実行します。

まず、企業内にあるすべてのアプリケーションと、それらの互換性に関する既知の状態を示す一覧を作成する必要があります。Systems Management Server (SMS) などのソフトウェア管理システムや信頼できる古いスプレッドシートが役立つ可能性もありますが、どちらを使用しても互換性の状態は提供されません。アプリケーション互換性ツールキットに含まれている互換性エバリュエータにより、この重要な情報が提供されます。

まず、デスクトップ コンピュータに展開して全体的なアプリケーションの一覧を収集できる互換性パッケージを作成します (図 3 を参照)。互換性エバリュエータを含めると、互換性の問題が発生する可能性があるアプリケーションを識別できます。このパッケージはソフトウェア管理システムから展開することができます。また、サイズが小さいので、クライアントでの実行時にほとんどリソースを消費しません。パッケージを実行すると、コンピュータとアプリケーションの互換性に関する情報が返されます。

図 3a 互換性パッケージの作成

図 3a** 互換性パッケージの作成 **(画像を拡大するには、ここをクリックします)

図 3b

図 3b(画像を拡大するには、ここをクリックします)

互換性エバリュエータから最初のレポートが返されたら、互換性に関する最新の情報を入手したいと考えるでしょう。次の手順は、Microsoft Compatibility Exchange との同期です。[Send and Receive Data] アイコンをクリックし、ログイン情報を指定すると、Microsoft Compatibility Exchange に接続されます。ここから、アプリケーション ポートフォリオの分析、合理化、および優先順位付けに役立つ互換性の情報を入手できます。Application Report には、ポートフォリオのアプリケーションに関して他のコミュニティ メンバ、ソフトウェア ベンダ、およびマイクロソフトから提供された情報が含まれており、それらのアプリケーションの互換性に関する状態がひと目でわかります。また、既知の問題と可能な解決策も容易に確認できるので、全体的なテスト量を減らすことができます。既に識別されている問題の場合、問題のテストや再確認を行ったり、解決策を探したりする必要はありません。

これでアプリケーション ポートフォリオを用意できたので、次の目標は作業時間を割くアプリケーション数を減らすことです。最も効率的な方法は、アプリケーションの整理と分類です。

まず、Application Compatibility Manager に組み込まれているフィルタ機能を使用します。一覧には、確認する必要がない多くのアプリケーションが含まれます (図 4 を参照)。たとえば、ハードウェアを交換している場合は、ハードウェア ドライバや OEM から提供された特殊なアプリケーションを確認する必要はありません。

図 4 Application Compatibility Manager でのフィルタ処理

図 4** Application Compatibility Manager でのフィルタ処理 **(画像を拡大するには、ここをクリックします)

次は、注目するアプリケーション数を減らすためにどのようにアプリケーションを整理するかを明確にします。アプリケーションがグローバルに使用されるのか、または特定の地域や部門を対象としているのかを検討します。また、どのような状況でベンダにアプリケーションのサポートを依頼できるか、および社内のどの基幹業務アプリケーションにスタッフが注目する必要があるかも検討します。場合によっては、開発者用のカテゴリと、各開発者がプログラムを割り当てるためのサブカテゴリを作成します。組織の方針を決定したら、アプリケーションの分類を開始できます。

カテゴリとサブカテゴリを作成するには、アプリケーション互換性ツールキットで整理機能を選択し、独自に個人用のエントリを作成します (図 5 を参照)。これらのエントリはレポート オプションで選択できるので、サブカテゴリの項目ごとに詳細なレポートを作成できます。

図 5 カテゴリの割り当て

図 5** カテゴリの割り当て **

分析フェーズの最後の手順は、各アプリケーションまたはコンピュータへのカテゴリの割り当てです。注目する必要があるのはモバイル アプリケーションです。Windows Vista ではモバイル エクスペリエンスを強化する多くの新機能が提供されるので、これらのアプリケーションのカテゴリまたはサブカテゴリを作成することをお勧めします。アプリケーションには複数のカテゴリを割り当てることができるので、開発チームのカテゴリを作成し、チーム メンバの名前をサブカテゴリとして作成することにより、各アプリケーションの担当メンバを管理できます。

変更と展開の管理

一度アプリケーションを分類した後、さらに一覧に変更を加えることもできます。1 台のコンピュータで数百個のアプリケーションが表示されることもありますが、表示されるすべてのアプリケーションに関心があるわけではないと思います。目標は、影響の軽減作業が必要な問題に作業時間をかけるために、一覧に表示されるアプリケーション数を大幅に減らすことです。優先順位が低いアプリケーションの候補としては、有用ではなくなったアプリケーション、更新中のアプリケーション、アーキテクチャを変更しているアプリケーションなどがあります。組織内にアプリケーションの複数のバージョンが存在する場合は、それらを 1 つのバージョンに統合した方がサポートしやすくなることもあります。ベンダや Microsoft Compatibility Exchange によって互換性があることが識別されたアプリケーションは、それ以上注目する必要はありません。また、アップグレード計画の対象になっていない地域や部門のアプリケーションが存在する場合もあります。

アプリケーション互換性ツールキットのカスタム レポート機能は、アプリケーションの合理化に役立ちます。特定のカテゴリを選択し、合理化するアプリケーションの一覧を特定のグループ、地域、または場所に限定することができます。これにより、互換性に関する作業が必要な領域に時間をかけることができます。

アプリケーション ポートフォリオを管理可能な数まで絞り込んだ後は、明確になったアプリケーションの互換性の問題に取り組むことによって、スムーズかつタイムリーに新しいオペレーティング システムを展開することに集中できます。優先順位付け機能を使用すると、各アプリケーションに特定の優先順位とカテゴリを割り当てることができます。

アプリケーション互換性キットには、アプリケーションの状態と展開に関する情報の管理にも役立つ追加機能が含まれています。[Testing]、[Mitigating]、[Ready to Deploy] のいずれかを選択することにより、特定のアプリケーションの状態を追跡できます。[Reports] セクションには、すべてのアプリケーションの全体的な展開状態が表示されます。

アプリケーションに関する独自の情報を追加することもできます。アプリケーションを承認し、そのアプリケーション固有の新しい問題を作成または編集できます (図 6 を参照)。この情報を Microsoft Compatibility Exchange で共有すると、他の管理者がそれぞれの環境を分析するときに役立ちます。

図 6 アプリケーションの互換性に関する状態の記録

図 6** アプリケーションの互換性に関する状態の記録 **(画像を拡大するには、ここをクリックします)

まとめ

これで Windows Vista の展開を開始する前に、どこに集中的に作業時間を使えばよいかを確認できました。マイクロソフト アプリケーション互換性ツールキットの詳細については、microsoft.com/japan/technet/prodtechnol/windows/appcompatibility を参照してください。

John Melton は 20 年以上にわたって情報技術に携わっており、マイクロソフトには 10 年間勤務しています。John は以前はシステム エンジニアでしたが、現在は Windows Vista と Microsoft Application Compatibility のグループ製品マネージャです。

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; 許可なしに一部または全体を複製することは禁止されています.