Friday, March 25, 2011

Reverse Engineering AutoCAD 2012 Deployment INI Files

So you think it might be a good idea to write a script to do the installation of AutoCAD 2012 without using the "setup.exe" it configures when making a new network deployment.  Or maybe you just want to better understand how the deployment process really works when it's busy doing the installation chores.  Maybe you're like me and don't have a life because you're too broke to make plans for things after work hours or on weekends.  Whatever the case, here's the secret... move in close so I can whisper it...

Create your adminimage deployment.  When it's finished, open the deployment .INI file (under the AdminImage folder of the deployment) in Notepad.  Grab a cup of coffee, or a can of Rock Star, Red Bull or Four Loco, whatever stimulant you prefer, and study this file.  It may take a few hours of eye-rubbing monotony before it begins to make sense.  Remember, when you're building the deployment and it asks for you to provide a name for it, that is the name used for the .INI file as well.  So if you name the deployment "Acad2012", the deployment configuration file will be \AdminImage\Acad2012.INI.

Essentially, the top section makes references to separate sections which are found lower in the file.  The EXE_SEQUENCE and INSTALL_SEQUENCE are kind of the main control factors as it pertains to the execution order.  Other parts matter just as much, even if they may seem trivial.  Some examples include the #===== Platform Requirement section (OSMAJORVER, OSMINORVER, and SPMAJORVER).  Also, at the very top you'll find PLATFORM=

If you want to pull out the "3rd Party" installation parameters such as .NET, Visual C++, MSXML, DirectX, FARO, or WMF, just scroll down near the bottom.

To see what "Prerequisites" are identified for AutoCAD, look under the [ACAD] section for the PREREQUISITE= tag.  Same goes for Inventor Fusion [InventorFusion] and Design Review [ADR2012] and so on.

DISCLAIMER:  Since the addition of the /W parameter to the setup.exe arsenal, there is usually not a strong argument to circumvent the use of the deployment as it is built, as long as you build it properly and according to your needs.  This holds true for deploying manually/interactively, via script, GPO or by way of System Center Configuration Manager (SCCM).  The deployment process will take care of checking if prerequisites are already met or require updating, and will do it all in the proper sequence as well.  Pretty darn nice actually.  This post is really about gaining a more thorough understanding (and appreciation) for what goes on behind the scenes during the deployment installation process.  I hope this is helpful.

No comments: