Wednesday, March 07, 2007

How to deal with 300 users that all want it their way - Part 4

I have a little bonus for you. Here is an example of a script file I use with a few extra little tweaks that took me some time to figure out. I've also included a screen shot of it inside Inno Setup so I can disect it and tell you what I did after i used the Script Wizard to generate the initial script (click the image for a larger version).

Area #1
The majority of the stuff in this area is generated by the first screen in the script wizard. Make sure to save your script files in the event you need to update the office content or are facing a new version of AutoCAD that you are rolling out. Then all you have to do is change the version of the exe and they can run the updated version. If it detects a previous verion on the system it will overwrite it and bring the user up to speed. Keep in mind if you have removed files from the folder containing your content, those files will not be removed unless you use add/remove programs to remove the previous version before installing the new one.

Area #2
This is the line that will place the desktop icon on the desktop to run the company profile for AutoCAD.

Area #3
***Warning!!!*** Registry values are extremely picky. They make programs work the way they should and if the wrong one is deleted the program (or a bunch of programs - maybe even the OS) most likely will stop working. If you've never worked with the registry or don't even know what I'm talking about, proceed at your own risk. Everytime you make a profile in AutoCAD and modify it or move toolbars around in your workspace, that data is written to the windows registry. Each version of Autodesk products have their own location and values in the registry. As I've worked with AutoCAD and ADT over the years I have tried to take some of the mystery out of what exactly happens when you tell options to set Autosave to 10 minutes instead of 30 minutes or tell options to give you a white background in paper space instead of black. Previously if I had someone import a profile for use in AutoCAD, it was in there for good. The only way to force them to update to the changes I made in Options was to delete the profile in AutoCAD and reimport the new one. This gets very tedious if you have 300 users and you forgot to change something in options that everyone needs (i.e.: support paths or the like).

Well, when I discovered that the changes we make in options are stored in the registry (and the specific location), I was jumping up and down like a kid given a pot of coffee. Usually they can be found in HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R16.2\ACAD-4004:409\Profiles. Inside the Profiles folder there will be a folder for each profile in AutoCAD along with keys for each profile.

***Important!!!*** Ensure all Autodesk applications are closed! When you delete the folder with the profile name, it is removed from options the next time you go into it. Why is this a big deal? Because in area 3 of the script file I have a line that will delete the registry key associated with the profile being used by the cad standards when the exe is run by the user. This ensures that every time a new version of tools is issued to the user, they see the really important changes. No more manual deletion of the old profile.

To edit the registry, go to your Windows Start Menu -> Run, type REGEDIT and hit enter. Use the following screen shot as a guide to where you can find the settings. Keep in mind that even if you are running ADT, you will not find an entry for it in the registry - it is listed as AutoCAD.
Photobucket - Video and Image Hosting

Area #4

This is where the compiler looks for all files needed for installation. Important things are the desktop shortcut icon (AutoCAD 2006.lnk in the first line of area #4), Company CAD folder and contents, and the AutocadResourceFiles folders. You'll notice that is listed twice. Normally you should just be able to drop it into the current users directory for that machine, but sometimes it needs to be copied to the administrators folder as well.

Area #5
This tells the exe what to do with the desktop shortcut you packaged up with the program. You'll notice the icon is only placed on the current users desktop. This is because this exe we built needs to be run for each user. If I log onto someone elses computer I need to run the exe to ensure I get the dropped under my username so I see everything the way it needs to be in AutoCAD.

Hopefully I haven't lost you along the way here, but I've basically just documented a process I've been fine tunning for over a year now. Right now I have this working like a charm. I started using this when a company was on ADT 2005, used it for the rollout of ADT 2006 and it worked even smoother since we had ironed out alot of details. This week I built a network deployment, script file and generated the exe for the tools for ADT 2007 in one day. Very powerful stuff! Cheers!


ed said...

This is really informative information. I decided to try this out but inno setup compiler does not find my AutoCAD 2006.lnk.

I created AutoCAD 2006.lnk by creating a shortcut from Start/Programs/etc...Send to Desktop. I then add the .lnk file extension. Am I missing something?

ed said...

To clarify...AutoCAD 2006.lnk is not found in area #4 as documented above.