2010-11-05 9 views
1

現在我有一套用於AutoCAD的工具,可以部署到我們公司的用戶。目前他們正在通過我通過Visual Studio安裝項目維護的msi進行部署。這些文件包括我們的一些自定義命令和lisp函數的.NET dll以及許多腳本,lisp,.pc3,.ctb等文件。當前的安裝方法如下:什麼是安裝和更新.NET AutoCAD插件的一些方法

在登錄時檢查機器是否安裝了工具或需要更新。如果他們沒有安裝,那麼它默默運行msi。如果它們已安裝但需要更新,則它會執行卸載,然後以無提示方式進行安裝。

當用戶關閉AutoCAD時,它也運行相同的方法,除非它通過系統托盤通知用戶在更新完成之前不要重新打開AutoCAD。

現在看來,無論是登錄或更新不總是工作,因爲我有用戶得到由缺少組件引起的錯誤,他們似乎隨機發生。我假設其中一個msis正在切入中間過程。

考慮到我需要能夠進行動態更新(即告訴用戶退出AutoCAD並重新接收更新)有什麼替代方法可以更新我的AutoCAD插件?

回答

3

我們將我們的.net dll放在一個共享的網絡文件夾中。當用戶啓動AutoCad時,我們運行一個執行dll的'netload'的LISP例程。這樣,如果我們想更新,我們只需重命名舊的dll並將新的dll放入共享網絡位置。用戶下次啓動AutoCad時,他們將擁有最新版本。您表示您想即時更新並讓用戶知道,這是我們不必太擔心的事情。如果我們擔心,我們只會向我們的AutoCad用戶組發送一封電子郵件,告訴他們必須重新啓動以使最新更改生效。

這可能不是你正在尋找的東西,但希望它讓你意識到了一種可能的「不同」方法。

+0

你會怎麼做像改變acad.exe.config,繪圖儀,繪圖樣式等? – skeletank 2010-11-05 14:26:44

+0

我會盡我所能來回答你的問題,但不要因爲我不在我們的網絡服務團隊中而知道確切的答案。對於配置文件,我們將它放置在共享驅動器上的同一位置,每天兩次,網絡服務組運行一個sript(可能是您提到的MSI),將該配置從網絡中拉出並放到所有AutoCad用戶電腦。關於繪圖員和繪圖員的風格,我真的不知道。我只是一個.Net開發人員,他爲我們的AutoCad團隊編寫了一些應用程序,他們處理繪圖儀等。我可以問他們你是否願意。 – JSprang 2010-11-05 15:15:15

1

現在看來,無論是登錄或更新不總是工作,因爲我有用戶得到由缺少的組件引起的錯誤,他們似乎隨機發生。我假設其中一個msis正在切入中間過程。

面值這表明用戶沒有看到系統托盤中的通知(可能太小了?),並且在安裝完成之前啓動AutoCAD。

簡單化和/或嚴厲的建議...

  • 使用一個正常的對話是比較明顯的,和/或
  • 臨時重命名AutoCAD的可執行文件,直到安裝完成後,說的acad.exe。保存,和/或
  • 在安裝過程中監控所有進程,並且如果AutoCAD立即啓動殺死所述進程;顯示一個對話框,告訴用戶它正在被關閉以及爲什麼要在你的套件中添加另一個模塊,一旦它完成後就檢查安裝的完整性,以便你立即知道問題,而不是等待用戶偶然發現並報告問題,和/或
  • 維護主要的文件/版本/日期等列表,並具有AutoCAD的啓動套件,可能與S :: Startup中的自診斷功能條目一樣簡單,檢查當前的配置/設置並將其與主列表進行比較,並相應地進行報告。

祝你好運,邁克爾。

編輯/附註:沒有看到JSprang的帖子,直到我貼我的。總的來說,我認爲他是一個優秀的策略,與我們使用簡單的lisp庫相似。

相關問題