Silent Installs of AutoCAD Object Enablers (msi)
I searched high and low for specific information on installing AutoCAD Object Enablers (OE) from an .msi, which would permit IT to push installation silently, without user intervention.
Sadly, bits of information were scattered all over the Internet, so hopefully this thread will bring it together for AUGI members.
This is a step-by-step guide, with the caution that the silent install will need to be performed with admin privileges. I presume this due to some registry keys being written to HKLM. If you find otherwise, please let us know.
The first step is to extract the .msi file from the downloaded .exe file. It is crucial to get the correct .msi file for the application to which you will add the OE. Here is how you accomplish the task:
- Start the .exe application for the OE.
- Proceed thru the dialogs, selecting the correct target application in the setup dialog.
- Start the install, but do NOT close the setup dialog when the install is complete.
- Use Windows Explorer to browse to %Temp% (you may type that in Explorer's address bar).
- Copy the .msi file that you find there to a network location. The filename will start with a temporary filename but end with a full description. For example, a setup of AutoCAD Architectural 2009 OE for DWG TrueView 2009 created this .msi file: 6a.tmp_DWG_TrueView_2009_-_English_(United_States).msi.
- Do NOT rename the file. The .msi file created during the initial install stores its original filename.
Whew.
Now you have a valid .msi file to use for the silent install. Below is a sample that presumes the .msi file is located in H:\Test, where the /i command switch finds the file and does the install.
Code:
msiexec /norestart /passive /l*v "%temp%\OE Install.log" /i "H:\Test\6a.tmp_DWG_TrueView_2009_-_English_(United_States).msi"
Other command switches are:
/norestart, make sure a reboot isn't forced (not an issue with this OE, but it is habit).
/passive, display a progress bar. You could use /qb! instead to not display a progress bar.
/l*v, write a verbose log to the location specified. Note that I use the %temp% parameter to make sure the log file goes to the Temp folder, wherever it may be located.
Re: Silent Installs of AutoCAD Object Enablers (msi)
Thanks for putting all this together Robert. I use this same procedure for other installs, but have never written down the steps...
Re: Silent Installs of AutoCAD Object Enablers (msi)
Quote:
Originally Posted by
rkmcswain
Thanks for putting all this together Robert. I use this same procedure for other installs, but have never written down the steps...
Actually, your blog posting on the subject was a large resource, but as you said, it was missing a few steps.
Re: Silent Installs of AutoCAD Object Enablers (msi)
Robert, thank you for posting this info.
I have recently tried this for the first time, and the installs appeared to go OK, however I have been noticing now in AutoCAD that when a file that needs an OE is opened, I get a line similar to the following for pretty much every object it's trying to enable, and when the file is fully loaded, it appears that the objects are all proxies:
c:\enabler\aeccland.dbx cannot find a dll or other file that it needs.
I am using AutoCAD 2011 32-bit, and I noticed 64-bit installs are ending up the same way.
I tried to run the reinstall through the Add/Remove programs in the control panel for the object enabler(s), but it has made no difference.
Any suggestions?
Thank you.
Re: Silent Installs of AutoCAD Object Enablers (msi)
Quote:
Originally Posted by
dwahl
Robert, thank you for posting this info.
I have recently tried this for the first time, and the installs appeared to go OK, however I have been noticing now in AutoCAD that when a file that needs an OE is opened, I get a line similar to the following for pretty much every object it's trying to enable, and when the file is fully loaded, it appears that the objects are all proxies:
c:\enabler\aeccland.dbx cannot find a dll or other file that it needs.
I am using AutoCAD 2011 32-bit, and I noticed 64-bit installs are ending up the same way.
I tried to run the reinstall through the Add/Remove programs in the control panel for the object enabler(s), but it has made no difference.
Any suggestions?
Thank you.
I'm having the exactly same issue here now 12 months later. Did you come up with a solution to this issue?
Re: Silent Installs of AutoCAD Object Enablers (msi)
Hi Patrick,
I do not remember what this issue was exactly, but there seemed to have been something wrong with the way the OEs were installed. I wrote up a batch file to remove the OEs, then reinstall, and this fixed things for me. - OK after looking through the script again, it looks like when they were installed with the MSI, something went wrong, so I removed all the installs and reinstalled with the EXE to get things working.
I'm not a proffessional programer by any means, so please review this and adjust as necessary if you want to try it, I'm not taking any responsibility for this. When I installed the OEs the first time I had a .txt fiel written in the C root to indicate things were done, these .txt files are what this batch uses to see if the enablers previously existed, you may have to find some other kind of reference that the OE is installed.
We use group policy to trigger the batch file to run. Again, there may be better ways of doing this, but it was the best I could do with what I know, and it worked for us.
@echo off
cls
echo.
echo Please wait as Autodesk 2011 Object Enablers are removed
echo.
echo Verifying Operating System...
echo.
ver | find "2003" > nul
if %ERRORLEVEL% == 0 goto exit
ver | find "XP" > nul
if %ERRORLEVEL% == 0 goto ver_32
ver | find "2000" > nul
if %ERRORLEVEL% == 0 goto exit
ver | find "NT" > nul
if %ERRORLEVEL% == 0 goto exit
if not exist %SystemRoot%\system32\systeminfo.exe goto exit
systeminfo | find "OS Name" > %TEMP%\osname.txt
FOR /F "usebackq delims=: tokens=2" %%i IN (%TEMP%\osname.txt) DO set vers=%%i
echo %vers% | find "Windows 7" > nul
if %ERRORLEVEL% == 0 goto ver_64
echo %vers% | find "Windows Server 2008" > nul
if %ERRORLEVEL% == 0 goto exit
echo %vers% | find "Windows Vista" > nul
if %ERRORLEVEL% == 0 goto ver_64
goto exit
:ver_32
echo Verifying Installed CAD product...
echo.
If exist "C:\Program Files\Autodesk\AutoCAD 2011\acad.exe" goto ACAD32
If exist "C:\Program Files\Autodesk\AutoCAD Civil 3D 2011\acad.exe" goto C3D32
If exist "C:\Program Files\Autodesk\AutoCAD MEP 2011\acad.exe" goto MEP32
goto exit
:ACAD32
echo Removing...
If exist c:\2011OECivil32.txt goto REMOVE_ACAD32C3DOE
goto ACAD32MEPOE
:REMOVE_ACAD32C3DOE
msiexec /norestart /uninstall "<<network location of OE msi file>>" /quiet
DEL c:\2011OECivil32.txt
:ACAD32MEPOE
If exist c:\2011OEMEP32.txt goto REMOVE_ACAD32MEPOE
goto ACAD32RASTEROE
:REMOVE_ACAD32MEPOE
msiexec /norestart /uninstall "<<network location of OE msi file>>" /quiet
DEL c:\2011OEMEP32.txt
:ACAD32RASTEROE
If exist c:\2011OERaster32.txt goto REMOVE_ACAD32RSTOE
goto 32bitInstall
:REMOVE_ACAD32RSTOE
msiexec /norestart /uninstall "<<network location of OE msi file>>" /quiet
DEL c:\2011OERaster32.txt
goto 32bitInstall
:C3D32
echo Removing...
If exist c:\2011OERaster32.txt goto REMOVE_C3D32RSTOE
goto 32bitInstall
:REMOVE_C3D32RSTOE
msiexec /norestart /uninstall "<<network location of OE msi file>>" /quiet
DEL c:\2011OERaster32.txt
goto 32bitInstall
:MEP32
echo Removing...
If exist c:\2011OECivil32.txt goto REMOVE_MEP32C3DOE
goto MEP32RASTEROE
:REMOVE_MEP32C3DOE
msiexec /norestart /uninstall "<<network location of OE msi file>>" /quiet
DEL c:\2011OECivil32.txt
:MEP32RASTEROE
If exist c:\2011OERaster32.txt goto REMOVE_MEP32RSTOE
goto 32bitInstall
:REMOVE_MEP32RSTOE
msiexec /norestart /uninstall "<<network location of OE msi file>>" /quiet
DEL c:\2011OERaster32.txt
goto 32bitInstall
:ver_64
echo Verifying Installed CAD product...
echo.
If exist "C:\Program Files\Autodesk\AutoCAD 2011\acad.exe" goto ACAD64
If exist "C:\Program Files\Autodesk\AutoCAD Civil 3D 2011\acad.exe" goto C3D64
If exist "C:\Program Files\Autodesk\AutoCAD MEP 2011\acad.exe" goto MEP64
goto exit
:ACAD64
echo Removing...
If exist c:\2011OECivil64.txt goto REMOVE_ACAD64C3DOE
goto ACAD64MEPOE
:REMOVE_ACAD64C3DOE
msiexec /norestart /uninstall "<<network location of OE msi file>>" /quiet
DEL c:\2011OECivil64.txt
:ACAD64MEPOE
If exist c:\2011OEMEP64txt goto REMOVE_ACAD64MEPOE
goto ACAD64RASTEROE
:REMOVE_ACAD64MEPOE
msiexec /norestart /uninstall "<<network location of OE msi file>>" /quiet
DEL c:\2011OEMEP64.txt
:ACAD64RASTEROE
If exist c:\2011OERaster64.txt goto REMOVE_ACAD64RSTOE
goto 64bitInstall
:REMOVE_ACAD64RSTOE
msiexec /norestart /uninstall "<<network location of OE msi file>>" /quiet
DEL c:\2011OERaster64.txt
goto 64bitInstall
:C3D64
echo Removing...
If exist c:\2011OERaster64.txt goto REMOVE_C3D64RSTOE
goto 64bitInstall
:REMOVE_C3D64RSTOE
msiexec /norestart /uninstall "<<network location of OE msi file>>" /quiet
DEL c:\2011OERaster64.txt
goto 64bitInstall
:MEP64
echo Removing...
If exist c:\2011OECivil64.txt goto REMOVE_MEP64C3DOE
goto MEP64RASTEROE
:REMOVE_MEP64C3DOE
msiexec /norestart /uninstall "<<network location of OE msi file>>" /quiet
DEL c:\2011OECivil64.txt
:MEP64RASTEROE
If exist c:\2011OERaster64.txt goto REMOVE_MEP64RSTOE
goto 64bitInstall
:REMOVE_MEP64RSTOE
msiexec /norestart /uninstall "<<network location of OE msi file>>" /quiet
DEL c:\2011OERaster64.txt
goto 64bitInstall
:32bitInstall
echo.
echo Installing...
"<<network location of exe>>\autocad_architecture_mep_2011_oex86.exe" /quiet
:wait_32MEP
%systemroot%\system32\ping -n 30 127.0.0.1 >nul
%systemroot%\system32\tasklist | find /i "autocad_architecture_mep_2011_oex86.exe" >nul
if errorlevel==1 goto continue_32MEP
goto wait_32MEP
:continue_32MEP
"<<network location of exe>>\Civil_2011_OE_32Bit.exe" /quiet
:wait_32C3D
%systemroot%\system32\ping -n 30 127.0.0.1 >nul
%systemroot%\system32\tasklist | find /i "Civil_2011_OE_32Bit.exe" >nul
if errorlevel==1 goto continue_32C3D
goto wait_32C3D
:continue_32C3D
"<<network location of exe>>\Raster_Design_2011_OE_32.exe" /quiet
:wait_32RST
%systemroot%\system32\ping -n 30 127.0.0.1 >nul
%systemroot%\system32\tasklist | find /i "Raster_Design_2011_OE_32.exe" >nul
if errorlevel==1 goto continue_32RST
goto wait_32RST
:continue_32RST
echo Completed OE install >c:\2011OE32.txt
goto exit
:64bitInstall
echo.
echo Installing...
"<<network location of exe>>\autocad_architecture_mep_2011_oe_x64.exe" /quiet
:wait_64MEP
%systemroot%\system32\ping -n 30 127.0.0.1 >nul
%systemroot%\system32\tasklist | find /i "autocad_architecture_mep_2011_oe_x64.exe" >nul
if errorlevel==1 goto continue_64MEP
goto wait_64MEP
:continue_64MEP
"<<network location of exe>>\Civil_2011_OE_64Bit.exe" /quiet
:wait_64C3D
%systemroot%\system32\ping -n 30 127.0.0.1 >nul
%systemroot%\system32\tasklist | find /i "Civil_2011_OE_64Bit.exe" >nul
if errorlevel==1 goto continue_64C3D
goto wait_64C3D
:continue_64C3D
"<<network location of exe>>\Raster_Design_2011_OE_640.exe" /quiet
:wait_64RST
%systemroot%\system32\ping -n 30 127.0.0.1 >nul
%systemroot%\system32\tasklist | find /i "Raster_Design_2011_OE_640.exe" >nul
if errorlevel==1 goto continue_64RST
goto wait_64RST
:continue_64RST
echo Completed OE install >c:\2011OE64.txt
goto exit
:exit
exit
I hope this helps. I don't know or remember where or why the msi installs didn't work for us.
Re: Silent Installs of AutoCAD Object Enablers (msi)
The Raster Design 2011 OE will not work from the exe if the welcome screen is turned off in your deployment. You will need to manually install all autocad products that you require the OE for and then use the msi from the TEMP folder like Robert said.