Enterprise Deployment for Visual Studio 2008

Administrator Deployment Readme

For a Microsoft Visual Studio .NET 2002 version of this article, see 309657.
For a Microsoft Visual Studio .NET 2003 version of this article, see 327792.
For a Microsoft Visual Studio 2005 version of this article, see 907759.

1. Introduction
2. Prerequisites for deploying Visual Studio 2008
3. Create a network image
4. Unattended Setup
4.1  Creating and Running Unattended Setup
4.1.1  Createunattend Configuration
4.1.2  Run Unattended Setup
4.2  Deploying Visual Studio components individually
4.3  Installation Maintenance
5. Visual Studio 2008 SMS Deployment
5.1  Create the component package
5.2  Create the component program
5.3  Create the component distribution point
5.4  Create the component advertisement
6. Deploying Visual Studio 2008 using Active Directory
6.1  Deploying a component using Active Directory
6.2  Create the transform for Visual Studio Installation
6.3  Using group policy object to create deployment
7. Specifying Watson Settings
8. Known Installation Issues
8.1  Data file cannot be created
8.2  Visibility of user-specific data
8.3  Optional components are not installed with unattended setup
8.4  CreateUnattend mode halts on Welcome page
9. Troubleshooting
9.1  Visual Studio Log File Locations
9.2  Windows Installer Error Codes
10. Deployment of Visual Studio Service Releases

1. Introduction

This step-by-step article describes how to deploy Visual Studio 2008 and its system dependencies across a network.  This article assumes that all client computers to which you are deploying Visual Studio 2008 meet the minimum requirements for Visual Studio 2008.

Microsoft Visual Studio 2008 offers two ways to facilitate deployment to field clients:

Notes:

  1. The software referenced in this document, including without limitation, Microsoft Visual Studio 2008 and Active Directory, are each subject to license terms and conditions. These instructions assume that such license terms and conditions have been reviewed and accepted by the appropriate licensees of the software. These instructions do not waive any of the terms and conditions of such license agreements.
  2. You cannot install Visual Studio 2008 on a computer with the Intel Itanium processor. Attempting to deploy the Visual Studio 2008 MSI to a computer with the Itanium processor will fail.
  3. For Windows XP, and Windows 2003, Windows Installer 3.1 must be installed on the computer. To download Windows Installer 3.1, go to http://go.microsoft.com/fwlink/?LinkId=51558.
Back to the top

2. Prerequisites for deploying Visual Studio 2008

Client computers must have all the system components that Visual Studio 2008 requires installed prior to Visual Studio 2008 installation. Network administrators must verify that all client computers have the required system components. Visual Studio installation will fail if the prerequisites are not met.

Note: It is mandatory that you deploy the required components in the order that they appear in the list.  The component installation setup may fail if they are deployed in a different order.  For example, Microsoft Windows Installer 3.1 appears before the Microsoft .NET Framework 3.5, because the later requires Windows Installer 3.1 or higher.  All the components without an asterisk (*) are located in the WCU folder of the Visual Studio DVD-ROM.

Prerequisites for deploying on Windows 2003 Server

Prerequisites for deploying on Windows XP

Prerequisites for deploying on 64 bit platforms

Prerequisites for deploying on all Windows Platforms

These components can be installed anytime after the required components for the platform and Visual Studio are installed.

The Windows Service Packs are subject to their own license agreements.

Back to the top

3. Create a network image

You can run the Visual Studio 2008 Setup program from a network share instead of DVDs. The following procedure shows how to prepare Visual Studio 2008 for installation from a network share.

  1. Create a folder on the server. For example, <drive>:\VS2008.
  2. Copy the contents of Visual Studio 2008 DVD to the VS2008 folder created in first item.
  3. Skip to item 8, if you don't use Retail distribution media
  4. In the VS2008 folder, open the Setup subfolder.
  5. Open setup.sdb using a text editor, such as Notepad, and locate the line containing [Product Key]
  6. Add the 25 character product key, found on the DVD packaging, without dashes on the next line, immediately following [Product Key]:
    [Product Key]
    XXXXXXXXXXXXXXXXXXXXXXXXX
  7. Save changes and close the file.
    Note: Completing this step enables pre-populating the product key for the user.
  8. Share the VS2008 folder on the network and set the appropriate security settings. The path to Visual Studio 2008 setup from the network looks as follows: \\<servername>\VS2008\setup.exe.
    Note:
    • When installing, setup fails if any path and file name combination exceeds 260 characters. The maximum length of a path in Visual Studio is 221 characters.  Use the following guidelines to avoid path issues:
      • Local path name should not exceed 70 characters
      • Network path name should not exceed 39 characters
    • Setup may fail if the folder names in this path include embedded spaces, for example "\\<servername>\VS 2008" or "\\<servername>\Visual Studio\".
Back to the top

4. Unattended Setup

4.1 Creating and Running Unattended Setup

4.1.1 Configure Unattended Setup

To deploy Visual Studio 2008 in unattended mode, you must create the unattend file for the Visual Studio 2008 installation.

Note:    You must create a unique .INI unattend file for each target operation system.  For example, unattend file created for Windows XP would not be usable for Windows 2003 and vise versa.

To do this, follow these steps:

Step 1: Create Visual Studio unattended .ini file
  1. Insert the Visual Studio 2008 DVD and ignore the autorun message.
  2. From the Start menu, choose Run.
  3. Type the following:

    <DVD-ROM drive>:\setup\Setup.exe /createunattend <path to VS2008 INI-file>

  4. For example:

    D:\setup\setup.exe /createunattend c:\VS2008_deployment.ini

  5. Follow the directions on the Start page of setup and then click Next
  6. On the Options page, select the features intended to be deployed, and then click Save Settings
Step 2: Create MSDN Studio unattended .ini file (Optional)
  1. From the Start menu, choose Run.
  2. Type the following:

    <DVD-ROM drive>:\msdn\setup\Setup.exe /createunattend <path to MSDN INI-file>

  3. For example:

    D:\msdn\setup\setup.exe /createunattend c:\MSDN2008_deployment.ini

  4. Follow the directions on the Start page of setup and then click Next
  5. On the Options page, select the features intended to be deployed, and then click Save Settings
Back to the top

4.1.2 Run Unattended Setup

Step 1: Run unattended Visual Studio setup on a client machine
  1. Verify that Visual Studio 2008 is available on the network.
  2. From the Start menu, choose Run.
  3. Type the following:

    \\<servername>\VS2008\Setup\setup.exe /unattendfile <path to VS2008 INI-file>

  4. For example:

    \\server\VS2008\Setup\setup.exe /unattendfile \\server\VS2008\VS2008_deployment.ini

Step 2: Run unattended MSDN Library setup on a client machine (Optional)
  1. From the Start menu, choose Run.
  2. Type the following:

    \\<servername>\VS2008\msdn\Setup\setup.exe /unattendfile <path to MSDN INI-file>

  3. For example:

    \\server\VS2008\msdn\Setup\setup.exe /unattendfile \\server\VS2008\MSDN2008_deployment.ini

Note: For further details on MSDN setup options, please refer to the readme in the MSDN folder of Visual Studio media.

Back to the top

4.2 Deploying Visual Studio components individually

Network administrators can also deploy Visual Studio 2008 components individually. The following table shows all the Visual Studio components that can be installed unattended along with their locations on the Visual Studio DVD and their silent install commands.

Component Directory Unattended Install Command
Required Components to install prior to Visual Studio 2008
Microsoft Windows Installer 3.1 WCU\msi31 WindowsInstaller-KB893803-v2-x86.exe /quiet /norestart
Microsoft .NET Framework 3.5 WCU\dotNetFramework dotnetfx35setup.exe /q /norestart /lang:ENU
Microsoft Visual Studio 2008 64bit Prerequisites WCU\64bitPrereq\x64 vs_bsln.exe /Q USING_EXUIH=1
Microsoft Document Explorer 2008 WCU\DExplore dexplore.exe /q
Microsoft Web Designer Tools WCU\WebDesignerCore WebDesignerCore.exe /Q /install
Optional Components to install after Visual Studio 2008
Microsoft .NET Compact Framework 2.0 SP2 WCU\NetCF NetCFSetupv2.msi /qn
Microsoft .NET Compact Framework 3.5 WCU\NetCF NetCFSetupv35.msi /qn
Microsoft Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime) WCU\VS Tools for Office vstor30.exe /q
Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System Runtime WCU\VS Tools for Office vstor.exe /q
Microsoft SQL Server Compact 3.5 WCU\SSCE SSCERuntime-ENU.msi /qn
Microsoft SQL Server Compact 3.5 Design Tools WCU\SSCE SSCEVSTools-ENU.msi /qn
Microsoft SQL Server Compact 3.5 For Devices WCU\SSCE SSCEDeviceRuntime-ENU.msi /qn
Windows Mobile 5.0 SDK R2 for Pocket PC WCU\WindowsMobileSDK MagOrcasPPC.msi /qn
Windows Mobile 5.0 SDK R2 for Smartphone WCU\WindowsMobileSDK MagOrcasSP.msi /qn
Microsoft Device Emulator version 3.0 WCU\ARM Vista x64 only:
vs_emulator_x64_vista.exe /q

Other platforms:
vs_emulator.exe /q
Microsoft SQL Server 2005 Express Edition (x86) WCU\SSE x86:
SQLEXPR32.EXE -q /norebootchk /qn reboot=ReallySuppress AddUserAsAdmin=1 addlocal=all instancename=SQLEXPRESS SCCCHECKLEVEL=IncompatibleComponents:1;MDAC25Version:0 ERRORREPORTING=2 SQLAUTOSTART=1 /watsongenman=SQL???.mft

x64:
SQLEXPR.EXE -q /norebootchk /qn reboot=ReallySuppress AddUserAsAdmin=1 addlocal=all instancename=SQLEXPRESS SCCCHECKLEVEL=IncompatibleComponents:1;MDAC25Version:0 ERRORREPORTING=2 SQLAUTOSTART=1 /watsongenman=SQL???.mft
Microsoft Visual Studio 2008 Remote Debugger x64 only:
Remote Debugger\x64
rdbgsetup.exe /q
Microsoft Windows SDK for Visual Studio 2008 Tools WCU\WinSDK WinSDK_Tools.exe /Q USING_EXUIH=1
Microsoft Windows SDK for Visual Studio 2008 Headers and Libraries WCU\WinSDK WinSDK_Build /Q USING_EXUIH=1
Microsoft Windows SDK for Visual Studio 2008 Win32 Tools WCU\WinSDK WinSDK_W32Tools.exe /Q USING_EXUIH=1
Microsoft Windows SDK for Visual Studio 2008 .NET Framework Tools WCU\WinSDK WinSDK_NetFxTools.exe /Q USING_EXUIH=1
Microsoft Windows SDK for Visual Studio 2008 SDK Reference Assemblies and IntelliSense WCU\WinSDK WinSDK_RefInt.exe /Q USING_EXUIH=1
Microsoft SQL Publishing Wizard WCU\SQLPub SqlPubWiz.msi IsInvokedFromVS=1 REBOOT=ReallySuppress /qn 
Table 1. A list of Visual Studio components that can be deployed individually.

To install an component unattended

  1. From the Start menu, choose Run.
  2. Type "cmd" and then click OK.
  3. Navigate to the [Component Directory] (see Table 1) on the Visual Studio DVD and type the unattended install command for the component. For example, if you want to install the .NET Framework, you would navigate to the WCU\dotNetFramework folder and type in the following:
    dotnetfx35setup.exe /q /norestart /lang:ENU

4.3 Installation Maintenance

Setup can be run again on a computer with an existing installation to access setup maintenance features. Users or administrators should run setup from Add or Remove Programs in the Control Panel. To use the maintenance mode of setup, users need to be logged on with administrative permissions on the local computer.

Back to the top

5. Visual Studio 2008 SMS Deployment

To deploy the components using SMS, you must follow these steps:

  1. Create the component package
  2. Create the component program
  3. Create the component distribution point
  4. Create the component advertisement

Step 1: Create the component package

  1. Click Start, point to Programs, and then click Systems Management Server to open the SMS Administrator console.
  2. In the Site Database tree, right-click Packages, point to New, and then click Package.
  3. On the General tab of the Package Properties dialog box, add the following values to the appropriate fields.
    Field Value
    Name   Component Name
    Version   Component Version
    Publisher   Microsoft
    Language   Component Language
  4. On the Data Source tab, click to select the check box for This package contains source files, and then click Always obtain files from source directory.
  5. Click Set.
  6. In the Set Source Directory dialog box, click Local drive on site server, and then click Browse.
  7. In the Browse for Folder dialog box, select the folder for the component that you are installing based on the list in Table 1.
  8. Click OK three times to close the dialog boxes.

Step 2: Create the component program

In this section, you create a program for the package. Each SMS package contains at least one SMS program. The SMS program is a command-line program that runs on each destination computer to control how the package runs.

  1. Under Packages in the Site Database tree of the SMS Administrator console, expand the appropriate node.
  2. Right-click Programs, point to New, and then click Program.
  3. On the General tab of the Program Properties dialog box, type Component Name Program in the Name box. Then, type the appropriate value in the Command Line box based on the list in Table 1.
  4. In the After running list, select the appropriate value that is based on the following list.
  5. On the Environment tab, click to clear  the check box for User input required, and then click Run with administrative rights.
  6. Click OK to close the Program Properties dialog box.

Step 3: Create the component distribution point

In this section, you create a distribution point for the package. SMS distribution points are shares on site systems. You copy the package source files to an SMS distribution point so that client computers can access the source files.

  1. Under the appropriate node in the Site Database tree of the SMS Administrator console, right-click Distribution Points, point to New, and then click Distribution Points.
  2. In the New Distribution Points Wizard, click Next.
  3. Select the distribution point to which you want to copy the package.
  4. Click Finish.

Step 4: Create the component advertisement

In this section, you create an advertisement for the program. An advertisement specifies what program is available to the client computers, which computers receive the advertisement, and when the program is scheduled for installation.

  1. In the Site Database tree of the SMS Administrator console, right-click Advertisements, point to New, and then click Advertisement.
  2. On the General tab of the Advertisement Properties dialog box, type Component Name Advertisement in the Name box.
  3. In the Package list, select the appropriate component.
  4. In the Program list, select the appropriate component program.
  5. Click Browse, and then select the collection of computers to which you want to deploy the program.
  6. Click OK to close the Advertisement Properties dialog box.
Back to the top

6. Deploying Visual Studio 2008 using Active Directory

6.1 Deploying a component using Active Directory

This section describes the specific procedures for using Active Directory to deploy the Windows Installer setup package for a specific component across a network. To deploy components that require file extraction with administrator privileges, the Windows Installer file (.msi) must be extracted from the .exe file.

Before installing a Windows Installer setup package on an Active Directory client computer, the client computer must have the Windows Installer installation service installed. The procedure described in this section assumes that Windows Installer 3.1 is installed on all client computers prior to the deployment of any components.

For .NET Framework deployment, there are minimum configuration requirements that must be met prior to installation. For specific software and hardware requirements and recommendations, see "Deploying & Configuring Applications" at http://go.microsoft.com/fwlink/?LinkId=52324

 

The following table shows the list of components that can be deployed using Active Directory. Note that SQL Server Express is not deployable via Active Directory.

Table 2. A list of Visual Studio components that can be deployed using Active Directory.
Component .exe file or .msi file location Directory Name Component Command File Extraction Required
Microsoft Core XML Services (MSXML) 6.0 x86:
WCU\dotNetFramework\dotNetFX30\x86\msxml6.msi

x64:

WCU\dotNetFramework\dotNetFX30\x64\msxml6.msi
msxml6 msiexec /qb /a msxml6.msi TARGETDIR=c:\msxml6  
Software Rasterizer for the Microsoft DirectX 9.0 Software Development Kit (SDK) x86:
WCU\dotNetFramework\dotNetFX30\RGB9RAST_x86.msi

x64:
WCU\dotNetFramework\dotNetFX30\RGB9RAST_x64.msi
rgbrast x86:
msiexec /qb /a RGB9RAST_x86.msi REBOOT=ReallySuppress TARGETDIR=c:\RGBRAST

x64:
msiexec /qb /a RGB9RAST_x64.msi REBOOT=ReallySuppress TARGETDIR=c:\RGBRAST
 
.NET Framework 2.0 SP1 WCU\dotNetFramework\dotNetFX20 dotNetFX20 x86:
msiexec /a netfx20a_x86.msi /update ASPNET.msp;CLR.msp;CRT.msp;NetFX_CA.msp;
NetFX_Core.msp;NetFX_Other.msp;PreXP.msp;WinForms.msp;DW.msp
USING_EXUIH=1 REBOOT=ReallySuppress /l* %TEMP%\logs\netfx20sp1_x86.log TARGETDIR=c:\dotNetFX20

x64:
msiexec /a Netfx20a_x64.msi /update ASPNET_64.msp;CLR_64.msp;CRT_64.msp;DW_64.msp;
NetFX_Core_64.msp;NetFX_Other_64.msp;WinForms_64.msp;ASPNET.msp;CLR.msp;CRT.msp;NetFX_CA.msp;
NetFX_Core.msp;NetFX_Other.msp;PreXP.msp;WinForms.msp;DW.msp

USING_EXUIH=1 REBOOT=ReallySuppress /l* %TEMP%\netfx20sp1_x64.log TARGETDIR=c:\dotNetFX20

Note: each .msp file must be preceded by its full path.
 
.NET Framework 3.0 SP1 WCU\dotNetFramework\dotNetFX30 dotNetFX30 x86:
msiexec /a netfx30a_x86.msi /update WCF.msp;WCS.msp;WF.msp;WPF1.msp;WPF2.msp;WPF_Other.msp;
XPS.msp;WF_32.msp;WPF2_32.msp;WPF_Other_32.msp

USING_EXUIH=1 REBOOT=eallySuppress /l* %TEMP%\netfx30sp1_x86.log TARGETDIR=c:\dotNetFX30

x64:
msiexec /a netfx30a_x64.msi /update WCF.msp;WCS.msp;WF.msp;WPF1.msp;WPF2.msp;
WPF_Other.msp;XPS.msp;WCF_64.msp;WCS_64.msp;WF_64.msp;WPF1_64.msp;WPF2_64.msp;
WPF_Other_64.msp
USING_EXUIH=1 REBOOT=ReallySuppress /l* %TEMP%\netfx30sp1_x64.log TARGETDIR=c:\dotNetFX30

Note: each .msp file must be preceded by its full path.
 
.NET Framework 3.5 x86:
WCU\dotNetFramework\dotNetFX35\x86\netfx35_x86.exe

x64:
WCU\dotNetFramework\dotNetFX35\x64\netfx35_x64.exe
dotNetFX35 msiexec /qb /a vs_setup.msi USING_EXUIH=1 REBOOT=reallySuppress TARGETDIR=c:\dotNetFX35
Microsoft Document Explorer 2008 WCU\DExplore\DExplore.exe DExplore DExplore.exe /q /c:"msiexec /qb /a dexplore.msi TARGETDIR=c:\DExplore"
.NET Compact Framework WCU\NetCF\NetCFSetupv2.msi NetCFSetupv2 msiexec /qb /a NetCFSetupv2.msi TARGETDIR=c:\NetCFSetupv2  
.Net Compact Framework v3.5 WCU\NetCF\NetCFSetupv35.msi NetCFSetupv35 msiexec /qb /a NetCFSetupv35.msi TARGETDIR=c:\NetCFSetupv35  
Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System Runtime WCU\VS Tools for Office\vstor.exe vstor vstor.exe /q /c:"msiexec /qb /a vsto.msi TARGETDIR=c:\vstor"
Microsoft Visual Studio Tools for the Microsoft Office system (version 3.0 Runtime) WCU\VS Tools for Office\vstor30.exe vstor30 vstor30.exe /q /c:"msiexec /qb /a trin_trir.msi TARGETDIR=c:\vstor30"
Windows Mobile 5.0 SDK R2 for Pocket PC WCU\WindowsMobileSDK\MagOrcasPPC.msi WindowsMobileSDK msiexec /qb /a MagOrcasPPC.msi TARGETDIR=c:\WindowsMobileSDK  
Windows Mobile 5.0 SDK R2 for Smartphone WCU\WindowsMobileSDK\MagOrcasSP.msi WindowsMobileSDK msiexec /qb /a MagOrcasSP.msi TARGETDIR=c:\WindowsMobileSDK  
Device Emulator Vista x64 only:
WCU\ARM\vs_emulator_x64_vista.exe

Other platforms:
WCU\ARM\vs_emulator.exe
vs_emulator Vista x64 only:
vs_emulator_x64_vista.exe /q /c:"msiexec /qb /a sde_vsd64.msi TARGETDIR=c:\vs_emulator"

Other platforms:
vs_emulator.exe /q /c:"msiexec /qb /a sde_vsd.msi TARGETDIR=c:\vs_emulator"
Microsoft Visual Studio 2008 Performance Collection Tools x86:
WCU\Profiler\PerfCollectionTools_x86.exe

x64:
WCU\Profiler\PerfCollectionTools_x64.exe
vs_profiler x86:
PerfCollectionTools_x86.exe /q /c:"msiexec /qb /a dynamicanalysis_collectionbits.msi TARGETDIR=c:\vs_profiler"

x64:
PerfCollectionTools_x64.exe /q /c:"msiexec /qb /a dynamicanalysis_collectionbits.msi TARGETDIR=c:\vs_profiler"

Step 1: Create the administrator install point

  1. Download the .exe file or the .msi/msp(s) on to the C:\ drive on your local computer.
  2. From the Start menu, choose Run.
  3. Type in CMD, and press OK.
  4. Change the directory to the root of the C:\ drive.
    cd c:\
  5. At the command prompt, type the following to create a directory in which to copy the .exe file:
    mkdir [Directory Name]
  6. Copy the file to the directory created in item 5.
  7. Extract the file, if it is marked for extraction in Table 2.
  8. Create target directory.
  9. Type the corresponding Component Command (see Table 2) to create the install point in the directory
  10. Close the command prompt window.
  11. Open Windows Explorer and navigate to c:\[Directory Name] to verify that the files were extracted.
  12. Move the target folder and all its contents to the network share you intend to use for deployment.
  13. Copy the .msi file from the source to the network share.

Step 2: Add a setup package to an Active Directory Group Policy

  1. From the Start menu, choose Programs and then choose Administrative Tools.
  2. Choose Component Services and then expand Active Directory Users and Computers. The Active Directory Users and Computers tree is displayed.
  3. Right-click the Domain node and then choose Properties.
  4. In the Properties dialog box, choose the Group Policy tab and then click Edit.
  5. If you intend to set policies that apply to computers regardless of who logs on to them, expand Computer Configuration\Software Settings.
    Note: Ensure that you map to the shared location on the Active Directory server; otherwise, it will not let you create a package for installation.
  6. Right-click Software installation, choose New and then choose Package.
  7. In the Open dialog box, browse to the location where you copied the deployment folder, and select the .msi file.
  8. In the Deploy Software dialog box, choose Assigned and then click OK.
  9. Choose Auto Install to install the software automatically on every computer in the domain.
  10. Click OK and then exit the Active Directory Users and Computers console.

Step 3: Set the Elevated Privileges via Group Policy

Since most packages only allow local administrators of the computer to install the package, you should use elevated privileges to advertise the package per-computer in Group Policy. Network administrators can create policies for one user, one computer, or a group of users. See the System Policy Editor Help for more information on creating special policy profiles and the Group Policy snap-in Help for more information on configuring policies.

  1. From the Start menu, choose Programs and then choose Administrative Tools.
  2. Choose Component Services and then expand Active Directory Users and Computers. The Active Directory Users and Computers tree is displayed.
  3. Right-click the Domain node and then choose Properties.
  4. Select the Group Policy tab.
  5. In the Group Policy Objects Links box, select a Group Policy Object and then click Edit.
  6. Open the Local Computer Policy\Administrative Templates\Windows Component\Windows Installer folder.
  7. In the details pane, double-click the Always install with elevated privileges policy.
  8. In the Group Policy Property dialog box, enable the policy, select the check box to turn the setting on, and then click OK.
  9. Open the User Configuration\Administrative Templates\Windows Component\Windows Installer folder and repeat Steps 8 and 9.

Note: You can use the System Policy Editor and Windows Installer policy to set the Always install with elevated privileges policy. You must set the policy for the computer and for each user. If you choose not to use the Group Policy Editor or the System Policy Editor, you can specify the same setting on each computer by changing a value in the Windows registry.

Step 4: Verify that package is ready to be assigned to computers

  1. [Component Name] - English Properties dialog box, select the Deployment tab.
  2. Under Deployment type choose Assigned.
  3. Under Deployment options, select the correct options for when and how to deploy the component.
  4. Browse the other available tabs and make choices as necessary. For details, see Group Policy Help available in the dialog box.

Step 5: Deploy other required components

To deploy other Visual Studio components, simply repeat Step 1 and add the .msi file to the designated Active Directory Group Policy.

Back to the top

6.2 Create the transform for Visual Studio Installation

In Windows Installer terminology, a relational database contains information about components, features, and setup properties. A transform is based on a particular package and contains the modifications to apply to that package during installation. This transform provides a full install at the default install location of Visual Studio 2008.

Step 1: Create the transform

  1. From the Start menu, choose Run.
  2. Type the following:
    <path to Visual Studio 2008>\Setup\setup.exe /CreateTransform <path to Visual Studio 2008>setup.exe /CreateTransform <filepathname>

    For example:

    D:\Setup\setup.exe /CreateTransform C:\MyDeploymentFolder\myVSTransform.mst
  3. Follow the directions on the Start page of setup and then click Continue.
  4. On the Options page, select the features you intend to deploy, and then click Create Transform.

Step 2: Create the administrative installation point

Refer to Section 6.3 for detail.

Step 3: Add the Visual Studio 2008 setup package to Group Policy

The vs_setup.msi file is located at the root of the Visual Studio CD or DVD.  Refer to Section 6.1 Step 2 for detail.  If you are deploying Visual Studio in one language to a computer with a different default operating system language:

  1. Open the Group Policy Object Editor for your domain & policy.
  2. Open the properties of the Visual Studio 2008 <language> package.
  3. Click the Deployment tab.
  4. Click the Advanced... button.
  5. Check the box for Ignore language when deploying this package.
  6. Click OK.
  7. Click OK.

Note: You will also need to set the "Ignore language when deploying this package" for the .NET Framework language pack.   

Step 4: Verify that the package is ready to be deployed

  1. Visual Studio 2008 - English Properties dialog box, select the Deployment tab.
  2. Under Deployment type choose Assigned.
  3. Under Deployment options, select the correct options for when and how to deploy Visual Studio.
  4. Select the Modifications tab, and then click Add.
  5. Select the transform file you created earlier, such as myVSTransform.mst, and then click Open to add the file.
  6. Browse the other available tabs and make choices as necessary.

Step 5: Set elevated privileges via Group Policy

Refer to Section 6.1 Step 3 for detail.

Step 6: Verifying that the recently created Active Directory package can be installed

  1. Restart one of the client computers where Visual Studio 2008 was deployed.
  2. Log on to the restarted computer and verify that Visual Studio 2008 has been installed.
    Note: Do not choose Cancel on the Windows Installer dialog box that appears when the product starts.
Back to the top

6.3 Using group policy object to create deployment

An administrative installation point for Visual Studio 2008 and all related files must be created for Active Directory deployment. You must have write access to the administrative installation point on the server and the appropriate privileges to deploy Visual Studio using Active Directory. Visual Studio setup accepts many different command line options. You can create the administrative installation point using the /a command line option. The following table lists all of the command line options for setup:

Table 3. A list of Visual Studio setup command line options.
Command line option Description
Msiexec Executable file name for Windows Installer.
/p Enables Windows Installer to apply an update to an existing installation.
[path\name of update MSP file] Path and file name of the MSP file for the update.
/a Enables Windows Installer to perform an administrative installation of a product on a network share.
[path\name of MSI file] Path and file name of the Windows Installer package for your original administrative image.
/qb Sets the user interface to the basic level (simple progress and error handling).
/L*v Turns on logging and sets a path for the log file. The *v flag causes the switch to log all information.
[path\name of log file] Path and file name of the Windows Installer log file. If none is given, look for MSI*.log in the temp folder of the computer where command was run.
[path\name of target folder] Path and name of the target folder where admin image will live.

Use the following syntax for all setup commands:

msiexec /p [path\name of update MSP file] /a [path\name of MSI file] /qb /L*v [path\name of log file] TRANSFORMS=VS2008Transform.mst PIDKEY=<25 character product key with no spaces or dashes> TARGETDIR=[path\name of target folder]

To create the administrative installation point

  1. From the Start menu, choose Run.
  2. Type the following:
    msiexec /a [path\name of MSI file] TRANSFORMS=<name of transform file created in section 3.3 Step 1> PIDKEY=<25 character product key with no spaces or dashes>

    Note: If you are deploying an edition of Visual Studio that uses a product key pre-populated by setup, you need to locate the product key (PID) and enter the correct sequence as the value for PIDKEY.

    To locate the product key

    1. At the root of the Visual Studio 2008 DVD-ROM, open the file Setup\setup.sdb using a text editor such as Notepad.
    2. The product key is located below [Product Key].
Back to the top

7. Specifying Watson Settings

Registry

You can configure how Visual Studio Watson behaves on individual computers using the following registry sub-key:

under HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\PCHealth\ErrorReporting\ DW\VSSetup\Product Name Value\Product Version Number

Replace Name Value\Product Version Number with the values for VSSWProdName and VSSWProdVer flags specified in the file setup.sdb located at n:\setup\ on the installation CD or DVD-ROM.

For example:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\PCHealth\ErrorReporting\DW\VSSetup\Visual C# 2008 Express Edition\9.0.21022.08]
"VSSWSectionEnabled"=dword:00000001
"VSSWUXEnabled"=dword:00000001

Back to the top

8. Known Installation Issues

8.1 Data file cannot be created

If you run setup in createunattend mode with a file that already exists, the following error appears: "The data file <filename> cannot be created. Setup cannot continue."

To correct this error, either delete the existing file, or provide a unique file name.

8.2 Visibility of user-specific data

When you create an unattended install file, some user-specific data might appear in the file. Specifically, the name of the user who created the file and their organization name appear as two line items:

  • gfn_pid core user name=Your Name
  • gfn_pid core organization=Your Company

You can change the values of these variables before using the .ini file, but do not delete the lines completely

8.3 Optional components are not installed with unattended setup

If you run setup in unattendfile mode, setup installs pre-requisites and core VS components, but ignores all optional components following the core feature.

To correct this error:

  1. Ensure Windows Installer 3.1 or higher is installed on the system.
  2. Open created unattend INI file in text editor, such as Notepad.
  3. Locate and remove "gfn_mid windows installer 3.1" lines in [PreInstallOrder], [InstallOrder], and [PostInstallOrder] sections of the file.
  4. Save and close the INI file.
  5. Run unattended setup using the modified INI file.

8.4 CreateUnattend mode halts on Welcome page

Running setup in Createunattend mode from non-trusted network share, halts after clicking Next button on a Welcome page,

To resolve this issue, move or minimize main setup window and add network share to trusted site zone in an Internet Explorer security settting window, or close setup, and launch it from a trusted network location.

Back to the top

9. Troubleshooting

9.1 Visual Studio Log File Locations

The following log files are generated during Visual Studio 2008 setup:

  • dd_error_<VS_Product>_90.txt
  • dd_install_<VS_Product>_90.txt
  • VSMsiLog****.txt (where * is a randomly-generated suffix)

During Visual Studio setup , the log files are located in the %temp% directory. For example:

C:\Documents and Settings\[User Name]\Local Settings\Temp

After Visual Studio installation , the log files are located in the Logs directory in the path that Visual Studio is installed. For example:

C:\Program Files\Microsoft Visual Studio 9\[Product Name]\Logs

After a Visual Studio failed installation or removal, the log files are left in the %temp% directory.

Note: Other Visual Studio components, such as the Microsoft SQL Server Express, or the Visual Studio .NET Framework, also generate log files. These files can also be found under the %temp% directory.

9.2 Windows Installer Error Codes

To view the list of error codes, go to http://go.microsoft.com/fwlink/?LinkId=51677

Back to the top

10. Deployment of Visual Studio Service Releases

For information on downloading and deploying Visual Studio Service Releases, see http://go.microsoft.com/fwlink/?LinkId=10605.

Back to the top