2

.Net 4.0 (x86) Office 2007 (32 ビット) Outlook プラグインを作成しました。プラグインの作成は簡単でしたが、インストーラーの作成は少し面倒です。

VSTO とその MSI の作成方法について調査した後、私 (および検証のために他の開発者数名) は、「Windows インストーラーを使用して Visual Studio 2010 Tools for Office ソリューションを展開する」の両方に従い、「 VSTO 2010 ソリューションを展開する」に対して手動でチェックしました。 Windows インストーラーを使用した Office 2007/2010 の場合" . また、「Excel VSTO インストールのアセンブリの場所をどのように割り当てるのですか?」のテストなどの調査も行いました。さらに、すべてを覚えているわけではありません。

必要な依存関係はすべて処理されており、.vsto ファイルを手動でダブルクリックすると正常にインストールされ、ユーザーはそれを使用できるようになります。(Process Monitor を見ると、これは SideBySide インストールを使用しているようで、Microsoft の指示と同じレジストリ キーの使用を見つけることができません。)

ただし、MSI のインストールはまだ機能しません。正常にインストールされ、期待どおりにレジストリ キーが登録されますが、プラグインは Outlook の起動時に読み込まれません。

VSTO レジストリ キーは、ドキュメントに従って正しく記述されています。プラグインは Outlook (トラスト センター) に登録されているようで、そこで手動で有効にできます。ただし、手動でアクティブ化した後に Outlook を再起動すると、LoadBehaviorレジストリ キーが 3 (ロード済み、起動時にロード) から 0 (アンロード済み、自動的にロードしない) に変わります。プラグインは登録されていません (ツールバー + ボタンを登録することになっています)。

MSI を機能させるにはどうすればよいですか?

ガイドが機能しないのはなぜですか? (.Net 4.0 での変更? Office 2007 との互換性がない? 単純に間違っている?)

実際に何が問題なのかをデバッグするにはどうすればよいですか? イベント ログに役立つ情報が見つかりません。

(PS! 手動でインストールすることはできません。ファイルは多数のコンピューターに自動的に展開する必要があります。)

4

1 に答える 1

0

最終的に、VSTO をインストールするためにサイレント フラグを指定して vstoinstaller を実行する NSIS インストーラーを作成しました。また、有効な証明書を使用してバイナリに署名し、vstoinstall の前のインストール フェーズで (プログラムによって) 信頼できるストアに証明書を追加して、-300 エラー コードをバイパスしました。

于 2012-10-21T09:18:55.020 に答える