Office ソリューション配置のトラブルシューティング (2007 システム)
更新 : 2008 年 7 月
対象 |
---|
このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。 プロジェクトの種類
Microsoft Office のバージョン
詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。 |
ここでは、Visual Studio Tools for Office を使用して Microsoft Office ソリューションを配置する場合に発生する可能性がある、一般的な問題を解決するうえでのヒントを示します。
アセンブリ名の変更は競合発生の原因となる
ソリューションを配置した後に、プロジェクト デザイナの [アプリケーション] ページで [アセンブリ名] の値を変更すると、発行ツールによってセットアップ パッケージが変更され、1 つの Setup.exe ファイルに 2 つの配置マニフェストが存在することになります。2 つのマニフェストを配置すると、次のような状況が発生する原因になります。
エンド ユーザーが両方のバージョンをインストールすると、アプリケーションは両方のアドインを読み込みます。
アドインがインストールされている状態でアセンブリの名前を変更すると、エンド ユーザーが更新を受け取ることはなくなります。
これらの状況を回避するには、ソリューションを配置した後にソリューションの [アセンブリ名] の値を変更しないようにします。
更新のチェックに長い時間がかかる
Microsoft Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime) には、マニフェストやソリューションをダウンロードするときのタイムアウト値を管理者が設定できるように、レジストリ エントリが用意されています。
タイムアウト値を設定するには
レジストリで、次のキーに移動します。
HKEY_CURRENT_USER\Software\Microsoft\VSTA
AddInTimeout サブキーに、タイムアウト値をミリ秒単位で設定します。
AddInTimeout サブキーが存在しない場合は、DWORD として作成します。
ネットワーク ファイル共有に対する更新または発行ができない
ネットワーク ファイル共有にある Office ソリューションは、更新の発行プロセスでソリューションの Setup.exe ファイルがロックされていると、誤解を招くメッセージを表示することがあります。たとえば、"'setup.exe' を追加できません。その名前のファイルまたはフォルダが既に存在します" という内容のメッセージを表示することがあります。
ファイルがロックされないようにするには、エンド ユーザーに対して共有を読み取り専用に設定します。ただし、共有上にドキュメントがあると、このドキュメントもエンド ユーザーに対して読み取り専用になります。
2007 Microsoft Office System の必須コンポーネントがインストールされていない
Microsoft .NET Framework、Visual Studio Tools for Office ランタイム、Microsoft Office プライマリ相互運用機能アセンブリを、Visual Studio Tools for Office ソリューションと共に配置される必須コンポーネントとしてセットアップ パッケージに追加することができます。プライマリ相互運用機能アセンブリをインストールする方法の詳細については、「Visual Studio Tools for Office のインストール」および「方法 : Office のプライマリ相互運用機能アセンブリをインストールする」を参照してください。
"Localhost" を使用して発行するとインストール問題が生じることがある
ドキュメント レベルのソリューションの発行またはインストールの場所として "https://localhost" を使用すると、この文字列は、Visual Studio Tools for Office の発行ウィザードによって実際のコンピュータ名に変換されません。これは、ソリューションは開発用コンピュータ上にのみインストール可能であることを意味します。配置ソリューションに開発用コンピュータ上にある IIS を使用させるには、localhost ではなく、HTTP、HTTPS、FTP のすべての場所について完全修飾名を使用します。
更新済みのアセンブリではなくキャッシュしたアセンブリが読み込まれる
プロジェクトの出力パスがネットワーク ファイル共有上にあり、アセンブリが厳密な名前で署名されていて、カスタマイズ アセンブリのバージョンが変更されていないと、.NET Framework アセンブリ ローダーである fusion は、キャッシュしたアセンブリのコピーを読み込みます。アセンブリを更新しても、これらの条件が満たされるとキャッシュしたコピーが読み込まれるため、プロジェクトを次回実行するときに更新は表示されません。
Visual Studio を構成し、プロジェクトを実行するたびに fusion がアセンブリをダウンロードするように設定できます。
キャッシュしたコピーではなくアセンブリをダウンロードするには
[プロジェクト] メニューの [ProjectName のプロパティ] をクリックします。
[アプリケーション] ページで、[アセンブリ情報] をクリックします。
最初の [アセンブリ バージョン] ボックスに、アスタリスク (*) を入力します。
[OK] をクリックします。
アセンブリのバージョンを変更したら、厳密な名前でアセンブリに署名します。fusion が最新バージョンのカスタマイズを読み込むようになります。
ドキュメント レベルのカスタマイズにおける XML スキーマが登録されていない
2007 Microsoft Office system のドキュメント レベルのプロジェクトにあるドキュメントに XML スキーマを割り当てても、そのスキーマはユーザーのライブラリには登録されません。これを実行するには、別のインストーラ ファイルを作成する必要があります。詳細については、「XML スキーマとデータ (Visual Studio Tools for Office)」を参照してください。
URI に US-ASCII 以外の文字が含まれているとインストールが失敗する
Visual Studio Tools for Office ソリューションを HTTP、HTTPS、FTP のいずれかの場所に発行する場合、US-ASCII ではない Unicode 文字をパスに含めることはできません。これらの文字を使用すると、セットアップ プログラムで矛盾した動作が実行されることがあります。インストール パスには、US-ASCII 文字を使用してください。
開発用コンピュータにソリューションを発行およびインストールすると手動でアンインストールするよう求めるプロンプトが表示される
Visual Studio Tools for Office ソリューションをビルドすると、このビルド バージョンが自動的に登録されます。開発用コンピュータに同じソリューションを以前に発行およびインストールしていた場合は、次のビルド後、リビルド後、または発行後に、発行されたバージョンとビルドされたバージョンのインストール パスが違うことが Visual Studio Tools for Office によって検出されます。"現在他のバージョンがインストールされており、この場所からアップグレードすることはできないため、このカスタマイズをインストールすることはできません。" というエラー メッセージが表示されます。ソリューションをビルドし直すとレジストリ キーが更新されるため、2 番目のバージョンを発行、デバッグ、または実行する前に、最初のバージョンをアンインストールする必要があります。
このメッセージが表示されないようにするには、開発用コンピュータで別のユーザー アカウントを作成して配置をテストします。または、次回のソリューションの発行、デバッグ、またはリビルドの前に、コンピュータ上にインストールされているプログラムの一覧からそのバージョンをアンインストールできます。
ソリューションをインストールするときキャッチされない例外やメソッドが見つからないエラーが発生する
配置マニフェスト (.vsto ファイル)、Office アプリケーション、ドキュメント、またはブックを開くことにより、Visual Studio 2008 Service Pack 1 (SP1) で開発された Office ソリューションをインストールすると、次の状態に対するエラー メッセージが表示されます。
メソッドが見つからない
MissingMethodException
キャッチされない例外
これらのエラー メッセージが表示されないようにするには、セットアップ プログラムを実行することにより、ソリューションをインストールします。
Visual Studio 2008 SP1 を使って開発された Office ソリューションは、Visual Studio Tools for Office 3.0 ランタイムの SP1 が必要です。セットアップ プログラムは、ランタイムの SP1 を含む正しいバージョンの必須コンポーネントをチェックし、必要に応じて、これらをインストールします。ただし、セットアップ プログラムを実行せずにソリューションをインストールする場合、インストーラでは、必須コンポーネントの有無のチェックや、それらのインストールは行われません。
Windows インストーラ セットアップ プロジェクトをビルドした後にアドイン用マニフェスト レジストリ キーが変わる
アドイン セットアップ プログラムに含まれるマニフェスト レジストリ キーが、Windows インストーラ セットアップ プログラムのビルド時に .vsto から .dll.manifest に変わる場合があります。
この問題の発生を防ぐには、セットアップ プログラムを別のソリューションで作成するか、レジストリ キー値としてアドイン名が含まれる CompanyName.AddinName を使用します。
Visual Studio 2008 SP1 を使用している場合、この回避策を取る必要はありません。
Office ソリューションの ClickOnce インストーラがプライマリ相互運用機能アセンブリをインストールしない
Office ソリューション用に ClickOnce が作成するセットアップ プログラムを実行すると、Office プライマリ相互運用機能アセンブリ (PIA) がまだインストールされていない場合のみ、PIA のインストーラが実行されます。
セットアップ プログラムで PIA が正しくインストールされない場合、インストール ディレクトリから o2007pia.msi というインストーラ ファイルを実行して PIA を手動でインストールします。
参照
概念
参照
トラブルシューティング (Visual Studio Tools for Office での操作方法)
履歴の変更
日付 |
履歴 |
理由 |
---|---|---|
2008 年 7 月 |
トラブルシューティング シナリオについての情報を追加 |
SP1 機能変更 |