公開日:2006/11/ 4
更新日:2006/11/ 5 (ねこシュー Windows Vista対応パッチに関する情報追加)
Windows Vistaの情報は、マイクロソフトのWindows Vistaに関するページへどうぞ。
RC1導入情報については、Windows Vista RC1 をインストールしてみましたへどうぞ。
RC2への対応については、Windows Vista RC2 へ対応してみましたへどうぞ。
Windows Vista (正式版)への対応については、Windows Vista (正式版)へ対応についてへどうぞ。
Windows Vista RC2 へ対応してみましたから、およそ半月。Windows Vistaへの対応について、だんだんとノウハウが蓄積されてきました。
今回は、これまでわかってきた対応の方法を公開すると共に、INASOFTで製作しているソフトウェアのいくつかについての対応状況の調査結果をお知らせいたします。
なお、ここに書かれている情報には、Windows Vista RC2の挙動から得られる憶測が混じっています。一部正確でない情報があるかもしれませんので、情報の利用については、各自の責任でお願いいたします。また、RC2での挙動は、正式版になったときに変化する可能性がありますので、ご注意ください。
前回、少しだけ触れましたが、Windows Vistaには、\Program Files下のカレントディレクトリにデータファイルを保存しようとする場合に、「リダイレクトする機能」があります。
バーチャル ストアと名付けられたこの仕組みですが、どうやらこんな仕組みになっているようです。
例えば、C:\Program Files\xxxx というフォルダにインストールされたアプリケーションが、自身のカレントディレクトリにある yyyy.ini へ書き込みを行うとします。この時、書き込みは全て、C:\Users\[ユーザー名]\AppData\Local\VirtualStore\Program Files\xxxx\yyyy.ini に対して行われます(=リダイレクトされます)。これについては、WritePrivateProfile〜系のAPIを使っていても、CreateFile系のAPIを使っていても、CRT系の関数を使っていても、行われるようです。
動きを調べてみると、なかなか面白い動きをしてくれます。
この仕組みの長所と短所は次のようになります。
というわけなので、便利な仕組みではあるのですが、カレントディレクトリにiniファイルを保存しているアプリケーションの全てが作者の意図通りの動作を続けられるわけではないようです。作者の意図を再確認して、修正の有無を決める必要があります。
また、Windows 2000/XPにおいて、この仕組みが存在するわけではありませんから、Windows 2000/XPの制限ユーザーへの対応を行いたい場合は、やはり修正を行う必要があります。
また、マイクロソフトのドキュメントによれば、このバーチャルストアの機能は過去のプログラムへの互換性のために準備されたものであり、新たにプログラムを作るプログラマは、この機能に頼ってはならない、としています。
トップページでも軽く触れたことがありましたが、若干失望させられた機能制限のうちの一つです。
自作のプログラムのデバッグをしていて気づいたのですが、マウスカーソルはドロップできるそぶりを見せつつも、実際にドロップを行っても何も起こりません。
当初は意味不明で、自分のプログラムの不良を疑ったのですが、他の全OSでうまく動いているものがWindows Vistaだけで動かないというのはどうもおかしいので、Windows Vista自身の不良か仕様を疑ってみました。
当時は国内のサイトにはあまり情報がありませんでしたので、苦労しながら英語の掲示板を読んでみると、Windows Vistaでは、どうやら次のような制限があるようです。
というわけで、仕様として禁じられているらしいです。
セキュリティにこだわるあまり、使いやすいOSという大切な観点を忘れているOS開発チームの姿が浮かびます。使いにくくすることでシェアを失う危険性を考えることを忘れてしまったのでしょうか。あまりに極端というか、かわいそうというか。
ついでに、Windows Vistaは値段もバカ高いことが知られていますし、自作ユーザーに冷淡な新ライセンスのこともありますし、インストール時もインストール後も、ユーザーのことを疑う趣旨のダイアログをバンバン出しますし、どうも、真剣にOSの売ろう、あるいはシェアを維持しようって気がないのかもしれません。
[11/5追記] この「一度きりライセンス」の問題ですが、スラッシュドット方面あたりでは、数多くの批判を受けて、開発者だか責任者だかの発言として、ライセンスの形態を調整しているという話が出ているそうです。また、責任者の話として、日本では自作ユーザが多いことを考えて別のライセンス形態にするという話も出ているとか。来年1月の発売まで、確定しなさそうです。
[11/9追記] もう一つ、エクスプローラから、コマンドプロンプトへのファイルのドラッグ&ドロップは、セキュリティレベルとは無関係に使えなくなるという情報をいただきました。なるほど、ここまで使いにくくするとは、どうやら自社製品を売りたくないみたいですね。
INASOFTで製作したソフトウェアのいくつかについて、Windows Vistaに対応しているかどうかを調べました。なお、配布元がINASOFTではないソフトウェアも含まれています。OKと書かれているソフトウェアが、まぁおおまかに見た感じ、異常が見られなかったということです。
| ソフトウェア名称 | 配布元 | 対応情報 | |
| regeditd | INASOFT | OK | |
| NEOBRASTER | INASOFT | とりあえず動作。 ボスのライフ バーが表示されない不具合あり。 |
|
| F1ブレイカー | INASOFT | ソフトのF1キーの認識方法によって、通用したりしなかったり→これまでどおり。 ヘルプは表示できない(WinHelp使用のため)。 |
|
| MOUSELR | INASOFT | OK | |
| キーボードシミュレータ.NET | INASOFT | OK ただし、設定ファイルはバーチャル ストアへリダイレクト。 |
|
| キーボードシミュレータ | INASOFT | OK ただし、設定ファイルはバーチャル ストアへリダイレクト。 |
|
| 改行コード変換 | INASOFT | OK ただし、設定ファイルはバーチャル ストアへリダイレクト。 |
|
| 複数行置換 | INASOFT | OK | |
| すっきり!! デフラグ | INASOFT | 対応を進行中[テストと修正のスパイラル中]。 ヘルプファイルの対応は完了。 2006/12/2 対応完了。 |
|
| ListView to CSV | INASOFT | 対応を進行中[テストと修正のスパイラル中]。 ヘルプファイルの対応は完了。 2006/12/2 対応完了。 |
|
| いじくるつくーる | INASOFT | 対応を進行中[テストと修正のスパイラル中]。 ヘルプファイルの対応は完了。 2006/12/2 対応完了。 |
|
| ねこシュー | ねこねこソフト | 非対応。サウンドコンポーネントに適合性の問題あり。→対応パッチ公開中(2006/11/ 5公開)。 設定はバーチャル ストアへリダイレクト。 |
|
| 御神楽 | 葦葉製作所 | OK リプレイデータはバーチャル ストアへリダイレクト。 |
|
| メイドリアン | 葦葉製作所 | OK | |
| ウィルスクラッシャー | 葦葉製作所 | OK | |
| ウィルスクラッシャーズ | 葦葉製作所 | OK | |
| 疑似クールビズ | INASOFT | OK 設定はバーチャル ストアへリダイレクト。 |
|
| 疑似DirectMail | INASOFT | OK 設定はバーチャル ストアへリダイレクト。 |
|
| 疑似アプリ落としシミュレータ | INASOFT | OK | |
| 疑似RPG | INASOFT | OK | |
| 疑似ごみ箱 | INASOFT | OK | |
| 疑似アクティブデスクトップ | INASOFT | OK | |
| 疑似アクティブデスクトップ 〜DESTRUCTION〜 | INASOFT | OK | |
| 疑似アクティブデスクトップ 〜OverClock〜 | INASOFT | 一部、画面描画に問題あり。 | |
| 疑似アクティブデスクトップ 〜カオス〜 | INASOFT | OK | |
| 疑似アクティブデスクトップ2000 | INASOFT | OK | |
| 疑似アクティブデスクトップ3000 | INASOFT | OK | |
| 疑似スクリーンセーバー | INASOFT | OK | |
| 疑似スクリーンセーバー リローデッド | INASOFT | OK | |
| 疑似スタートボタン | INASOFT | NG:動作不良を起こします…ウィンドウがどんどん上に上がっていき、どういうわけだかデスクトップアイコンを追い詰めていってしまう。 | |
| 疑似タスクバー | INASOFT | OK | |
| 真・疑似タスクバー | INASOFT | NG:スタートボタンのあり方が変わったため、動作せず。 | |
| 疑似ピンボール | INASOFT | NG:スタートボタンのあり方が変わったため、動作せず。 動作不可時に終了不可能になる不具合あり。タスクマネージャから強制終了してください。 |
|
| 疑似ベンチ1 〜メモリ編〜 | INASOFT | OK | |
| 疑似ベンチ2 〜CPU編〜 | INASOFT | OK | |
| 疑似ベンチ3 〜グラフィック編(AGP)〜 | INASOFT | OK | |
| 疑似ベンチ4 〜グラフィック編(PCI)〜 | INASOFT | OK | |
| 疑似ベンチ5 〜ハードディスク編〜 | INASOFT | OK | |
| 疑似ベンチ6 〜CD-R編〜 | INASOFT | OK | |
| 疑似ペイント | INASOFT | OK | |
| 疑似マウス | INASOFT | NG:非対応(実行させると、元に戻らなくなります) | |
| 疑似マウス2 | INASOFT | OK | |
| 疑似リセッター for Windows | INASOFT | NG:非対応 | |
| 疑似ワクチン | INASOFT | OK | |
| 疑似拡大鏡 | INASOFT | NG:スタートボタンのあり方が変わったため、動作せず。 | |
| 疑似落ちゲー | INASOFT | OK |
いくつかのソフトウェアについて、「スタートボタンのあり方が変わった」という記述をしていますが、これの詳細を述べたいと思います。
Windows Vistaよりも前のバージョンのWindowsでは、スタートボタンは「タスクバーの上にある最初のボタン」として設置されていました。これを閉じる技術的な方法については、「いじくるつくーるのヘルプ - いじくるつくーるでスタートボタンを閉じるのとかって、どうやっているのですか?」をご覧下さい。
Visual C++には、Windows内のすべてのウィンドウやボタンについての情報を得るためのツール "Spy++" が付属しています。このツールを使うと、Windows XPのスタートボタンは、次のように表されます。

ところが、Windows Vistaのスタートボタンは、次のように表されています。

つまり、従来と同じ方法でスタートボタンを取り扱うことができないことになります。(クラシックスタイルを適用したときも同様です)
ところで、そんなスタートボタンを、隠したり無効化(グレイアウト)したり閉じたりした場合は、どうなるでしょう? いじくるつくーるの新バージョンで試してみました。

まずは、スタートボタンを無効化してみましょう。

マウスを上に置いても、色が変わらなくなります。また、マウスのボタンを押してもメニューが出てきません。ただし、Windowsキーを押すとスタートメニューが出てきます。
次に、スタートボタンを隠してみましょう。

どうやら、タスクバー上に直接描かれていると思われるボタンらしき物が出てきました。小さくなったようなイメージです。ただし、この小さいスタートボタンも、正しく動作します。
最後に、スタートボタンを閉じてみましょう。

こんなダイアログが出てきちゃいました。どうやら、OSもろとも終了しようということみたいですね。というわけで、最新のいじくるつくーるをWindows Vista上で動かした場合、スタートボタンを閉じる選択肢はなくなっています。