Windows ベースのプログラムでヘルプを開こうとすると、「機能は含まれていません」または「ヘルプはサポートされていません」というエラーが表示される

適用対象: Windows Server 2012 R2 DatacenterWindows Server 2012 R2 EssentialsWindows Server 2012 R2 Foundation

Windows ヘルプ プログラムは、Windows 10 および Windows Server 2012 以降のバージョンの Windows Server ではサポートされていません。 Windows ヘルプ プログラムが利用できるのは、Windows Vista、7、8、および 8.1 のみです。ソフトウェアを開発する場合、Windows ヘルプ アプリケーションを使用しないことを強くお勧めします。 .hlp ファイルに依存するプログラムをリリースしているソフトウェア開発者には、CHM、HTML、または XML など、代替のヘルプ ファイル形式に移行することを推奨します。 詳細については、MSDN の記事「 必要なヘルプのバージョンを確認する 」を参照してください。Microsoft は今後のヘルプ技術を開発していますが、HTML ヘルプ1.4 を引き続き使用するには、ヘルプの作成者にお勧めします。 HTML ヘルプ 1.4 は、Windows 7 以降のバージョンの Windows に含まれています。

現象


Windows ベースのプログラムでヘルプを開くときに、次のいずれかのエラー メッセージが表示される。
このプログラムのヘルプは、以前のバージョンの Windows で使用されていた Windows ヘルプ形式で作成されているため、Windows Vista ではサポートされていません。
このプログラムのヘルプは、このバージョンの Windows に含まれていない機能に依存する Windows ヘルプ形式で作成されています。 ただし、Windows ヘルプ形式で作成されたヘルプを表示できるようにするプログラムをダウンロードすることができます。
このプログラムのヘルプは、このバージョンの Windows に含まれていない機能に依存する Windows ヘルプ形式で作成されました。 詳細については、マイクロソフトのヘルプとサポートの Web サイトを参照してください。

解決方法


Windows で ファイル拡張子が .hlp の 32 ビット ヘルプ ファイルを表示するには、Microsoft ダウンロード センターから WinHlp32.exe をダウンロードしてインストールする必要があります。このプログラムのダウンロードに関する重要な注意事項
  • Windows Internet Explorer を使用してリンクを開きます。
  • ダウンロード ページを開いたときに "検証が必要" というメッセージが表示される場合は、[続行] をクリックして、画面の指示に従ってください。
  • ファイルをダウンロードするよう求められたら、64 ビット版 Windows の場合は "x64" を含むファイル名を選択し、32 ビット版 Windows の場合は "x86" を含むファイル名を選択します。 以下の自動検出情報を使用して選択してください。
     
  • Windows ヘルプ プログラムは、Windows Server 2012 以降のバージョンの Windows Server ではサポートされていません。
WinHlp32.exe をインストールするとき、またはヘルプを使用するときに問題が発生した場合は、「詳細情報」セクションを参照してください。

上級ユーザー向けの詳細


この問題は、Windows ヘルプが古いバージョンの Windows ヘルプ プログラム (WinHlp32.exe) を使用してコンテンツを表示すると発生します。

WinHlp32 をインストールするときに発生する可能性のある既知の問題

Windows Update エラー 80070422

この問題を手動で解決する

WinHlp32 の更新プログラムをダウンロードしたときに Windows Update エラー80070422が表示される場合は、Windows Update サービスの設定を変更してから、サービスを再起動する必要があります。そのためには、次の手順を実行します。

  1. [スタート] ボタンをクリックし、[検索の開始] ボックスまたは [プログラムとファイルの検索] ボックスに「Services」と入力します。
  2. プログラムの一覧から [サービス] をダブルクリックします。 管理者のパスワードを要求するダイアログ ボックスが表示された場合はパスワードを入力して [OK] をクリックし、確認を要求するダイアログ ボックスが表示された場合は [続行] をクリックします。
  3. [Windows Update] を右クリックし、[プロパティ] をクリックします。
  4. [全般] タブで、[スタートアップの種類] ボックスに [自動] と表示されていることを確認します。
  5. [サービスの状態] で、サービスが開始されているかどうかを確認します。 開始されていない場合は、[開始] をクリックします。 管理者のパスワードを要求するダイアログ ボックスが表示された場合はパスワードを入力して [OK] をクリックし、確認を要求するダイアログ ボックスが表示された場合は [続行] をクリックします。
  6. [OK] をクリックします。

WinHlp32 のインストール後に発生する可能性のある既知の問題

WinHlp32.exe の以前のリリースと比較して、回帰の問題があることがわかっている機能を以下に示します。 次の既知の問題は、この資料に記載されているバージョンの WinHlp32.exe のみを対象としています。

  • マクロが無効になる Windows のヘルプでは、既定では次のマクロが無効になっています。
    • ExecFile
    • RegisterRoutine
    • ShellExecute
    • ShortCut
    • Generate
    • テスト
    • ExecProgram
    ただし、.hlp ファイル内の他のすべてのマクロは過去のリリースと同じように機能します。 したがって、Windows Vista、Windows 7、Windows Server 2008 または Windows Server 2008 R2 用の Windows ヘルプをインストールした後に、これらのマクロに依存する .hlp ファイルを開くと、ファイルの一部の機能が正常に動作しない場合があります。 この場合に、次のエラー メッセージが表示されることがあります。
    このマクロの実行には問題があります。 (1037)
    これらのマクロを使用する必要がある場合は、「ネットワーク管理者向けのレジストリ エントリおよびグループ ポリシー」に記載されているグループ ポリシーまたはレジストリを使用する回避策を使用して、マクロを有効にすることができます。
  • イントラネットサイトに保存されている .hlp ファイルにアクセスできない 既定では、WinHlp32 を使用して、イントラネットサイトに保存されている .hlp ファイルにアクセスすることはできません。 リモートファイルを開こうとすると、次のエラーメッセージが表示されます。
    このヘルプファイルを表示できません。 もう一度ヘルプファイルを開いてみてください。それでもこのメッセージが表示される場合は、ヘルプファイルを別のドライブにコピーして、もう一度やり直してください。
    イントラネット サイトに格納されている .hlp ファイルにアクセスする必要がある場合は、「ネットワーク管理者向けのレジストリ エントリおよびグループ ポリシー」に記載されているグループ ポリシーまたはレジストリを使用する回避策を使用して、ファイルのブロックを解除できます。
  • 非対話型のユーザーアクセスがブロックされる 非対話型のユーザー (システムプロセスなど) では、アクセスが .hlp ファイルにブロックされています。 このエラーが発生した場合、ユーザーにエラーメッセージは表示されません。
  • ドラッグアンドドロップ機能が無効になっている アプリケーションのドラッグアンドドロップ機能はサポートされていません。 このエラーが発生した場合、ユーザーにエラーメッセージは表示されません。
  • "ヘルプの使い方" のファイルの依存関係 "ヘルプの使い方" というタイトルのヘルプファイルが、Windows Vista および Windows Server 2008 から削除されました。 次のファイルが削除されました。
    • Windows.hlp
    • Winhlp32.hlp
    • Winhlp32.cnt
    • Winhelp.cnt
    • Nocntnt.cnt
    注意事項
    • これらのファイルは Windows 7 または Windows Server 2008 R2 には含まれていません。
    • これらのファイルに依存する .hlp ファイルを開こうとすると、エラーが返される場合があります。

WinHlp32 に関連する互換性の問題に対処する方法

WinHlp32.exe を使用して 32 ビット ヘルプ ファイルを表示できます。 このリリースには、アプリケーションの互換性の問題に対処するために使用できるグループ ポリシーとレジストリ サブキーが用意されています。 たとえば、グループ ポリシー設定とレジストリ サブキーを使用すると、.hlp ファイル内のマクロに関連する問題の解決や、イントラネット サイトに格納されている .hlp ファイルへのアクセスが可能になります。 ただし、入手元が不明なヘルプ ファイルを表示する場合、これらのポリシーや設定を有効にすると、コンピューターが危険にさらされる可能性が高まります。 したがって、ここに記載されているアプリケーションの互換性の問題に対する回避策を導入するかどうかを決める際には注意が必要です。WinHlp32.exe をインストールするかどうか、およびどのようなポリシー変更およびレジストリ変更を行うかを決定する際には、以下の質問を役立ててください。

  • WinHlp32.exe を削除することによって影響を受けるアプリケーションや機能は必要ですか。
    • WinHlp32.exe を必要とするアプリケーションはいくつありますか。 機能変更の影響を受けるアプリケーションはいくつありますか。 これらのアプリケーションの重要度はどの程度ですか。
    • 変更による誤動作の深刻度は?
  • 現在のセキュリティ要件およびセキュリティ機能はどのようになっていますか。
    • WinHlp32.exe の機能を使用できることと、 セキュリティを可能な限り強化することでは、どちらがより重要ですか。
    • ローカルまたは会社のファイアウォールなど、外部のセキュリティ対策を導入することによって、WinHlp32.exe をインストールし、この資料に記載されているポリシーまたはレジストリの変更を行っても問題がないという十分な確信が得られますか。
  • 現在の組織では、コンテンツが .hlp 形式で提供されていますか。
    • WinHlp32.exe 機能を使用しないように、プログラムやコンテンツを変更できますか。 たとえば、.hlp 形式のヘルプ コンテンツを .chm、.html、または .xml などの他のファイル形式に変換できますか。
    • 現在の組織は、.hlp ファイルをイントラネット サイト上に格納していますか。 これらのファイルをローカルにインストールできますか。

WinHlp32 をインストールした後に1台のコンピューターでマクロを有効にする方法

この記事で説明されている WinHelp32 プログラムをインストールすると、特定のマクロが無効になります。 この問題の詳細については、「既知の問題」セクションを参照してください。このセクションでは、レジストリキーを変更して、これらのマクロを再度有効にする手順について説明します。 使用しているコンピューターが管理環境内にある場合は、最初に IT 部門とのコンサルティングを行わずに、次の手順を実行しないでください。 IT 部門は、マクロを再び有効にしないようにすることができます。また、グループポリシーを使用してマクロを再度有効にすることもできます。 続行する前に、IT 部門がこの記事を完全に読む必要があります。警告 ただし、マイクロソフトでは、ユーザーの組織にどのレジストリ キーや値が適しているかについての特定の推奨は行っていません。 ただし、Microsoft は、どのレジストリキーとどの値が自分の固有の環境に適しているかを特定するための推奨事項はありません。 管理された環境では、このような回避策の利点と、それらを使用する際のリスクをどのようにするかについて、IT 部門が最適な判断を行う必要があります。 安全な方法としては、レジストリの回避策をまったく使わないことをお勧めします。注: このタスクの手順を実行するには、管理者アカウントを使用してコンピューターにログオンしている必要があります。 管理者アカウントを使用して、標準アカウントなど、他のアカウントでは実行できない変更をコンピューターに加えることができます。管理者アカウントを使用してログオンするには、コンピューターの管理者アカウントのパスワードを知っている必要があります。 パーソナルコンピューターでこれらの手順を実行している場合は、管理者アカウントを使用して既にログオンしている可能性があります。 職場のコンピューターでこれらの手順を実行している場合は、システム管理者に問い合わせる必要がある場合があります。

単一コンピューターでの手動でのマクロの有効化

重要このセクションの手順に慎重に従います。レジストリを不適切に変更すると、重大な問題が発生する可能性があります。問題が発生した場合は、変更する前にレジストリをバックアップして復元します。WinHlp32.exe のインストール後に単一のコンピューター上でマクロを有効にするには、次の手順を実行します。
  1. 管理者アカウントを使用してログオンします。
  2. Windows ロゴキーを押しながら Rキーを押し、「 regedit」と入力して、[ OK]をクリックします。
    [通知] アイコン
     管理パスワードの入力を求めるメッセージが表示された場合、または確認のためにパスワードを入力した場合は、[続行] をクリックします。
  3. 32 ビット版の Windows では、次のレジストリ サブキーを見つけて選択します。
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
    64 ビット版の Windows では、次のレジストリ サブキーを見つけて選択します。
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft
  4. [編集] メニューの [新規] をポイントし、[キー] をクリックします。
  5. WinHelp」と入力し、Enter キーを押します。
  6. [WinHelp] キーをクリックします。
  7. [編集] メニューの [新規] をポイントし、[DWORD (32 ビット) 値] をクリックします。
  8. AllowProgrammaticMacros」と入力し、Enter キーを押します。
  9. [編集] メニューの [修正] をクリックします。
  10. [値のデータ] ボックスに 1 と入力します。[表記] で [16 進] をクリックし、[OK] をクリックします。
  11. レジストリ エディターを終了します。 

WinHlp32 をインストールした後に1台のコンピューター上のイントラネットに保存されている .hlp ファイルのブロックを解除する方法

この記事で説明されている WinHelp32 ファイルをインストールすると、イントラネットサイトに保存されている .hlp ファイルがブロックされます。 この問題の詳細については、「既知の問題」セクションを参照してください。この記事では、レジストリキーを変更してこれらの .hlp ファイルのブロックを解除する手順について説明します。 使用しているコンピューターが管理環境内にある場合は、最初に IT 部門とのコンサルティングを行わずに、次の手順を実行しないでください。 IT 部門は、マクロを再び有効にしないようにすることができます。また、グループポリシーを使用してマクロを再度有効にすることもできます。重要この記事では、セキュリティ設定を低にする方法、またはコンピューターのセキュリティ機能を無効にする方法について説明します。これらの変更を行って、特定の問題を回避することができます。これらの変更を行う前に、この回避策の実装に関連するリスクを特定の環境で評価することをお勧めします。この回避策を実装する場合は、コンピューターを保護するために必要な追加の手順を実行します。警告 ただし、マイクロソフトでは、ユーザーの組織にどのレジストリ キーや値が適しているかについての特定の推奨は行っていません。 ただし、Microsoft は、どのレジストリキーとどの値が自分の固有の環境に適しているかを特定するための推奨事項はありません。 管理された環境では、このような回避策の利点と、それらを使用する際のリスクをどのようにするかについて、IT 部門が最適な判断を行う必要があります。 安全な方法としては、レジストリの回避策をまったく使わないことをお勧めします。注: このタスクの手順を実行するには、管理者アカウントを使用してコンピューターにログオンしている必要があります。 管理者アカウントを使用して、標準アカウントなど、他のアカウントでは実行できない変更をコンピューターに加えることができます。管理者アカウントを使用してログオンするには、コンピューターの管理者アカウントのパスワードを知っている必要があります。 個人用コンピューターでこれらの手順を実行している場合は、既に管理者アカウントでログオンしている可能性があります。 職場のコンピューターでこれらの手順を実行している場合は、システム管理者に問い合わせる必要がある場合があります。

イントラネット上の単一のコンピューターに格納されている .hlp ファイルの手動ブロック解除

重要このセクションの手順に慎重に従います。レジストリを不適切に変更すると、重大な問題が発生する可能性があります。問題が発生した場合は、変更する前にレジストリをバックアップして復元します。WinHlp32.exe のインストール後に .hlp ファイルのブロックを解除するには、次の手順を実行します。
  1. 管理者アカウントを使用してログオンします。
  2. Windows ロゴキーを押しながら Rキーを押し、「 regedit」と入力して、[ OK]をクリックします。
    [通知] アイコン
     管理パスワードの入力を求めるメッセージが表示された場合、または確認のためにパスワードを入力した場合は、[続行] をクリックします。
  3. 32 ビット版の Windows では、次のレジストリ サブキーを見つけて選択します。
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
    64 ビット版の Windows では、次のレジストリ サブキーを見つけて選択します。
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft
  4. [編集] メニューの [新規] をポイントし、[キー] をクリックします。
  5. WinHelp」と入力し、Enter キーを押します。
  6. [WinHelp] キーをクリックします。
  7. [編集] メニューの [新規] をポイントし、[DWORD (32 ビット) 値] をクリックします。
  8. AllowIntranetAccess」と入力し、Enter キーを押します。
  9. [編集] メニューの [修正] をクリックします。
  10. [値のデータ] ボックスに 1 と入力します。[表記] で [16 進] をクリックし、[OK] をクリックします。
  11. レジストリ エディターを終了します。

ネットワーク管理者向けのレジストリエントリとグループポリシー

警告この回避策は、悪意のあるユーザーやウイルスなどの悪意のあるソフトウェアにより、コンピューターやネットワークの攻撃を受ける可能性が高くなることがあります。この回避策はお勧めしませんが、このような回避策を独自の判断で実装できるように、この情報を提供しています。この回避策は、お客様自身の責任において使用してください。警告 ただし、マイクロソフトでは、ユーザーの組織にどのレジストリ キーや値が適しているかについての特定の推奨は行っていません。 回避策の利点とそれらを使用する場合のリスクをどのように比較検討するかは、IT 部門が判断するのが最適です。 より安全なのは、レジストリを使用した回避策を使用しないことです。 安全な方法としては、レジストリの回避策をまったく使わないことをお勧めします。WinHlp32 ダウンロードには、グループポリシー設定とレジストリエントリが用意されています。このリリースの Windows ヘルプで、既知の2つの問題を回避しています。 次のグループ ポリシーまたはレジストリ エントリを使用すると、ネットワーク管理者や個々のユーザーはマクロを再度有効にし、イントラネット サイトに格納されている .hlp ファイルのブロックを解除できます。 各機能の回避策として、ローカル コンピューターのグループ ポリシー設定と現在のユーザーのグループ ポリシー設定が提供されています。 ユーザーのレジストリ設定を使用して、各機能を管理することもできます。それぞれの機能に関して、優先順位は次のようになっています。

  • ローカル コンピューターのグループ ポリシー
  • 現在のユーザーのグループ ポリシー
  • ユーザーのレジストリ設定
ポリシーが機能に設定されておらず、機能のユーザーレジストリ設定が設定されていない場合は、「既知の問題」セクションで説明されている機能が動作します。重要このセクション、方法、またはタスクには、レジストリの変更方法を説明する手順が含まれています。ただし、レジストリを不適切に変更すると、重大な問題が発生する可能性があります。そのため、次の手順に従って慎重に行ってください。保護を強化するには、レジストリを変更する前にバックアップを作成します。次に、問題が発生した場合にレジストリを復元することができます。レジストリのバックアップと復元の詳細については、次の記事の番号をクリックして、Microsoft サポート技術情報の記事を参照してください。
322756 Windows でレジストリをバックアップおよび復元する方法
  • マクロを有効にする方法 ネットワーク管理者は、WinHlp32 のグループポリシー設定で [プログラムによるマクロを許可する] を使用して、.hlp ファイルのマクロを有効または無効にすることができます。 グループ ポリシーの詳細については、「関連情報」を参照してください。 グループポリシーの詳細については、「関連項目」を参照してください。 ローカルコンピューターのグループポリシーとこの機能の現在のユーザーグループポリシーの両方が設定されていない場合、ユーザーは .hlp ファイルのマクロを有効または無効にするために、この機能のユーザーレジストリ設定を変更することができます。 この設定を変更するには、最初に次の新しいサブキーをレジストリに追加する必要があります。
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WinHelp
    その後、AllowProgrammaticMacros という名前の DWORD 値をこのサブキーに追加する必要があります。 AllowProgrammaticMacros の値が 1 に設定されると、マクロは有効になります。 値が 0 に設定されると、マクロは無効になります。 このレジストリ値が存在しない場合は、マクロは無効になります。
  • イントラネットに保存されている .hlp ファイルのブロックを解除する方法 ネットワーク管理者は、イントラネットに保存されている .hlp ファイルのブロックを解除するために、[許可 WinHlp32] を使用して、イントラネットサイトに保存されている .hlp ファイルにアクセスすることができます。 グループ ポリシーの詳細については、「関連情報」を参照してください。 グループポリシーの詳細については、「関連項目」を参照してください。 この機能のグループポリシー設定が設定されていない場合、ユーザーは、この機能のユーザーレジストリ設定を変更して、イントラネットサイトに保存されている .hlp ファイルをブロックまたはブロック解除することができます。 この設定を変更するには、最初に次の新しいサブキーをレジストリに追加する必要があります。
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WinHelp
    その後、AllowIntranetAccess という名前の DWORD 値をこのサブキーに追加する必要があります。 AllowIntranetAccess の値が 1 に設定されると、イントラネット サイトに格納されている .hlp ファイルは利用可能になります。 値が 0 に設定されると、イントラネット サイトに格納されている .hlp ファイルはブロックされます。 このレジストリ値が存在しない場合は、イントラネット サイトに格納されている .hlp ファイルはブロックされます。

.Hlp ファイルをリリースしたヘルプコンテンツプロバイダー

Windows Vista 以降では、以前のヘルプコンポーネント (WinHlp32) が、新しいバージョンの Windows の機能を追加する新しいヘルプコンポーネントに置き換えられています。今後の Windows リリースでは、現在の形式で WinHlp32 テクノロジはサポートされません。 そのため、ソフトウェア開発者がこの Windows ヘルププログラムを使用しないようにすることを強くお勧めします。 .Hlp ファイルを使用するプログラムをリリースするソフトウェア開発者は、.chm、.html、.xml などの代替のヘルプファイル形式にヘルプシステムを移行することをお勧めします。 また、ユーザーは、WinHelp API から新しいコンテンツソースへの呼び出しを変更する必要があります。 ソフトウェアの開発者がヘルプコンテンツをある形式から別の形式に変換できるように、サードパーティのツールがいくつか用意されています。注: Windows Vista、Windows 7、Windows Server 2008、Windows Server 2008 R2 には、16ビット .hlp ファイル用の WinHelp が含まれています。 WinHelp プログラムは、16ビット .hlp ファイル用の Windows ヘルプのバージョンです。
 

参照情報