Windows 8ユーザーズ・ワークベンチ

何が変わり、何が変わらなかったのか

 Microsoftでは「Windows 8とWindows Server 2012の互換性ガイドブック」を配布している。Windows の互換性、信頼性、パフォーマンスに関する開発者向けガイドとされているもので、サードパーティアプリの開発者が、既存またはこれから開発される各種製品がWindows 8との互換性を確保するために払うべき注意点を解説したものだ。今回は、この文書を読み解きながら、Windows 8で何が変わったのかを見ていくことにしよう。

setup.exeのバージョンチェック

 Windows 8は、コマンドプロンプトにおいてVerコマンドで確認するとVersion 6.2.9200であることがわかる。だが、内部バージョン番号は6.2で、バージョン管理APIはこの番号を返すという。Microsoftでは、アプリがOSのバージョンをチェックをすべきではなく、サポートする最小バージョンと同等、または、それ以上のバージョン番号であれば、常に、許可するべきだとし、例外は認められないとしている。理想的には、必要な機能を要求し、それがかなわなければ、その旨を告げるダイアログボックスなどで告知するべきだとしているようだ。

 これまでのアプリでをセットアップする場合には、setup.exeなどを実行した際に、バージョンチェックが厳密で、本当は動くはずのアプリも、setup.exeが動かないというだけで使うことができないという経験をしてきたが、そういうことは少なくなっていくものと思われる。

 また、セットアップされるストアアプリは、通常は、c:\program files\WindowsApps にインストールされるため、ここを使わないようにすることが求められている。

Windows 8 のバージョンは6.2.9200。バージョンチェックのAPIでは6.2が返る
ストアアプリはProgram Files内のWindowsAppsにインストールされるが、フォルダはセキュリティ保護されている

ユーザーに委ねられるファイルの関連付け

 さらに、いろいろと問題を起こすことが多かったファイルの種類とプログラムへの関連付けについても新たな変更が加えられている。

 重要な変更として、プログラムでファイルの種類やプロトコルの既定アプリを設定することができなくなった。この関連付けはユーザーの意思によって明示的に指定されることになる。新たなアプリをインストールして、そのアプリが特定の拡張子のファイルをサポートする場合、トースト通知されるようなシカケも用意されている。

 ちなみに、テキストエディタの秀丸には、拡張子ごとの関連付けを指定するための項目が動作環境のダイアログボックスの中に用意されている。だが、ここでテキストファイルに秀丸を関連付けしても、それが効力を発揮しないのだ。

 テキストファイルを開く既定のプログラムはメモ帳だが、それを秀丸に切り替えるには、ファイルを選択して、そのショートカットメニューから「プログラムから開く」で「既定のプログラムの選択」を使って指定しなければならない。

 また、それぞれの拡張子のファイルアイコンは、関連付けられたプログラムのアイコンを変更すると、それに追従するが、複数の種類のファイルを扱えるプログラムでは、通常の方法では、それを反映することができなくなっている。

秀丸エディタには拡張子ごとの関連付け設定をする機能があるが、実際には関連付けはできない
コントロールパネルの既定のプログラムアプレットでは、関連付けに関する詳細な設定ができる

 さて、セットアップされた有効なアプリだが、これらはDesktop Activity Moderator(DAM)と呼ばれるドライバの制御下に登録される。このドライバはConnected Standbyをサポートしているシステムのみに存在するもので、早い話が、デスクトップでどんなプロセスが動いているのかを管理する役割を担っている。

 画面がオンのときにはDAM制御は解除されて、これまでと同じようにアプリ等が稼働するが、画面がオフでConnected Standby状態にあるときは、DAMによってデスクトッププロセスが中断、あるいは抑制されるようになっている。ただし、ストアアプリに関してはDAMの影響を受けることはない。

 つまり、各プロセスは、ネットワークやプロセス間通信が中断されたり抑制されたりしても、きちんと対処できるように開発されなければならないとされている。

 さらに、目立ったところでは、Windows 7まで使われてきたデスクトップガジェットを使うことができなくなっている。ただし、ガジェットを稼働させるAPIについてはそのまま残っていて、アプリからそのAPIを使う分には、問題なく動作するということだ。

ユーザーベースのIME

 IMEに関しては、以前も触れたが、デフォルトではスレッドベースからユーザーベースに変更されている。つまり、ExcelでIMEをオフで使っていたら、Wordにフォーカスを移してもオフのままだということだ。逆に、WordをIMEでオンで使っていたら、Excelにフォーカスを移したときもオンのままとなる。これはちょっと不便かもしれない。

 日本語以外のIMEが存在する場合も、いったん切り替えれば、すべてのアプリでその言語が使われる。ただし、日本語IMEについては、変換モードだけはアプリごとに維持されるという特例が設けられた。

 ここで分かるのは、Windows 8を使う日本人は、入力にはIMEが必須だという前提で仕様が決められているということだ。ユーザーアカウントやパスワードなどを入れるフィールドでさえ、IMEがオンになって煩わしく感じられることもある。どうも、日本人が文字を入力するときにも、実際には必要に応じてIMEをオンにしたりオフにしたりするという行為そのものが理解されていないようにも見える。本当に仕様を決めるときに日本人が介在したのかどうかを疑いたくなるというものだ。

 ただし、抜け道は用意されていて、コントロールパネルの言語アプレットを使い、「アプリウィンドウごとに異なる入力方式を設定する」をオンにしておけばいい。この設定によって、Windows 7までと同様に、アプリごとに個別にIMEを使い分けることができるし、オンやオフの状態も、アプリごとに切り替わる。これがスレッドベースのIME利用となる。

コントロールパネルの言語アプレットでは、スレッドベースのIME切り替えを設定できる。具体的には「アプリウィンドウごとに異なる入力方式を設定する」にチェックを入れておく

ファイル履歴を有効に使おう

 Windows 7で使われていたシャドウコピーが廃止された。いつでも以前のバージョンのファイルを復元できる機能だったが、あまり使われなかったとのことで、廃止になってしまった。

 その代わり、コントロールパネルアプレットとして「ファイル履歴」が提供されるようになった。これは、ローカルストレージ、あるいは、ネットワークストレージを使い、個人用のファイルを一定時間ごとに保持しておくことができるというものだ。この機能を使うことで、削除してしまったり、上書き保存してしまって失われてしまったファイルの内容を取り戻すことができる。AppleのTime Machineのように任意の時点に戻れるのだが、やっていることは単純で、単にファイルをコピーしているだけだ。また、対象は極めて限定されたフォルダのファイルやライブラリだけで、完全なバックアップにはほど遠いが、役に立つこともあるだろう。ただ、ジャンクションなどをバックアップできないことから、ネットワークストレージを使う場合は動きが怪しい。この点は留意すべきだ。

ファイル履歴はデフォルトではオフになっている。ストレージはローカルにあるNTFSでなければ、ファイルのコピーに制限が生じる。設定した間隔で任意の時点のファイルシステム状態に戻って、削除したり編集したりしたファイルの以前の状態を取り戻せる

 また、「バックアップと復元」についても、将来の廃止が宣言され、今後は機能更新されないことが明確にされた。コントロールパネルアプレット名としても消え「Windows 7のファイルの回復」と名前が変更されている。この機能についても「ファイル履歴」を代替に使えということだ。

 ただし、ファイルの履歴とバックアップは排他に近い関係にある。ファイル履歴はバックアップのスケジュールの存在を認識すると、そのスケジュールを有効化できなくなってしまうので注意が必要だ。従って、バックアップスケジュールがすでに存在している環境でファイル履歴を使う場合は、そのスケジュールを削除しておく必要がある。

 さらにディスクドライブの扱いに関しては、光学ディスクドライブにメディアが存在しない場合は、そのドライブへの電力供給を停止できるようになる0DDと呼ばれる機能が提供されるようになった。これによって、ディスクドライブを扱う古いソフトが予期せぬ動作をする可能性もある。

 エンドユーザーがWindows 8を使う場合、これまでとは違っていることで影響を受ける点をいくつか紹介した。新しいOSは、新機能ばかりが注目されがちで、今回の場合は、タッチ対応ということもあり、従来との互換性についてはあまり触れられていなかったように思う。基本的にはおおむね良好な互換性維持ともいえるわけだが、Windows 8を使うにあたっては、こうした点にも注意を払うようにしたい。

(山田 祥平)