Windows Tech Support

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Thursday, 1 September 2011

Patching Civil 3D 2011 - Part 2

Posted on 07:00 by Unknown
Since I already blogged about common MSIexec error codes, I should have added some discussion about this to my previous blog post on patching Civil 3D 2011, but alas: I didn't.

If you run the same .MSP patch files (updates 1, and 2) on the same installation target, you will get an immediate return code of 0 on each patch, but a cumulative result of 1642.  At first, this may sound like a good thing.  However, since it waits to return the 1642, rather than immediately after running update 1, that doesn't provide a reliable "early out" to abort a repeated installation.

My current script looks like this...

@echo off
rem ****************************************************************
rem  Filename..: setup.cmd
rem  Author....:  skatterbrainz, who else?
rem  Date......: 09/01/2011
rem  Purpose...: install updates 1 and 2 for AutoCAD Civil 3D 2011
rem ****************************************************************
cls
setlocal
set APPNAME=AutoCAD_Civil3D_2011_Update2
set LOG=%TMP%\%APPNAME%_install.log
::
title Civil 3D 2011 Update 2
echo log file: %LOG%
echo %DATE% %TIME% installing... %APPNAME%... >%LOG%
echo %DATE% %TIME% source....... %~dps0 >>%LOG%
echo %DATE% %TIME% target....... %COMPUTERNAME% >>%LOG%
echo %DATE% %TIME% windir....... %WINDIR% >>%LOG%
echo %DATE% %TIME% progfiles.... %PROGRAMFILES% >>%LOG%
echo %DATE% %TIME% temp......... %TMP% >>%LOG%
echo ----------------------------------------------- >>%LOG%
echo %DATE% %TIME% info: searching for civil 3d 2011 installation... >>%LOG%
if exist "%programfiles%\Autodesk\AutoCAD Civil 3D 2011\acad.exe" (
echo %DATE% %TIME% info: installing update 1... >>%LOG%
msiexec /p "%~dp0c3d2011_win32_update1.msp" /quiet /norestart
echo %DATE% %TIME% info: exit code is %errorlevel% >>%LOG%
msiexec /p "%~dp0c3d2011_win32_update2.msp" /quiet /norestart
echo %DATE% %TIME% info: exit code is %errorlevel% >>%LOG%
) else (
echo %DATE% %TIME% info: civil 3d 2011 installation not found. >>%LOG%
)
::
echo ----------------------------------------------- >>%LOG%
echo %DATE% %TIME% completed / exit code: %errorlevel% >>%LOG%
endlocal
exit %errorlevel%


My client log output looks like this...


Thu 09/01/2011  9:06:53.03 installing... AutoCAD_Civil3D_2011_Update2... 
Thu 09/01/2011  9:06:53.03 source....... \\Server01\packages$\APPLIC~1\Autodesk\CIVIL3~2\ 
Thu 09/01/2011  9:06:53.07 target....... Computer1234 
Thu 09/01/2011  9:06:53.07 windir....... C:\WINDOWS 
Thu 09/01/2011  9:06:53.07 progfiles.... C:\Program Files 
Thu 09/01/2011  9:06:53.07 temp......... C:\DOCUME~1\dstein\LOCALS~1\Temp 
----------------------------------------------- 
Thu 09/01/2011  9:06:53.07 info: searching for civil 3d 2011 installation... 
Thu 09/01/2011  9:06:53.07 info: installing update 1... 
Thu 09/01/2011  9:06:53.08 info: exit code is 0 
Thu 09/01/2011  9:06:53.10 info: exit code is 0 
----------------------------------------------- 
Thu 09/01/2011  9:08:36.04 completed / exit code: 1642 


Notice the two "0" exit codes and the final "1642"?  Scratching your head yet?

Why does any of this matter?

I'm glad you didn't ask.  Well, even though Autodesk provides the means to modify an existing Deployment to slipstream updates into the installation package, this doesn't help with existing field installations.  You could use the Communication Center patch list approach, but some customer environments to not allow for the use of vendor-specific patch mechanisms (it circumvents centralized, single-product management policies like Configuration Manager, etc.).  So that typically means you have to develop a distinct update package to deploy to your existing clients.  In those situations, it's often desirable to build in some sort of detection mechanism so that each time the package is run against a given client it will check if it was already installed and gently abort without throwing a "real" error back to the monitoring systems.  If update 1 returned 1642 then I could trap that in my script/package and return a forced 0 instead.  That way it won't automatically re-run it if the previous result was "failed".

The fallback is to add more code to check for specific files and registry keys, which is less-than-ideal in my opinion, but what can you do?
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in autocad, autodesk, network administration, packaging, scripting, software deployment, software packaging, updates | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Voting Time: Help Me Out?
    I need to get a better view of how I should manage this blog if I'm going to keep at it. I'd like to know how you typically discover...
  • A World Without Competition
    Try to imagine what things would be like today had there not been fierce competition in certain key parts of our world.  I’ll give you some ...
  • Book Update
    I posted some gibberish a few weeks ago about another book project.  Well, I'm getting close to wrapping it up, so I thought I'd go ...
  • Cost
    Software technology, like any technology, provides a means to solving problems.  Some big. Some small.  Some that help.  Some that hurt.  An...
  • Windows 7: Default User vs All Users
    A lot of confusion seems to occur with understanding the difference between the "Default User" profile, and the "All Users...
  • Time to Give Props
    With the ever-expanding volume and breadth of information on the Internet today, it's easy to focus on my own thoughts, experiences, ide...
  • Table of Contents (Preliminary)
    Here's the preliminary Table of Contents for my new book "The AutoCAD Network Administrator's Bible - 2013 Edition".  I...
  • The Nicest IT and IT Vendor Folks I Know
    I've ranted many times before how it's unfair to "hate" an entire company, without providing a rationale for it based on s...
  • Windows 8
    Two small, yet irritating things, that I hope Windows 8 addresses with respect to Windows 7: Being able to put the Recycle Bin in the S...
  • Stupid Assumptions
    After years of watching sci-fi TV shows, movies, etc. it's finally come to a point where even the so-called brightest of our authors and...

Categories

  • a
  • activation
  • active directory
  • advertising
  • agile
  • agility
  • amazon
  • american
  • apple
  • application virtualization
  • applications
  • art
  • articles
  • asp
  • augi
  • authors
  • autocad
  • AutoCAD Autodesk
  • autodesk
  • autolisp
  • automation
  • automotive
  • backups
  • batch
  • beer
  • beta
  • blackberry
  • blogs
  • bongloads
  • book
  • books
  • Books writing kindle amazon technology business projects
  • browsers
  • business
  • cad
  • career
  • certification
  • chrome
  • city government
  • civilization
  • cloud services
  • cmd
  • cmmi
  • comedy
  • command
  • community
  • computers
  • conferences
  • config manager
  • consultants
  • consulting
  • contracting
  • cranium drainium
  • crapware
  • culture
  • data center
  • data mining
  • databases
  • deployment
  • directx
  • DLL
  • domains
  • dumb
  • earth
  • economy
  • editor
  • education
  • election
  • elections
  • employment
  • engineering
  • entertainment
  • environment
  • error monitoring
  • events
  • exchange
  • facebook
  • family
  • firefox
  • flexnet
  • fud
  • fun
  • funny
  • games
  • gary vaynerchuk
  • gmail
  • google
  • government
  • group policy
  • hampton roads
  • health
  • history
  • holidays
  • home
  • html5
  • humor
  • hyper-v
  • iis
  • industry
  • infrastructure
  • installation
  • installshield
  • internet
  • internet explorer
  • interviews
  • jobs
  • jtbworld
  • kindle
  • kixtart
  • lab setup
  • languages
  • ldap
  • learning
  • legal
  • licensing
  • life
  • lifecycle
  • linux
  • lisp
  • logging
  • management
  • manufacturing
  • marketing
  • markets
  • mdop
  • mdt
  • medical
  • messaging
  • microsoft
  • microsoft access
  • military
  • mountains
  • movies
  • mozilla
  • music
  • nature
  • network administration
  • news
  • nook
  • nothing
  • office
  • open source
  • openoffice
  • opera
  • operating systems
  • oracle
  • osx
  • packaging
  • patches
  • people
  • photos
  • podcasts
  • policy
  • politics
  • powershell
  • predictions
  • process automation
  • products
  • programming
  • projects
  • psychology
  • publishing
  • rail
  • reading
  • registry
  • religion
  • reporting
  • reviews
  • rsat
  • rss
  • safari
  • safety
  • sales
  • satire
  • sccm
  • scheduling
  • science
  • scripting
  • search
  • security
  • servers
  • services
  • sharepoint
  • shopping
  • sms
  • social stuff
  • society
  • softgrid
  • software assurance
  • software deployment
  • software development
  • software packaging
  • sony
  • speaking
  • sports
  • sql express
  • sql server
  • statistics
  • Statistics news marketing
  • steve jobs
  • stories
  • stuff
  • stupidity
  • symantec
  • sysinternals
  • system center
  • systems architecture
  • t-sql
  • taxes
  • technet
  • technical support
  • technology
  • TED
  • ted talks
  • testing
  • textpad
  • thoughts
  • traffic
  • training
  • transportation
  • travel
  • troubleshooting
  • tutorials
  • twitter
  • ubuntu
  • unattend
  • unemployment
  • updates
  • upfront ezine
  • utilities
  • vacation
  • vba
  • vbscript
  • video
  • virginia
  • virginia beach
  • virtualization
  • visual lisp
  • vmware
  • vmware server
  • voting
  • war
  • weather
  • web
  • web browsers
  • web development
  • web sites
  • windows
  • windows 7
  • windows live
  • windows server
  • windows server 2012
  • windows8
  • winpe
  • wise
  • wmi
  • work
  • writing
  • ws08
  • wsus
  • wwa
  • x64
  • xml
  • ze frank

Blog Archive

  • ►  2013 (37)
    • ►  October (1)
    • ►  September (5)
    • ►  August (8)
    • ►  July (2)
    • ►  June (4)
    • ►  May (4)
    • ►  April (2)
    • ►  March (2)
    • ►  February (8)
    • ►  January (1)
  • ►  2012 (120)
    • ►  December (14)
    • ►  November (12)
    • ►  October (10)
    • ►  September (7)
    • ►  August (3)
    • ►  July (2)
    • ►  June (6)
    • ►  May (6)
    • ►  April (20)
    • ►  March (16)
    • ►  February (18)
    • ►  January (6)
  • ▼  2011 (343)
    • ►  December (15)
    • ►  November (23)
    • ►  October (27)
    • ▼  September (35)
      • Swallowing Without Looking
      • The Zen of Systems Automation
      • Interaction is Highly Overrated
      • Testing. Testing. Testicles?
      • Autodesk Network Deployment Strategies
      • Slow Autodesk Network Deployments?
      • Querying Services on Remote Computers
      • Test ADO Connection using VBscript
      • 10 Ways to Manage Windows Services
      • 5 Ways to Read Windows Event Logs
      • Automation Gyration
      • 11 Ways to Manipulate the Windows Registry
      • Acad 2012 DirectX - The Final Chapter
      • 10 Easy Ways to Screw Up a Good Computer
      • College Degree vs. Cert vs. Experience
      • Self-Review Time
      • A Friday Mini Braindump
      • What Makes a Great IT Professional
      • What's Wrong with Google+?
      • A Pictorial Timeline
      • Windows 8 Dev Prev - VMware Player Error
      • Organic Architecture. Part 1
      • Windows 8 - My First 4 Hours
      • Windows 7 System Restore: A Lifesaver
      • Moochers Everywhere
      • Changes
      • By The Numbers
      • When You're Bored
      • The Candidates
      • Two Questions
      • Tune In. Turn On. RSS Feed Out
      • Nanny State?
      • Awesometarded?
      • Patching Civil 3D 2011 - Part 3, The Final Chapter
      • Patching Civil 3D 2011 - Part 2
    • ►  August (29)
    • ►  July (17)
    • ►  June (23)
    • ►  May (20)
    • ►  April (38)
    • ►  March (61)
    • ►  February (54)
    • ►  January (1)
Powered by Blogger.

About Me

Unknown
View my complete profile