0

手动安装 Revit 2011 插件的过程:

  1. 将加载项 DLL 放在所需位置,例如C:Program Files\RevitAddin\RvtAddin.dll
  2. 创建 .addin xml 文件,其中包含有关加载项的信息(位置、完整的类名等)。此“.addin”文件必须放在以下位置之一:
    • 对于 Windows 7:C:\ProgramData\Autodesk\Revit\Addins\2011\
    • 对于 Windows XP:C:\Documents and Settings\All Users\Application Data\Autodesk\Revit\Addins\2011\

我可以使用 Visual Studio 2008 安装项目轻松完成第一步。对于第二步,我可能需要使用自定义操作来创建 xml .addin 文件。我不知道如何将信息(输出位置)从安装程序传递到自定义操作。

4

2 回答 2

0

打开自定义操作编辑器,您将在其中看到安装或卸载的每个阶段(安装、提交、回滚、卸载)的文件夹。在每个文件夹下,您将添加对自定义操作的引用。

选择这些自定义操作之一并查看属性。将有一个名为CustomActionData的属性,您可以在其中将值从安装程序映射到自定义操作。

该属性的格式示例如下所示。

/installLocation="[ProgramFilesFolder][ProductName]" /setting1="[SETTING1]"

然后在您的自定义操作类中,您可以编写以下内容来访问此值

string path = this.Context.Parameters["installLocation"];
string setting1 = this.Context.Parameters["setting1"];

此外,在编写 Revit 插件文件时,您不应该引用绝对路径。相反,无论使用什么操作系统,您都可以执行以下操作来查找 AppData 文件夹。

private string AddInManifestPath()
{
    string appdata = System.Environment.GetFolderPath(System.Environment.SpecialFolder.CommonApplicationData);
    string path = System.IO.Path.Combine(appdata, @"Autodesk\REVIT\Addins\2011\DVAMC.addin");
    return path;
}
于 2010-12-02T21:03:58.423 回答
0

谢谢你的回答,埃里克。我已经解决了这个问题。

关于自定义操作,我几乎按照您的描述进行了操作。

我的自定义操作的安装程序类也有问题。我需要将它放在单独的项目中,否则在安装过程中会出现 1001 错误。

至于插件文件,我使用 RevitAddinUtility 确定了它的路径。RevitAddInUtility.dll 是一个 .NET 实用程序类程序集,您可以在 Revit 程序文件夹中找到它。它为您提供了创建插件文件和确定 Revit 插件文件夹路径的方法。

再次感谢您的回答。

于 2010-12-03T08:19:38.520 回答