簡體   English   中英

ClickOnce,VSTO或Outlook使用的COM DLL的簡單自動更新

[英]ClickOnce, VSTO, or simple auto update for an COM DLL used by Outlook

我有一個用C#編寫的COM組件,它實現了ISmartTagAction,以便為郵件收件人和發件人之類的東西添加操作到右鍵菜單。

它只是一個.NET類庫,通過COM interop公開一些類。 目前,我使用Visual Studio安裝項目部署它。 該安裝程序只是為COM注冊DLL,並添加一個額外的注冊表項,以告訴Outlook有關新的智能標記類。

這項工作正常,但我最近完成了兩個不相關的項目,這些項目在一個案例中單擊一次,在另一個案例中作為VSTO Outlook插件部署,這對最終用戶來說是一個更好的體驗,主要是因為自動更新功能clickonce。

我做了一些調查,我沒有找到任何方法通過點擊一次分發這個COM DLL,因為似乎沒有辦法點擊一次注冊DLL。 這個對嗎? 有沒有辦法使這項工作?

我的另一個想法是創建一個Outlook插件項目,並以某種方式將這些類放在該項目中,並使用VSTO發布功能將其推出。 我不知道如何在飛行中注冊智能標簽。

任何人都可以想到一種可以使這項工作的方法嗎? 大多數情況下,我正在尋找自動更新功能,這樣非技術人員可以輕松獲取更新。

你是對的 - ClickOnce無法注冊一個DLL。 它只能在客戶端和服務器之間同步文件。 好消息是它可以同步任何類型的文件,而不僅僅是.Net程序集。 因此,您可以通過將其添加到ClickOnce安裝中來輕松地將組件發送到客戶端。

從那里,任何其他安裝步驟都必須在您自己的代碼中完成。 您可以將文件復制到邏輯位置,使用DllRegisterServer注冊它,並添加額外的注冊表項。 只要用戶具有執行所有這些操作的安全權限,這應該可以正常工作。

我假設您的COM dll經常更改,因為您對ClickOnce的自動更新功能感興趣。 如果情況並非如此,並且只有VSTO應用程序的.Net部分經常更改,您可以嘗試Visual Studio可以為您生成的引導程序。 有很多理由我不喜歡這種方法,所以除非你感興趣,否則我會饒有你的細節。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM