第8回 Windows XP → 7移行のアプリケーション・トラブル解決法:Windows 7新時代(2/2 ページ)
Windows XPからWindows 7への移行で障害になるのがアプリケーションの互換性。互換性問題の主な原因と、その対策についてまとめる。
このように、互換性問題と一言でいっても、さまざまな原因が考えられ、対処方法も異なる。そこで問題解決を支援して、できるだけ多くのソフトウェアを動作させることができるように、Windows 7では複数の手段を用意している。
■ショートカットの互換性設定を利用する
従来のWindowsと同様、Windows 7でも実行ファイル、あるいは実行ファイルのショートカットについて、プロパティ画面にある[互換性]タブで、旧バージョンのWindowsに対応する「互換モード」を設定できるようになっている。[互換モードでこのプログラムを実行する]チェック・ボックスをオンにしたうえで、リスト・ボックスでWindows OSのバージョンを選択するようになっている。選択肢は以下のとおりだ。
- Windows 95
- Windows 98/Me
- Windows NT 4.0(Service Pack 5)
- Windows 2000
- Windows XP SP2
- Windows XP SP3
- Windows Server 2003 SP1
- Windows Server 2008 SP1
- Windows Vista
- Windows Vista SP1
- Windows Vista SP2
これは、この後で解説する問題には影響されず、かつ、旧バージョンのWindows OSでは正常に機能していたアプリケーション・ソフトウェアがWindows 7になって正常に機能しなくなった場合に試す選択肢だ。問題は、後述する問題と関係ないことを確認できるかどうかだろう。
Windows 7の実行ファイルの[互換性]タブ
実行ファイル、あるいはそのショートカットのプロパティ画面には[互換性]タブがあり、過去のバージョンのWindows OSと互換性を確保するために利用できる設定項目がまとめられている。
(1)互換モードを利用するには、このチェック・ボックスをオンにしてから、その下のリスト・ボックスでバージョンの選択を行う。
(2)画面表示に問題がある場合、これらのチェック・ボックスを必要に応じてオンにして対応できる。
(3)管理者の資格情報で動作していることを前提とするプログラムであれば、このチェック・ボックスをオンにすることで対応できる。
■セットアップ・プログラムを実行できない場合
64bit版Windowsで、セットアップ・プログラムが16bit版になっているためにセットアップできないケースでも、所要のファイル一式を手動でコピーしたり、あるいは(アーカイブの形式が分かっていれば)手作業で解凍/インストールしたり、といった方法を取れる場合があるかもしれない。しかし、一般的には解凍の手段がなかったり、セットアップの際にレジストリの書き換えを伴ったりすることが多いことから、こうした方法は現実的とはいえない。
むしろ、64bitシステムでの利用をあきらめて別途32bitのシステムを用意するか、Virtual PCやWindows XP Modeといった仮想化機能で32bitのシステムを動作させて対処する方が現実的だろう。
■管理者権限の存在を前提としている場合の対処
Windows 7では、プログラムを実行する際に管理者の資格情報で動作させる機能がある。実現方法には以下の2種類がある。
- 実行形式ファイル(*.exe)の右クリック・メニューで、[管理者として実行]を選択する。
- 実行形式ファイル(*.exe)のショートカットを作成して、プロパティ画面で管理者として実行するよう設定する。
前者は、その場限りで管理者の資格情報を必要とする場合に向いている方法だ。それに対して後者は、常に管理者の資格で動作させたい場合に向いている方法だ。いずれにしても、実行の際に管理者への昇格が発生するため、UACが許可ダイアログを表示することになる。
右クリック・メニューで、管理者の資格情報を使用するように指定する
実行ファイル(*.exe)、あるいは実行ファイルに対応するショートカットの右クリック・メニューで、[管理者として実行]((1))を選択し、管理者権限でプログラムを実行するよう指示する方法がある。この操作を行うとUACが許可ダイアログを表示して、そこで[はい]ボタンをクリックすると管理者の資格でプログラムを実行できる。恒久的な設定変更を行わないので、その場限りで管理者の資格情報を使用したい場合に便利な方法だ。
■「Program Files」フォルダのアクセス権問題に対処する
これはシンプルで、「Program Files」以外のフォルダをセットアップ先に指定すればよい。大抵のアプリケーション・ソフトウェアはセットアップの際に、セットアップ先のフォルダを手作業で指定できる。
例えば、筆者の場合、「C:\Program Files」とは別に「C:\Tools」というフォルダを作成してある。本来、日常的に利用する細々したツール類を配置するために作成したフォルダだが、「C:\Program Files」以下にセットアップするとアクセス権の問題が生じるアプリケーション・ソフトウェアも、この「C:\Tools」以下にサブフォルダを作ってセットアップするようにしている。
もちろん、前述した「管理者の資格情報で実行する」方法でも対処可能だが、それではいちいちUACの許可ダイアログを表示することになって煩雑だ。セットアップ先を変える方が使いやすいだろう。
■[プログラムの互換性]ウィザードの利用
ここまで解説してきた方法は、いずれも原因を把握できていて、それに対して手作業で設定・操作を行って対処するものだ。しかし、ユーザーによっては原因の把握や対処が難しい場面も考えられる。
そこで、Windows 7では[プログラムの互換性]ウィザードを用意しており、ユーザーが「こういう状況で動作しない」といった選択を行うと、自動的に最適な解決方法を適用する仕組みを用意している。
この機能を利用するには、エクスプローラの画面上で、互換性問題が発生している(または発生すると考えられる)実行ファイル(*.exe)を表示させて、右クリック・メニューで[互換性のトラブルシューティング]を選択する。この操作によってウィザードが起動する。
1. 最初に、Windows OS自身が問題点を把握するための調査を行い、その後で初期画面を表示する。
2. そこで[推奨設定を使用する]を選択すると、Windows OS自身が調査した結果を基にして、最適と思われる設定変更を行う。例えば、古いWindows OSのふりをすることで解決できると判断すれば、互換モードの設定を行う。なお、ウィザードを実行した結果として、管理者として実行するように設定した場合には、以後、そのソフトウェアを実行するたびにUACが許可ダイアログを表示することになる。
3. それに対して[問題のトラブルシューティング]は、ユーザーが問いに答える形で「こういう問題が起きている」と指示することで、対応する解決策を判断して設定変更を行うためのものだ。ここで、発生した問題の内容に該当するチェック・ボックスをオンにしてから[次へ]ボタンをクリックする。
[プログラムの互換性]ウィザードの画面
実行ファイル(*.exe)に対して、右クリック・メニューで[互換性のトラブルシューティング]を選択すると、[プログラムの互換性]ウィザードが起動する。最初に調査を行ってから、この画面を表示する。
(1)[推奨設定を使用する]を選択すると、最初に調査した結果に基づく自動設定を行う。
(2)[問題のトラブルシューティング]を選択すると、ユーザーが自ら選択した問題点に基づいて、解決のための設定を行う。
[プログラムの互換性]ウィザードで[推奨設定を使用する]をクリックすると表示される画面 その2
画面を下方にスクロールすると[プログラムの開始]ボタン((1))が現れるが、これをクリックして当該プログラムを実行してみなければ、先に進むことはできない。
[プログラムの互換性]ウィザードで[問題のトラブルシューティング]をクリックすると表示される画面
ここで、自分が気付いた問題点に該当するチェック・ボックスをオンにする。すると、先に示した[互換性]タブの中で、対応する設定項目が変更されるという仕組みだ。
4. [問題のトラブルシューティング]をクリックすると表示されるチェック・ボックスは、先に示した[互換性]タブの各項目と対応している。例えば、[以前のバージョンのWindowsで動作していたプログラムがインストールできない、または実行できない]を選択すると、その次の画面で、どのバージョンで正常に機能していたかの選択を求められる。そこで選択したバージョンが、[互換性]タブのリスト・ボックスの選択肢に反映されるわけだ。項目ごとの対応は以下のようになっている。
ウィザードの項目 | 対応する[互換性]タブの項目 | |
---|---|---|
以前のバージョンのWindows OSで動作していたプログラムがインストールできない、または実行できない | [互換モードでこのプログラムを実行する]チェック・ボックスと、その下のバージョン選択用リスト・ボックス | |
プログラムが開くが、正しく表示されない | [設定]以下のチェック・ボックス5種 | |
プログラムにアクセスするには追加のアクセス許可が必要になる | [管理者としてこのプログラムを実行する]チェック・ボックス | |
該当する問題が一覧にない | (後述) | |
ウィザード中の選択肢と[互換性]タブの項目との対応 |
5. [プログラムが開くが、正しく表示されない]を選択した場合、さらに細かい現象の指示を求められる。ウィザード中の項目と、それを受けて[互換性]タブで設定を変更する項目の対応は、以下のようになっている。
ウィザードの項目 | [互換性]タブの項目 | |
---|---|---|
プログラムは256色で表示する必要があるというエラー・メッセージが表示される | 256色で実行する | |
プログラムが小さなウィンドウ(640×480ピクセル)で起動し、全画面表示に切り替えることができない | 640×480の解像度で実行する | |
ウィンドウの透明感が正しく表示されない | デスクトップ コンポジションを無効にする | |
大きな文字サイズを指定すると、プログラムが正しく表示されない | 高DPI設定では画面のスケーリングを無効にする | |
Windowsコントロールの表示が部分的に欠けているか、またはプログラムを起動するとテーマの表示が変更される | 視覚テーマを無効にする | |
該当する問題が一覧にない | (後述) | |
ウィザードの[気づいた問題]ページの[プログラムが開くが、正しく表示されない]チェック・ボックスをオンにしたときに表示される選択肢と[互換性]タブの項目との対応 |
6. いずれにしても、最後に設定結果の確認画面になり、そこで[プログラムの開始]をクリックして動作テストを行ったうえで設定変更を反映させるのは同じだ。なお、最後の選択肢[該当する問題が一覧にない]を選択した場合、正常に機能していたときのWindows OSのバージョン選択を、次に画面表示に関する問題の選択を求められる。「該当する問題が一覧にない」からといって、それまでに存在しなかった選択肢が現れるわけではない。
このように、Windows 7でアプリケーション・ソフトウェアの互換性問題を引き起こす原因はいろいろあり、その原因によって対処方法も異なる。原因や対処方法の判断が難しい場面、あるいはユーザーの存在に備えて、ウィザードによって互換性問題の解決を支援する方法も用意されている。互換性問題を生み出す原因についての情報と対処方法についての情報を頭に入れたうえで、手持ちのソフトウェアを有効活用したいものだ。
【コラム】Windows XP Modeを利用する
ここまで紹介してきた対処方法は、あくまでWindows 7という枠の中で互換性を高めるための工夫といえる。しかし、それだけで完全に解決できるとは限らないため、Windows 7のうちUltimateとProfessional、Enterpriseの各エディションでは、Windows XP Mode(以下XP Mode)という機能を用意している。
これは、Windows Virtual PCを利用して、仮想環境上で動作するWindows XP SP3を提供するものだ。そこでアプリケーション・ソフトウェアをセットアップして動作させれば、Windows XPと同じ環境だから確実に動作するだろう。
それだけならVirtual PCのような仮想化ソフトウェアを別途セットアップする方法でも同じだが、XP Modeの妙味は、以下の2点にある。
- XP Modeで動作するソフトウェアのウィンドウが(Windows XPの画面を介さずに)単独でWindows 7のデスクトップに現れるため、仮想化環境の存在を意識させない。
- XP Mode側で[スタート]メニューに登録するショートカットについては、それが自動的にWindows 7の[スタート]メニューに登録されるので、XP Mode上のアプリケーションを簡単に起動できる。
ただし、XP Modeを利用できるエディションが限られていることと、CPUがIntel VTやAMD-Vといったハードウェア仮想化支援機能を備えている必要があることが、利用に際しての制約要因となる。CPUの処理能力や必要なメモリ量についても、仮想化環境を利用する分だけハードルが高くなっている。
XP Modeについては、「Windows 7新時代:第6回 Windows XPとの互換性を実現する『Windows XP Mode』」で詳しく解説しているので、こちらを参照いただきたい。
Copyright© Digital Advantage Corp. All Rights Reserved.