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:

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