Question

Right now I have a set of tools for AutoCAD that get deployed to users in our company. Currently they are being deployed via an msi that I maintain through a Visual Studio Setup Project. The files include .NET dlls for some of our custom commands and lisp functions as well as many script, lisp, .pc3, .ctb, etc. files. The current method for installation is as such:

At log in time it checks if the machine has the tools installed or needs an update. If they are not installed then it silently runs the msi. If they are installed but need an update then it does an uninstall then install also silently.

When the user closes out of AutoCAD it also runs this same method except that it notifies the user via the system tray not to reopen AutoCAD until the update is complete.

Right now it appears that either the log in or the updater isn't always working because I have users getting errors caused by missing components and they seem to occur randomly. I'm assuming that one of the msis is getting cutoff mid process.

Taking into account that I need to be able to do updates on the fly (i.e. tell the user to exit AutoCAD and get back in to receive the updates) what are some alternative methods to update my AutoCAD plug-in?

Was it helpful?

Solution

We place our .Net dll's in a shared network folder. When the users launch AutoCad, we run a LISP routine that performs a 'netload' of the dll's. This way, if we want to update, we just rename the old dll's and place the new ones in the shared network location. The next time users launch AutoCad, they will have the latest. You stated that you want to update on the fly and let the users know, which is something that we don't have to worry much about. If we are concerned, we'll just send an email to our AutoCad user group and tell them they must restart for the latest changes to take affect.

This probably isn't exactly what you're looking for, but hopefully it made you aware of a possible 'different' approach.

OTHER TIPS

Right now it appears that either the log in or the updater isn't always working because I have users getting errors caused by missing components and they seem to occur randomly. I'm assuming that one of the msis is getting cutoff mid process.

At face value this suggests users are not seeing the notification in the system tray (maybe too diminutive?) and are firing up AutoCAD before the install is complete.

Simplistic and/or draconian suggestions ...

  • Use a normal dialog that is more obvious, and/or
  • Temporarily rename the AutoCAD executable until the installation is complete, say to acad.exe.save, and/or
  • During the installation monitor all processes, and if AutoCAD fires up immediately kill said process; display a dialog telling the user it's being shut down and why, and/or
  • Add another module to your suite, one that checks the thoroughness of the install once it's finished so you know about problems immediately, rather than waiting for users to stumble upon, and report problems later, and/or
  • Maintain a master list of files / versions / dates etc. and have AutoCAD's startup suite, perhaps as simple as a self diagnosis function entry in S::Startup, examine the current configuration/setup and compare it to the master list, reporting accordingly.

Good luck, Michael.

Edit/PS: Didn't see JSprang's post until I posted mine. Overall I think his is a superior strategy and similar what we do with simple lisp libraries.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top