【问题标题】:How to create Revit add-in Windows installer in Visual Studio 2008如何在 Visual Studio 2008 中创建 Revit 插件 Windows 安装程序
【发布时间】:2011-05-15 22:15:17
【问题描述】:

手动安装 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 文件。我不知道如何将信息(输出位置)从安装程序传递到自定义操作。

【问题讨论】:

    标签: visual-studio-2008 windows-installer setup-project revit


    【解决方案1】:

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

    选择这些自定义操作之一并查看属性。将有一个名为 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;
    }
    

    【讨论】:

      【解决方案2】:

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

      关于自定义操作,我按照你的描述做了。

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

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

      再次感谢您的回答。

      【讨论】:

      • 没问题。真高兴你做到了。如果有机会,您能否将我的答案标记为正确?谢谢
      猜你喜欢
      • 1970-01-01
      • 2021-03-16
      • 2011-01-07
      • 2011-08-04
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 2012-09-17
      • 1970-01-01
      相关资源
      最近更新 更多