How to silently install Visual Studio 2005 Express Editions

A few folks (both inside and outside of Microsoft) have contacted me asking for instructions for how to install the Visual Studio 2005 Express Editions in silent and/or unattended mode.

Some of you have found the instructions I previously posted for Visual Studio 2005 unattended installations and tried them with the Express Editions. However, you will find that running any of the Express Edition setup.exe files with the /createunattend or /unattendfile switches will show an error dialog stating that those switches are not supported with this setup package.

There is not a built-in automated silent or unattended installation mode for the Express Editions, so the method for performing silent installation is a bit more involved than it is for the higher-level versions of Visual Studio 2005. You have to download each of the setup packages that is chained as part of the Express Edition setup and then run each of them using their individual silent mode command line switches.

To accomplish the setup package download, you need to follow the instructions to create a network install point for a VS 2005 Express Edition.

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).

The following is a list of the Express setup packages, what conditions they are needed for and their silent command line switches:

Windows Installer 3.1

Needed on Windows 2000 and Windows XP if not already installed

WindowsInstaller-KB893803-v2-x86.exe /quiet /norestart

.NET Framework 2.0 (x86)

Needed on all x86 operating systems if not already installed

dotnetfx.exe /q:a /c:"install.exe /q"

.NET Framework 2.0 (x64)

Needed on all x64 operating systems if not already installed

NetFx64.exe /q:a /c:"install.exe /q"

.NET Framework 2.0 language pack

Needed for all non-English Express Editions if not already installed

langpack.exe /q:a /c:"install.exe /q"

J# Redistributable 2.0

Needed only for the J# Express Edition on all operating systems if not already installed

vjredist.exe /q:a /c:"install.exe /q"

J# Redistributable 2.0 language pack

Needed for non-English J# Express Edition if not already installed

vjredist-LP.exe /q:a /c:"install.exe /q"

Lite Debugger Package (x64)

Needed on all x64 operating systems if not already installed

expdbgsetup.exe /q:a /c:"install.exe /q"

Main Express Edition package

Needed on all operating systems. The exact command line depends on which Express Edition you want to install.

MSDN Express

Optional on all operating systems if not already installed

msdnixp.exe /q:a /c:"Install.exe /q"

SQL Express (x86)

Optional on all x86 operating systems if not already installed

SQLEXPR32.EXE -q /norebootchk /qn reboot=ReallySuppress 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 addlocal=all instancename=SQLEXPRESS SCCCHECKLEVEL=IncompatibleComponents:1;MDAC25Version:0 ERRORREPORTING=2 SQLAUTOSTART=1

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
  • All of the command lines listed above can be figured out by downloading the Express web download bootstrapper (for example, this package for Visual WebDev Express 2005), 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

<update date="4/11/2006"> Updated command lines for Main Express Edition packages - I missed the REBOOT=ReallySuppress and /qn switches from a few of the editions </update>