有哪些方法可以安装和更新.NET AutoCAD插件

时间:2010-11-05 13:36:40

标签: .net installer windows-installer autocad

现在我有一套AutoCAD工具可以部署到我们公司的用户手中。目前,它们是通过我通过Visual Studio安装项目维护的msi进行部署的。这些文件包括用于我们的一些自定义命令和lisp函数的.NET dll以及许多脚本,lisp,.pc3,.ctb等文件。目前的安装方法如下:

在登录时,它会检查机器是否安装了工具或是否需要更新。如果没有安装它们,它会默默运行msi。如果它们已安装但需要更新,则会执行卸载,然后以静默方式安装。

当用户关闭AutoCAD时,它也会运行相同的方法,除非它通过系统托盘通知用户在更新完成之前不要重新打开AutoCAD。

现在看来,登录或更新程序并不总是有效,因为我有用户因缺少组件而导致错误,而且它们似乎是随机发生的。我假设其中一个msis正在进行截止。

考虑到我需要能够即时进行更新(即告诉用户退出AutoCAD并重新接收更新)有哪些替代方法可以更新我的AutoCAD插件?

2 个答案:

答案 0 :(得分:3)

我们将.Net dll放在共享网络文件夹中。当用户启动AutoCad时,我们运行一个LISP例程来执行dll的'netload'。这样,如果我们想要更新,我们只需重命名旧的dll并将新的dll放在共享网络位置。用户下次启动AutoCad时,他们将拥有最新版本。您表示您想要动态更新并让用户知道,这是我们不必担心的事情。如果我们担心,我们只会向我们的AutoCad用户组发送一封电子邮件,并告诉他们必须重新启动才能使最新的更改生效。

这可能不是你想要的,但希望它让你意识到一种可能的“不同”方法。

答案 1 :(得分:1)

  

现在看来,登录或更新程序并不总是有效,因为我有用户因缺少组件而导致错误,而且它们似乎是随机发生的。我假设其中一个msis正在中途处理。

从表面看,这表示用户没有在系统托盘中看到通知(可能太小了?)并且在安装完成之前启动了AutoCAD。

简单和/或严苛的建议......

  • 使用更明显的常规对话框和/或
  • 暂时重命名AutoCAD可执行文件,直到安装完成,例如 acad.exe.save 和/或
  • 在安装过程中监控所有进程,如果AutoCAD立即启动,则杀死所述进程;显示一个对话框,告诉用户它正在关闭以及为什么,和/或
  • 在您的套件中添加另一个模块,一个模块完成后检查安装的彻底性,以便您立即了解问题,而不是等待用户偶然发现,并在以后报告问题,和/或
  • 维护文件/版本/日期等的主列表,并拥有AutoCAD的启动套件,可能与S :: Startup中的自诊断功能条目一样简单,检查当前配置/设置并将其与主列表进行比较,据此报道。
祝你好运,迈克尔。

编辑/ PS:在我发布之前没有看到JSprang的帖子。总的来说,我认为他是一个优秀的策略,与我们使用简单的lisp库类似。