ヘルプが表示されない場合の対処
(および、「プログラム実行時にセキュリティの警告が毎回出る」場合の対応)
                           … 2009/2, 2009/3(現象2を追加)


現象

現象1
ダウンロードした圧縮ファイル(zip, lzhファイル)を展開して、ヘルプファイル(chmファイル)を直接読もうとしたり、プログラムからヘルプボタンなどでヘルプを呼び出すと、ヘルプのどのページも内容が表示されず、次のようなメッセージが表示されることがあります。

Windows XPの場合
 「取り消されたアクション」
 「ページを表示できません。」
Windows Vistaの場合
 「Web ページへのナビゲーションは取り消されました」
 「アドレスが有効ではありません」

また、実行プログラム(exeファイル)も、実行するたびに毎回セキュリティの警告が出ることがあります。


現象2
OSの種類に関わらず、ヘルプの左側(目次欄)に意味不明の文字列が一行出て、目次が表示されない場合があります。

 

対処法

対処法1
まずはエクスプローラでプログラムをインストールしたフォルダを開いて、ヘルプファイル(マークのアイコン、拡張子"chm"のファイル)を見つけて、下記ABのどちらかを実行してください。

方法 A
 1. ヘルプファイルをダブルクリックします。
 2. [開いているファイル - セキュリティの警告] ダイアログ ボックスで、[この種類のファイルであれば常に警告する] チェック ボックスをオフにします。
 3. [開く] をクリックします。

方法 B
 1. ヘルプファイルを右クリックし、[プロパティ] をクリックします。
 2. [ブロックの解除] をクリックします。
 3. ヘルプファイルをダブルクリックして開きます。

参考:マイクロソフト社の技術資料: http://support.microsoft.com/kb/902225/ja

実行プログラムの場合も同様に対処してください。

対処法2
上記で対処できない時( [ブロックの解除]の項目が無いなど)は、フォルダ名の問題の可能性があります。ヘルプファイルのあるフォルダ名(パス名のどこか)に"#"や"%"を含んでいると表示されないようです。これはフォルダ名を変更するしか方法が無いようです。


発生する条件

対処法1で解決する事例は、インターネットからzipファイルをダウンロードしエクスプローラで展開すると、上記の様な「ブロック」がかかってしまうようだ。エクスプローラでlzhも展開できるツール(マイクロソフト社製)がインストールされている場合はlzhファイルでも発生する。

他の解凍ツールでは発生しないため、エクスプローラで展開した時点で「ブロック」を付加していると考えられる(ダウンロードした圧縮ファイル自体にもブロックがかかっている)。
上記の技術資料では、Windowsの自動更新により、以前は問題なかったプログラムでも発生するようになるとのことだ。

対処法2の事例は厳密には、フォルダ名に"#"を含んでいる場合が現象1、"%"では現象2となる。

 

考察

ネット検索すると、多数のオンライン・ソフトウェアの開発者とユーザーがこの問題に悩まされているのがわかる。
だが普通はこの現象に直面するまでは知らないし、対処法も検索するまでわからない。これって結構大きな問題だと思うんだが、あまり話題になっていないのが不可解だ。

特に、実行ファイルやヘルプファイルを直接起動した時に警告が出るのはまだ「何かブロックされているらしい」ことがわかるが、プログラムからヘルプを呼び出した時に表示されないと、ユーザーが「そのプログラムのバグ」と思ってしまう可能性が高いわけで、開発者にとっては迷惑この上ない。

問題点1:
上記対処法Aの「この種類のファイルであれば常に警告する」というメッセージは誤訳だ。「このファイルは常に確認する」が正解のようだ。いっそ「ヘルプファイルだからセキュリティの警告なんて要らないよね?」とでも聞いてくれればわかりやすいのにね。
 参考: http://takagi-hiromitsu.jp/diary/20080211.html#p01 (とても参考になる)
「この種類」だから「常に警告する」にしておかないと危険だと思っている人は多いはず。「このファイル」になっていれば警告は不要と思う人が多いのは間違いないと思う。

さらにWindows 7のベータ版では「このファイル」に直っているので、マイクロソフトはこの問題を知っていて直さないわけだ。(さっさと直せ〜!)

問題点2:
Windowsのアップデートで、ある日突然この状態になるのに、アップデート時に何の警告もされない。(アップデートの詳細なんて読む暇のある人はごく少数だろう。)
「ヘルプ文書が読めなくなる」つまり「プログラムが正常に動作しなくなる」という重大問題なのだから、アップデート時に十分な警告をするのが当然だ。

問題点3:
エクスプローラで解凍する時点で「ブロック」を付加するということは、解凍時に情報を付加しているわけで、この時点で警告を発することができるはず。「このファイルを表示できないようにブロックしたい?」と一言聞いてくれれば、トラブルは激減するのに。

問題点4:
「取り消されたアクション」というような、到底誰にもわかりそうにないメッセージを出して、対処方法には「次のことを試してください」などと、何の解決にもならないメッセージが出る。ここには上記の解決方法も当然含まれているべきだろう。「表示をブロックしてるけど、解除していい?」とか聞いてくれれば解決なのに。
「ネットを検索してみよう」という対処法を思いつく人はごく少数だし、事実ネット上の多くのQ&Aサイトで同じ質問が繰り返されている。
「ヘルプが見られない」のだから、開発者が解決方法をヘルプに記述する方法も採れないよね。

問題点5:
多分何万種類ものオンライン・ソフトウェアでこの状況が発生しているはずなのに、PC評論系の記事でこれについて(上記の誤訳問題も含めて)言及したものを見たことがない。誰も気づいてないのか、問題の重大さがわからないのか。PC評論陣の力の無さ・層の薄さを感じる。(門外漢なので本当はどうなのか知らないけど。)

 

私がちょっと考えただけでも適切なメッセージを出すべき場面が4つもあるのに、問題点1〜4のすべてで適確なメッセージを出してないという観点から、「ヘルプ表示処理のバグ」だと言っても過言ではないと考える。
セキュリティをふさぐことで新たな問題を生じさせ、それを知っていながら修正することもせず、Web上にわかりにくい技術資料1枚を公開しただけで済ませるという、とても愚かな対応だ。(「角を矯めて牛を殺す」って感じだな。)
もちろん4点全部対処されているのが望ましいが、1点でもきちんと対処されていればかなりトラブルが軽減されるはずだ。

また、こういった対処法を書いたWebページが、各ソフトウェア開発企業などのWebページにいくつも見られるが、こんなものはマイクロソフト社が初心者向けの総合的な対策ページを公開しておくべきだろう。