How to silently install the components included with the Visual Studio 2008 Express Editions
A while back, I posted a set of instructions for automating the install of Visual Studio 2005 Express Editions. Since the Visual Studio 2008 product family shipped last November, I have been asked for an equivalent set of instructions for Visual Studio 2008 Express Editions as well.
Before using the instructions in this post, you must use one of the following links to create a network install point for one or all of the Visual Studio 2008 Express Editions:
- How to create an installable layout for a Visual Studio 2008 Express Edition
- How to create a combined network install point for all Visual Studio 2008 Express Editions
Once you have downloaded the pieces of the Express Edition setup package, you will need to figure out which pieces are needed for the OS type (Windows XP, Windows Server 2003, etc), OS language (English, etc), processor architecture (x86, x64) and Express Edition type (VB, VWD, etc) that you are planning to install. Each Express Edition consists of a set of prerequisites, the main Express Edition package and a set of optional components.
The following components are prerequisites, meaning they must be installed before attempting to install the main Express Edition package:
- Windows Installer 3.1
- Visual C++ Minimal Redistributable
- .NET Framework 3.5
- .NET Framework 3.5 language pack
- Remote Debugger
- Windows SDK Express Headers and Libraries
- Windows SDK Express Tools for the .NET Framework
- Windows SDK Express Tools for Win32
- Windows SDK Express Tools for Web
- Visual Studio Web Authoring Component
The following components are optional components, meaning they are not required to be installed, and must be installed after the main Express Edition package if you choose to install them:
- SQL Server Compact 3.5
- SQL Server Compact 3.5 Design Tools
- MSDN Express
- SQL Express
- SQL Publishing Wizard
- Silverlight 1.0
The following is a list of all VS 2008 Express Edition prerequisites, main packages and optional components, what conditions they are needed for and their silent install command line switches. Note that some packages are self-extracting packages that require 2 steps - one to extract the contents and a second to perform the silent install.
Windows Installer 3.1
Needed on Windows XP x86 if not already installed.
WindowsInstaller-KB893803-v2-x86.exe /quiet /norestart
Visual C++ Minimal Redistributable
Needed on all operating systems if not already installed.
- To extract: vcredistmin_x86.exe /x:%temp%\vcredistmin_x86 /q
- To install: msiexec /i %temp%\vcredistmin_x86\vc_minred.msi /qn /l*v %temp%\vcredistmin.log VSEXTUI=1 REBOOT=ReallySuppress
.NET Framework 3.5
Needed on all operating systems if not already installed.
dotnetfx35setup.exe /q /norestart /lang:ENU
.NET Framework 3.5 language pack (x86)
Needed for all non-English Express Editions on all x86 operating systems if not already installed.
dotnetfx35langpack_x86**.exe /q /norestart
Note: In this command line, ** is the 2 letter culture code for the language you are installing. For example, the file name will be dotnetfx35langpack_x86fr.exe for the French language pack.
.NET Framework 3.5 language pack (x64)
Needed for all non-English Express Editions on all x64 operating systems if not already installed.
dotnetfx35langpack_x64**.exe /q /norestart
Note: In this command line, ** is the 2 letter culture code for the language you are installing. For example, the file name will be dotnetfx35langpack_x64fr.exe for the French language pack.
Remote Debugger (x64)
Needed on all x64 operating systems if not already installed.
- To extract: expdbgsetup.exe /x:%temp%\expdbgsetup /q
- To install: %temp%\expdbgsetup\install.exe /q
Windows SDK Express Headers and Libraries (x86)
Only needed for the Visual C++ 2008 Express Edition. Needed on all x86 operating systems if not already installed.
- To extract: WinSDK_Build.exe /x:%temp%\winsdk_build /q
- To install: msiexec /i %temp%\winsdk_build\VistaClientHeadersLibs-x86.msi /qn /l*v %temp%\VistaClientHeadersLibs-x86.log USING_EXUIH=1 REBOOT=ReallySuppress
Windows SDK Express Headers and Libraries (x64)
Only needed for the Visual C++ 2008 Express Edition. Needed on all x64 operating systems if not already installed.
- To extract: WinSDK_Build.exe /x:%temp%\winsdk_build /q
- To install: msiexec /i %temp%\winsdk_build\VistaClientHeadersLibs-x64.msi /qn /l*v %temp%\VistaClientHeadersLibs-x64.log USING_EXUIH=1 REBOOT=ReallySuppress
Windows SDK Express Tools for the .NET Framework (x86)
Only needed for Visual Basic, Visual C++ 2008 and Visual C# 2008 Express Editions. Needed on all x86 operating systems if not already installed.
- To extract: WinSDK_ExpTools.exe /x:%temp%\winsdk_exptools /q
- To install: msiexec /i %temp%\winsdk_exptools\WinSDK_exptoolsm_x86.msi /qn /l*v %temp%\WinSDK_exptoolsm_x86.log USING_EXUIH=1 REBOOT=ReallySuppress
Windows SDK Express Tools for the .NET Framework (x64)
Only needed for Visual Basic, Visual C++ 2008 and Visual C# 2008 Express Editions. Needed on all x64 operating systems if not already installed.
- To extract: WinSDK_ExpTools.exe /x:%temp%\winsdk_exptools /q
- To install: msiexec /i %temp%\winsdk_exptools\WinSDK_exptoolsm_amd64.msi /qn /l*v %temp%\WinSDK_exptoolsm_amd64.log USING_EXUIH=1 REBOOT=ReallySuppress
Windows SDK Express Tools for Win32 (x86)
Only needed for Visual Basic 2008, Visual C++ 2008 and Visual C# 2008 Express Editions. Needed on all x86 operating systems if not already installed.
- To extract: WinSDK_Exp32Tools.exe /x:%temp%\winsdk_exp32tools /q
- To install: msiexec /i %temp%\winsdk_exp32tools\VistaClientExpressTools-x86.msi /qn /l*v %temp%\VistaClientExpressTools-x86.log USING_EXUIH=1 REBOOT=ReallySuppress
Windows SDK Express Tools for Win32 (x64)
Only needed for Visual Basic 2008, Visual C++ 2008 and Visual C# 2008 Express Editions. Needed on all x64 operating systems if not already installed.
- To extract: WinSDK_Exp32Tools.exe /x:%temp%\winsdk_exp32tools /q
- To install: msiexec /i %temp%\winsdk_exp32tools\VistaClientExpressTools-x64.msi /qn /l*v %temp%\VistaClientExpressTools-x64.log USING_EXUIH=1 REBOOT=ReallySuppress
Windows SDK Express Tools for Web (x86)
Only needed for the Visual Web Developer 2008 Express Edition. Needed on all x86 operating systems if not already installed.
- To extract: WinSDK_VWDTools.exe /x:%temp%\winsdk_vwdtools /q
- To install: msiexec /i %temp%\winsdk_vwdtools\WinSDK_vwdtoolsm_x86.msi /qn /l*v %temp%\WinSDK_vwdtoolsm_x86.log USING_EXUIH=1 REBOOT=ReallySuppress
Windows SDK Express Tools for Web (x64)
Only needed for the Visual Web Developer 2008 Express Edition. Needed on all x64 operating systems if not already installed.
- To extract: WinSDK_VWDTools.exe /x:%temp%\winsdk_vwdtools /q
- To install: msiexec /i %temp%\winsdk_vwdtools\WinSDK_vwdtoolsm_amd64.msi /qn /l*v %temp%\WinSDK_vwdtoolsm_amd64.log USING_EXUIH=1 REBOOT=ReallySuppress
Visual Studio Web Authoring Component
Only needed for the Visual Web Developer 2008 Express Edition. Needed on all operating systems if not already installed.
WebDesignerCore.EXE /q /install /1033
Main Visual Basic 2008 Express Edition package
Needed on all operating systems in order to install the Visual Basic 2008 Express Edition.
- To extract: ixpvb.exe /x:%temp%\vb_express_main /q
- To install: msiexec /i %temp%\vb_express_main\vs_setup.msi /qn /l*v %temp%\vb_express_main.log VSEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /qn
Main Visual C++ 2008 Express Edition package
Needed on all operating systems in order to install the Visual C++ 2008 Express Edition.
- To extract: ixpvc.exe /x:%temp%\vc_express_main /q
- To install: msiexec /i %temp%\vc_express_main\vs_setup.msi /qn /l*v %temp%\vc_express_main.log VSEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /qn
Main Visual C# 2008 Express Edition package
Needed on all operating systems in order to install the Visual C# 2008 Express Edition.
- To extract: ixpvcs.exe /x:%temp%\vcsharp_express_main /q
- To install: msiexec /i %temp%\vcsharp_express_main\vs_setup.msi /qn /l*v %temp%\vcsharp_express_main.log VSEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /qn
Main Visual Web Developer 2008 Express Edition package
Needed on all operating systems in order to install the Visual Web Developer 2008 Express Edition.
- To extract: ixpvwd.exe /x:%temp%\vwd_express_main /q
- To install: msiexec /i %temp%\vwd_express_main\vs_setup.msi /qn /l*v %temp%\vwd_express_main.log VSEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /qn
SQL Server Compact 3.5
Only needed for Visual Basic 2008 and Visual C# 2008 Express Editions. Optional on all operating systems if not already installed.
msiexec /i SSCERuntime-enu.msi /qn /l*v %temp%\SSCERuntime-enu.log USING_EXUIH=1 REBOOT=ReallySuppress
SQL Server Compact 3.5 Design Tools
Only needed for Visual Basic 2008 and Visual C# 2008 Express Editions. Optional on all operating systems if not already installed.
msiexec /i SSCEVSTools-ENU.msi /qn /l*v %temp%\SSCEVSTools-ENU.log USING_EXUIH=1 REBOOT=ReallySuppress
MSDN Express
Optional on all operating systems if not already installed.
- To extract: msdnixp.exe /x:%temp%\msdnixp /q
- To install: %temp%\msdnixp\install.exe /q
SQL Express (x86)
Optional on all x86 operating systems if not already installed.
sqlexpr32.exe -q /norebootchk /qn reboot=ReallySuppress AddUserAsAdmin=1 addlocal=all instancename=SQLEXPRESS SCCCHECKLEVEL=IncompatibleComponents:1;MDAC25Version:0 ERRORREPORTING=2 SQLAUTOSTART=1
SQL Express (x64)
Optional on all x64 operating systems if not already installed.
sqlexpr.exe -q /norebootchk /qn reboot=ReallySuppress AddUserAsAdmin=1 addlocal=all instancename=SQLEXPRESS SCCCHECKLEVEL=IncompatibleComponents:1;MDAC25Version:0 ERRORREPORTING=2 SQLAUTOSTART=1
SQL Publishing Wizard
Only needed for the Visual Web Developer 2008 Express Edition. Optional on all operating systems if not already installed.
msiexec /i SqlPubWiz.msi /qn /l*v %temp%\sqlpubwiz.log USING_EXUIH=1 REBOOT=ReallySuppress ISINVOKEDFROMVS=1
Silverlight 1.0
Optional on all operating systems if not already installed.
Silverlight1.0.exe /q
Additional notes about silent install of the Express Editions:
- The packages should be chained in the order listed above because this is the order that Express setup will run them if you launch setup in full UI mode
- Some packages will require different command lines if you are installing non-English versions of the VS 2008 Express Editions - the Visual Studio Web Authoring Component, SQL Server Compact 3.5 and the SQL Server Compact 3.5 Design Tools
- All of the command lines listed above can be figured out by downloading the Express web download bootstrapper (for example, this package for Visual C# 2008 Express), extracting the contents of the package, and reading through the file baseline.dat. The combination of the Executable value data and the CommandLine value data for each component forms the command line that you want to use for silent installation.
- If you look at baseline.dat for the Express Editions to form the command lines, you will notice that I removed the /watsongenman switches in the command lines that I listed above. The /watsongenman switch is used to generate a log file that is sent as part of a Watson report for the Express Edition setup package when it is installed via full UI mode. That switch is not needed when individually installing the components as I describe above.
- To change from a silent installation to an unattended installation, change all instances of install.exe /q to install.exe /qb and change /qn to /qb for the main Express Edition and SQL Express command lines
Comments
Anonymous
March 24, 2008
The comment has been removedAnonymous
March 24, 2008
The comment has been removedAnonymous
April 25, 2008
Recently, I posted some instructions for creating an installable layout for Visual Studio 2008 ExpressAnonymous
August 28, 2010
can't understand a thing, is there more simple explanation, haha LOLAnonymous
August 28, 2010
The comment has been removedAnonymous
January 11, 2011
Very nice article, thank you. I have the silent install working fine if the .NET Framework 3.5 role is installed, otherwise the setup fails. I am trying to make it so that the user doesn't get prompted for any of the install settings. If I run the setup file manually, it detects 3.5 is not installed and asks if I want to enable it. If I run it silently, it just fails at that point. Do you have any idea how to keep it silent except for failures of prerequisites?Anonymous
January 11, 2011
Hi Tamerz - I'm sorry, but there is not a way to make .NET Framework selectively silent. It can either be fully silent, fully unattended (meaning it shows UI but doesn't require user interaction), or fully interactive (meaning it shows UI and requires user interaction).Anonymous
September 20, 2012
The comment has been removedAnonymous
September 20, 2012
The comment has been removedAnonymous
April 21, 2014
The comment has been removedAnonymous
April 22, 2014
The comment has been removedAnonymous
April 22, 2014
Thanks for a fast response! I indeed tried to search the log after a UI installation, but it seems there are too many hashed/long parameters for each folder and subfolder it's not really worth trying to replicate them and I'll have to settle with a default installdir. Thanks for help anyway.