Aaron Stebner's WebLog

Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio

How to silently install the components included with the Visual Studio 2008 Express Editions

How to silently install the components included with the Visual Studio 2008 Express Editions

  • Comments 12

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
  • PingBack from http://msdnrss.thecoderblogs.com/2008/03/25/how-to-silently-install-the-components-included-with-the-visual-studio-2008-express-editions-2/

  • PingBack from http://msdnrss.thecoderblogs.com/2008/03/25/how-to-silently-install-the-components-included-with-the-visual-studio-2008-express-editions-2/

  • Recently, I posted some instructions for creating an installable layout for Visual Studio 2008 Express

  • can't understand a thing, is there more simple explanation, haha LOL

  • Hi Pissed - I'm not sure how best to help you.  Have you tried the steps in this blog post and ran into trouble?  If so, what exact step are you stuck on and what exact error message(s) are you seeing?

  • 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?

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

  • Hi, this basically works also with Win SDK 7.1.

    The question is whether one is allowed to do this. More exactly, after downloading the ISO image, one can extract its content and burn it on a CD. After that, it is possible to install individual components as needed. However, if I use "msiexec", the EULA is not shown and "I accept" is not clicked. Is this OK?

    In this page support.microsoft.com/.../2498225 the silent install is described, and it says "Using the silent installation does not negate this agreement (the EULA)." With the command detailed there, one can install only the full packet; I was not able to selectively install components. Is there a way to give parameters to "setup" so that only some components are installed?

  • Hi Petru - The Windows Phone SDK 7.1 does not offer selective install of any of its sub-components if you install with the full UI, so there is not a way to perform a selective install in silent mode either.

  • Hello, very nice article. Is there any possible way to specify the installation dir when executing a silent install with msiexec? I tried both targetdir= and installdir= and neither of them is working. My msiexec looks like this:

    msiexec /i vs_setup.msi vsextui=1 addlocal=all targetdir="c:\apps\vstest" reboot=reallysuppress /qb /v*l c:\temp\vslog.log

    Targetdir makes an empty folder where the path is specified but still installs the component into a prefixed folder which is c:\program files (x86)\Microsoft Visual Studio 9.0. I did try to search for according property in the verbose log file after installation, but with no success. Thanks!

  • Hi no_escape - In general, TARGETDIR is used to set a non-default path.  However, it is up to the MSI whether or not it will honor that value.  It has been a while, and I can't remember for sure whether or not silent install of the VS 2008 Express Editions support non-default installs.  What I'd suggest doing is trying to install to a non-default path in UI mode and look at the verbose log afterwards to see what properties are being passed through from the setup UI to the MSI, and then try to replicate those properties in your silent install command line.

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

Page 1 of 1 (12 items)
Leave a Comment
  • Please add 3 and 7 and type the answer here:
  • Post