At the current time I deploy DLLs by copying all files and a Lisp file that loads the DLL to each machine.
I am trying to find an elegant way of installing DLLs and updating them (Preferably free).
I am curious as to what other programmers are doing in regards to DLL deployment and updates.
I wrote a simple DOS-box EXE to take care of that. Grabs the location and name of an XML file containing DLLs, the associated REG files (for demand-load settings and any other registry settings), whether to version check before overwriting, and the path they should get copied to (created if necessary). It can be called manually, or through a call to (startapp...) in our start-up LISP routines.
Thank you very much for replying Dgorsman.
That works fine for WinXP but I sometimes I run into not able to write to the C:\ . . . on Win7. Then I have to manually configure each PC to give the user ability to read/write to a folder on C:\.
Have you had any issues with that?
No, I haven't on either XP or Win7. But thats probably a difference in security setting, is that your *entire* C:\ drive? How do your users get any work done? I have our AutoCAD install package configured to install the support files outside of the Program Files and Docs/Settings paths to avoid such restrictions, and the folders where I locate our DLL files is separate from those two paths as well.
Now, thats not your only option. Look for existing threads on locating DLLs on the network. It requires some reconfiguring (which can be done through BAT or other automation). It comes with a few drawbacks so you do need to do some analysis, but if deploying local DLLs is problematic it may be a viable solution.
For having your plug-ins load into AutoCAD (not the file deployment part) you might look into the Autoloader functionality introduced in AutoCAD 2012. At least then you don't have to worry about running .reg files to setup simple demand loading. Serach this forum for Autoloader to fiond informational links.
Start with some of our most frequented solutions to get help installing your software.