现在我有一套AutoCAD工具可以部署到我们公司的用户手中。目前,它们是通过我通过Visual Studio安装项目维护的msi进行部署的。这些文件包括用于我们的一些自定义命令和lisp函数的.NET dll以及许多脚本,lisp,.pc3,.ctb等文件。目前的安装方法如下:
在登录时,它会检查机器是否安装了工具或是否需要更新。如果没有安装它们,它会默默运行msi。如果它们已安装但需要更新,则会执行卸载,然后以静默方式安装。
当用户关闭AutoCAD时,它也会运行相同的方法,除非它通过系统托盘通知用户在更新完成之前不要重新打开AutoCAD。
现在看来,登录或更新程序并不总是有效,因为我有用户因缺少组件而导致错误,而且它们似乎是随机发生的。我假设其中一个msis正在进行截止。
考虑到我需要能够即时进行更新(即告诉用户退出AutoCAD并重新接收更新)有哪些替代方法可以更新我的AutoCAD插件?
答案 0 :(得分:3)
我们将.Net dll放在共享网络文件夹中。当用户启动AutoCad时,我们运行一个LISP例程来执行dll的'netload'。这样,如果我们想要更新,我们只需重命名旧的dll并将新的dll放在共享网络位置。用户下次启动AutoCad时,他们将拥有最新版本。您表示您想要动态更新并让用户知道,这是我们不必担心的事情。如果我们担心,我们只会向我们的AutoCad用户组发送一封电子邮件,并告诉他们必须重新启动才能使最新的更改生效。
这可能不是你想要的,但希望它让你意识到一种可能的“不同”方法。
答案 1 :(得分:1)
现在看来,登录或更新程序并不总是有效,因为我有用户因缺少组件而导致错误,而且它们似乎是随机发生的。我假设其中一个msis正在中途处理。
从表面看,这表示用户没有在系统托盘中看到通知(可能太小了?)并且在安装完成之前启动了AutoCAD。
简单和/或严苛的建议......
编辑/ PS:在我发布之前没有看到JSprang的帖子。总的来说,我认为他是一个优秀的策略,与我们使用简单的lisp库类似。