2011-08-18 10 views
5

ClickOnceでOutlookアドインを展開しようとしています。 更新オプションを設定しているうちに、Outlookプロジェクトで使用できるものよりもOutlookアドインプロジェクトで使用できるオプションが少なくなっています。たとえば、最低限必要なバージョンを指定することはできません。何故ですか?また、私は希望:OutlookアドインClickOnceの更新設定

  1. を(それが必要ない場合)彼も更新したい場合は、ユーザーに聞いて手動アップデート
  2. を有効にします。私はSystem.Deployment.ApplicationとCheckForDetailedUpdate()関数ではなくを使用してみました

1)アップデートは、それをインストールする問題がある成功したにもかかわらず:私は私のプラグインを再起動した場合、私は古いバージョンない場合には、Outlookから消えますUNCパスを介した更なるアップデートは、アップデートが正常に完了したことを示唆しています。

2)MageまたはMageUIで特別なオプションを追加しないで定期的に公開することはできますが、アドインはユーザーに尋ねることなく更新されるようです。私はちょっと調べて、人々が反対をしようとしていることを明らかにしています。だから、なぜデフォルトで更新を促さないのか困惑しています。

MageUIを使用してVisual Studioから生成されたマニフェストを編集しようとしましたが、アプリケーションマニフェスト用の無効なXMLが生成されました(「!dependAssembly」ノードの「assemblyIdentity」ノードが欠けています)。 VS(そして更新して後で署名する)、アセンブリのハッシュが無効であることをインストールが告げる。

上記の要件を持つOutlookアドインをどのように展開できますか?

答えて

6

VSTOアプリケーション(Officeアドイン)は、ClickOnceの特定のビットのみをサポートします。コードを追加してプログラムによる更新を試みることもできますが、MicrosoftのClickOnceリードは実際には使用するつもりはなく、一部が機能しない可能性があると述べています。 (いいえ、正確な部分の詳細はありません。少し試行してください。&エラー)。

vstoデプロイメントの仕組みと動作は次のとおりです。Outlookはvstoアプリケーションをチェックアウトし、dllをシャドウロケーションにコピーし、Outlookでロードします。 vstoアプリを更新すると、一度クリックすれば更新されますが、Outlookでは更新されません。あなたが見通しを閉じてそれを再び開くと、それは新しいバージョンを見つけ出し、それをシャドウロケーションにコピーして読み込みます。 vstoビット自体を再起動して何もしないようにすることはできません。ユーザーはOutlookを再起動する必要があります。

これは、Officeアプリケーションの起動時に更新が行われる理由の1つです。新しいバージョンを探し、必要に応じて更新してからOutlookに読み込んで使用します。

あなたが望むものを達成する別の方法は、あなたのアドインを更新するWindowsフォームアプリケーションを書くことです。基本的には、clickonce(process.startはあなたの友人)経由でvstoアプリケーションを呼び出すことを除いて、初めて何も表示しないwinformsアプリケーションを配備します。その後、Outlookアドインにwinformsアプリケーションを呼び出すことができます。もしあれば、winフォームアプリケーションの更新を促すメッセージが表示され、Officeアドインをアンインストールして再インストールするか更新します。

+1

リボンの部分に少し問題があるようです。そして唯一のものはほとんどありません。あなたの答えをありがとう、少なくとも私はもうやらなければならないことをしようとする時間を無駄にするべきではないことを知っています。 – Damir

+0

@RobinDotNetこの回答は今日でも有効ですか、5年後ですか?私はExcelのアドイン(FTP経由で公開され、HTTP経由でインストールされたVSTOベースのアプリケーション)を開発しました.Excelの起動時の自動更新プロセスは正常に動作します。しかし、私は、ユーザがアップデートをチェックして、add inのインタフェース内の単純なボタンクリックでそれらを適用できるメソッドを探していました。まだこれを達成することはできませんか?ありがとうございました。 –

関連する問題