如何知道本机安装了哪几个Revit产品以及他们的版本?

时间:2021-08-20 00:29:40

 

转载请复制以下信息:

 
原文链接: 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 类用于读取或修改每一个外部应用的信息。