【问题标题】:deployment autocad .net dll部署 AutoCAD .net dll
【发布时间】:2012-06-19 09:44:19
【问题描述】:

Autocad 程序员知道程序的结果是一个DLL 文件,应该根据安装的 Autocad 版本在 Windows 注册表中注册该文件

任何人都知道如何让安装程序将DLL 部署到另一台机器上 c#怎么知道安装的是哪个Autocad版本以及安装目录在哪里?

【问题讨论】:

  • 我强烈怀疑法律是否允许您这样做。
  • 如果里面有违法的东西,我会坐牢几年;-)
  • @ShaneCourtrille 为什么它是非法的?向注册表添加条目是自动加载插件的受支持/记录在案的方法之一。
  • 我没有正确阅读原始问题。我以为他想重新分发一个 autocad dll,而不是他自己的。非法也有点牵强……更像是违反许可条款。 dll 的重新分发包含在许可条款中,并且 Autodesk 以非常保护 Autocad 着称。

标签: c# .net autocad


【解决方案1】:

所有这些信息都存储在注册表中。例如,对于 AutoCAD 2010 法语:

  1. acad.exe 所在目录:HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R18.0\ACAD-8001:40C\AcadLocation
  2. 商业产品名称:HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R18.0\ACAD-8001:40C\ProductName

R18.0 -> AutoCAD 2010、R18.1 -> AutoCAD 2011...

8001 -> AutoCAD 2010、8007 -> AutoCAD Electrical 2010...

40C -> 法语...

如果我能给你一个建议,请不要使用 Visual Studio 构建你的安装程序。

【讨论】:

  • 谢谢你,如果我不使用Visual Studio,我可以使用哪个工具来制作好的安装程序
  • 我也想了解您在安装程序方面的经验。我使用 VS 设置和用户 dll 安装了我的 Acad 插件。他们有更好的方法吗?
  • @Maxence - 您好,谢谢您的回答。我只是在不使用安装程序的情况下将发布的构建 DLL 转发给需要它的相关人员:我做错了吗?
【解决方案2】:

Building an Installer

上面的链接可以解决问题

【讨论】:

    【解决方案3】:

    对于这种简单的事情,Visual Studio 安装程序已经足够好,甚至有点矫枉过正。使用 .REG 文件可能听起来更容易。

    如果您想检测每台计算机上可用的 AutoCAD 版本,并让用户有机会选择注册插件的对象,自定义操作可以帮助您。

    【讨论】:

    • 请停止使用您的博客 URL 和标语在您的帖子上发布“签名”,否则您的帖子和帐户有被作为垃圾邮件删除的风险。我将从您现有的答案中为您编辑它,但我相信您不会再将其发布在您所做的新答案中。
    • @spiderinnet1 感谢蜘蛛 - 一个问题:我即将部署我的 autocad 插件。它引用了另一个 dll。我在 Visual Studio 中创建了一个设置项目。然后我必须选择一个模板。如果我使用的是 Visual Studio 的社区版,那么我无法选择任何模板。我这样做对吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    相关资源
    最近更新 更多