天天看點

如何知道本機安裝了哪幾個Revit産品以及他們的版本?

轉載請複制以下資訊:

原文連結: http://blog.csdn.net/joexiongjin/article/details/7563893

作者:  葉雄進 , Autodesk ADN

2012.5.14

Revit産品在本機安裝後,在系統資料庫中留下的産品安裝資訊很少。這一點不同于其它的一些産品,把許多的資訊放在系統資料庫裡存放,包括産品安裝資訊,産品的路徑等。系統資料庫這個東西在許多人眼裡比較神秘,通路也不是很友善。現在軟體都崇尚綠色環保,不對系統做太多的修改工作,盡量少的修改系統資料庫。 Revit就是順應這個減少了對系統資料庫的使用。

那麼作為第三方軟體提供商,如何快速找到Revit在本機的安裝資訊呢? (比如是否安裝了Revit Architecture 2013, 有沒有安裝Revit MEP 2012?) Autodesk已經提前為我們的開發者想好了這個。

Revit提供了RevitAddInUtility.dll 用于通路産品的安裝資訊。通過它還可以來非常友善的修改加載檔案*.addin,擷取addin檔案中的資訊。 這個檔案位于Revit産品的安裝目錄(例如:C:\Program Files\Autodesk\Revit Architecture 2013\Program)。 這個dll的幫助檔案RevitAddInUtlity.dll 在Revit SDK裡面,位于SDK目錄下,解壓SDK後即可看到。

具體用法: 把這個Dll引入到你的安裝程式,非常友善的可以在Visual Studio自帶的安裝制作成功中引入,使用其提供的功能函數。

簡單提一下RevitAddInUtility.Dll的功能,讓大家對這個功能有一個直覺的了解。更多請參看幫助文檔

1. 擷取目前機器中安裝的所有Revit産品,傳回一系列Product對象。

RevitProductUtility.GetAllInstalledRevitProducts  :

2. 從Product 類可以擷取與這個類相關的一些功能。

例如:

    Product.InstallLocation 擷取這個Revit産品安裝在那個目錄下

    Product.Language  : 産品是哪個國家或地區的語言

    Product.Name  産品名稱

    Product.Version 産品的版本号

    更多...

3. 擷取在目前機器中的Revit插件加載目錄中有多少個*.Addin 檔案. 傳回一個RevitAddinManifest 對象集合。

    AddInManifestUtility.GetRevitAddInManifests

    還可以傳回某一個指定名稱的addin檔案的RevitAddinManifest對象

4. 通路一個addin 檔案中的資訊

     RevitAddInManifest.AddinApplications 傳回這個addin加載檔案中所有的要加載的外部應用。

     RevitAddInManifest.AddInCommands  傳回這個addin加載檔案中所有要加載的外部指令

     ...

5.  RevitAddInCommand類用于讀取和修改每一個外部指令的資訊。例如可以修改Revit插件的路徑,這是最常用的。

6.  ReitAddinApplication 類用于讀取或修改每一個外部應用的資訊。

繼續閱讀