次の方法で共有


Office ソリューション配置のトラブルシューティング

ここでは、Office ソリューションを配置するときに発生する可能性がある一般的な問題を解決するためのヒントを示します。

対象: このトピックの情報は、Microsoft Office 2010 および 2007 Microsoft Office system のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。

イベント ビューアーを使用した Office ソリューションのトラブルシューティング

Windows のイベント ビューアーを使用すると、Office ソリューションのインストール時またはアンインストール時に Visual Studio Tools for Office Runtime でキャプチャされるエラー メッセージを表示できます。 イベント ロガーからのこれらのメッセージを使用して、インストールと配置の問題を解決できます。 詳細については、「Office ソリューションのイベント ログ」を参照してください。

アセンブリ名の変更は競合発生の原因となる

ソリューションを配置した後に、プロジェクト デザイナー[アプリケーション] ページで [アセンブリ名] の値を変更すると、発行ツールによってセットアップ パッケージが変更され、1 つの Setup.exe ファイルに 2 つの配置マニフェストが存在することになります。 2 つのマニフェストを配置すると、次のような状況が発生する原因になります。

  • エンド ユーザーが両方のバージョンをインストールすると、アプリケーションは両方のアドインを読み込みます。

  • アドインがインストールされている状態でアセンブリの名前を変更すると、エンド ユーザーが更新を受け取ることはなくなります。

これらの状況を回避するには、ソリューションを配置した後にソリューションの [アセンブリ名] の値を変更しないようにします。

更新のチェックに長い時間がかかる

Visual Studio 2010 Tools for Office Runtime には、マニフェストやソリューションをダウンロードするときのタイムアウト値を管理者が設定できるように、レジストリ エントリが用意されています。 

タイムアウト値を設定するには

  1. レジストリで、次のキーに移動します。

    HKEY_CURRENT_USER\Software\Microsoft\VSTA

  2. AddInTimeout サブキーに、タイムアウト値をミリ秒単位で設定します。

    AddInTimeout サブキーが存在しない場合は、DWORD として作成します。

ネットワーク ファイル共有に対する更新または発行ができない

ネットワーク ファイル共有にある Office ソリューションは、更新の発行プロセスでソリューションの Setup.exe ファイルがロックされると、誤解を招くメッセージを表示することがあります。 たとえば、"'setup.exe' を Web サイトに追加できません。 ファイル 'setup.exe' はこの Web サイトに既に存在します。" というメッセージが表示されることがあります。

ファイルがロックされないようにするには、エンド ユーザーに対して共有を読み取り専用に設定します。 ただし、共有上にドキュメントがあると、このドキュメントもエンド ユーザーに対して読み取り専用になります。

Microsoft Office の必須コンポーネントがインストールされていない

セットアップ パッケージには、Office ソリューションと共に配置される必須コンポーネントとして、Microsoft .NET Framework、Visual Studio Tools for Office Runtime、および Microsoft Office プライマリ相互運用機能アセンブリを追加できます。 プライマリ相互運用機能アセンブリをインストールする方法の詳細については、「Office ソリューションを開発できるようにコンピューターを構成する」および「方法 : Office のプライマリ相互運用機能アセンブリをインストールする」を参照してください。

"Localhost" を使用して発行するとインストール問題が生じることがある

ドキュメント レベルのソリューションの発行場所またはインストール先として "https://localhost" を使用した場合、この文字列は発行ウィザードで実際のコンピューター名に変換されません。 これは、ソリューションは開発用コンピューター上にのみインストール可能であることを意味します。 配置ソリューションに開発用コンピューター上の IIS を使用させるには、HTTP、HTTPS、FTP のすべての場所について、localhost ではなく完全修飾名を使用します。

更新済みのアセンブリではなくキャッシュしたアセンブリが読み込まれる

プロジェクトの出力パスがネットワーク ファイル共有上にあり、アセンブリが厳密な名前で署名されていて、カスタマイズ アセンブリのバージョンが変更されていない場合、.NET Framework アセンブリ ローダーである fusion は、キャッシュしたアセンブリのコピーを読み込みます。 アセンブリを更新しても、これらの条件が満たされるとキャッシュしたコピーが読み込まれるため、プロジェクトを次回実行するときに更新は表示されません。

Visual Studio を構成し、プロジェクトを実行するたびに fusion がアセンブリをダウンロードするように設定できます。

キャッシュしたコピーではなくアセンブリをダウンロードするには

  1. [プロジェクト] メニューの [ProjectName のプロパティ] をクリックします。

  2. [アプリケーション] ページで、[アセンブリ情報] をクリックします。

  3. 最初の [アセンブリ バージョン] ボックスに、アスタリスク (*) を入力します。

  4. [OK] をクリックします。

アセンブリのバージョンを変更したら、厳密な名前でアセンブリに署名します。fusion が最新バージョンのカスタマイズを読み込むようになります。

ドキュメント レベルのカスタマイズにおける XML スキーマが登録されていない

2007 Microsoft Office system のドキュメント レベルのプロジェクトにあるドキュメントに XML スキーマを割り当てても、そのスキーマはユーザーのライブラリには登録されません。 これを実行するには、別のインストーラー ファイルを作成する必要があります。 詳細については、「ドキュメント レベルのカスタマイズにおける XML スキーマとデータ」を参照してください。

URI に US-ASCII 以外の文字が含まれているとインストールが失敗する

Office ソリューションを HTTP、HTTPS、または FTP のいずれかの場所に発行する場合、US-ASCII ではない Unicode 文字をパスに含めることはできません。 これらの文字を使用すると、セットアップ プログラムで一貫性のない動作が実行されることがあります。 インストール パスには、US-ASCII 文字を使用してください。

開発用コンピューターにソリューションを発行およびインストールすると手動でアンインストールするよう求めるプロンプトが表示される

Office ソリューションをビルドすると、そのビルド バージョンが自動的に登録されます。 開発用コンピューターに同じソリューションを以前に発行およびインストールしていた場合は、次のビルド後、リビルド後、または発行後に、発行されたバージョンとビルドされたバージョンのインストール パスが違うことが Visual Studio Tools for Office Runtime によって検出されます。 "現在他のバージョンがインストールされており、この場所からアップグレードすることはできないため、このカスタマイズをインストールすることはできません。" というエラー メッセージが表示されます。 ソリューションをビルドし直すとレジストリ キーが更新されるため、2 番目のバージョンを発行、デバッグ、または実行する前に、最初のバージョンをアンインストールする必要があります。

このメッセージが表示されないようにするには、開発用コンピューターで別のユーザー アカウントを作成して配置をテストします。 または、次回のソリューションの発行、デバッグ、またはリビルドの前に、コンピューター上にインストールされているプログラムの一覧からそのバージョンをアンインストールできます。

ソリューションをインストールするときキャッチされない例外やメソッドが見つからないエラーが発生する

配置マニフェスト (.vsto ファイル)、Office アプリケーション、ドキュメント、またはブックを開いて Office ソリューションをインストールすると、次の状態に対するエラー メッセージが表示されます。

  • メソッドが見つからない

  • MissingMethodException

  • キャッチされない例外

これらのエラー メッセージが表示されないようにするには、セットアップ プログラムを実行することにより、ソリューションをインストールします。

セットアップ プログラムを実行せずにソリューションをインストールする場合、インストーラーでは、必須コンポーネントの有無のチェックや、それらのインストールは行われません。 セットアップ プログラムは、正しいバージョンの必須コンポーネントをチェックし、必要に応じて、これらをインストールします。

Windows インストーラー セットアップ プロジェクトをビルドした後にアドイン用マニフェスト レジストリ キーが変わる

アドイン セットアップ プログラムに含まれるマニフェスト レジストリ キーが、Windows インストーラー セットアップ プログラムのビルド時に .vsto から .dll.manifest に変わる場合があります。

この問題の発生を防ぐには、セットアップ プログラムを別のソリューションで作成するか、レジストリ キー値としてアドイン名が含まれる CompanyName.AddinName を使用します。

Office ソリューションの ClickOnce インストーラーがプライマリ相互運用機能アセンブリをインストールしない

Office ソリューション用に ClickOnce が作成するセットアップ プログラムを実行すると、Office プライマリ相互運用機能アセンブリ (PIA) がまだインストールされていない場合のみ、PIA のインストーラーが実行されます。

セットアップ プログラムで PIA が正しくインストールされない場合、インストール ディレクトリから o2007pia.msi というインストーラー ファイルを実行して PIA を手動でインストールします。

Office ソリューションを再インストールすると、引数が範囲外という例外が発生する

Office ソリューションを再インストールするときに、ArgumentOutOfRangeException 例外が発生し、"指定された引数は、有効な値の範囲内にありません" というエラー メッセージが表示されます。

インストール場所の URL の大文字と小文字が違っていると、この例外が発生します。 たとえば、Office ソリューションを最初は https://fabrikam.com/ExcelSolution.vsto からインストールし、次に https://fabrikam.com/excelsolution.vsto を使用すると、このエラーが発生します。

このエラー メッセージが表示されないようにするには、Office ソリューションのインストール時に、同じ大文字と小文字の組み合わせを使用します。

参照

概念

ClickOnce 配置のトラブルシューティング

Office ソリューションの配置