Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio
All postings are provided AS IS with no warranties, and confer no rights. Additionally, views expressed herein are my own and not those of my employer, Microsoft.
The following options can be used to download and assemble a folder structure that can be used to install one of the Visual Studio 2005 Express Editions.
Option 1: Download and burn or extract the CD image (easiest option)
The first, and easiest option is to utilize the Manual Installation Instructions for Express Editions page on the MSDN site. This site provides direct download links for ISO and IMG files for each of the Express Editions:
Once you have downloaded the desired IMG or ISO file, you can either burn the image onto a CD and then copy the contents to your local hard drive or extract the contents to your local hard drive directly using a tool such as IsoBuster.
Once you have copied the contents to a local hard drive, you can share out the folder on a network and install it from there if you chose to.
Option 2: Manually assemble the equivalent of the CD image (advanced option)
If you need to optimize bandwidth or for some other reason cannot use option 1, you can use some advanced steps to reverse engineer the Express Edition setup data files and manually download the individual pieces you will need to create a network installation point. If you use these steps, you can optimize your download size by only including the optional components you want to install (meaning you can skip SQL Express and MSDN if you choose to not install them during Express Edition setup). You can also optimize your download size based on the configuration of the machines you will be installing on. For example, if you know you will not need to install on any x64 systems, you can skip downloading the x64 components for the .NET Framework 2.0, SQL Express and the remote debugger. Also, if you know that the systems you will install on already have prerequisites such as Windows Installer 3.1 or the .NET Framework 2.0, you can skip downloading those components.
The following steps will allow you to manually assemble an installable layout for an Express Edition. In this example, I will use Visual WebDev 2005 Express Edition (English), but equivalent steps can be used for the other Express Editions and non-English languages as well. For other Express Editions, you will need to change the download location used in steps 1 and 5 below.
Windows Installer 3.1
.NET Framework 2.0 (x86)
.NET Framework 2.0 (x64)
SQL Server Express (x86)
SQL Server Express (x64)
MSDN Express
Remote Debugger (x64)
J# Redistributable (note - this is only needed for Visual J# Express Edition)
Additional notes for non-English Express Editions
If you want to create an installable layout for a non-English Express Edition, you will need to use different URLs than the ones listed above. The URLs can all be assembed using the prefix http://go.microsoft.com and the data stored in the URL value for the section in the file baseline.dat that corresponds to the component in question.
In addition, you will also need to download the language pack for the .NET Framework 2.0 for non-English Express Editions. This can be done with the following steps:
.NET Framework 2.0 language pack (x86)
.NET Framework 2.0 language pack (x64)
Advanced note about setting default checked state for optional components
You can configure the default checked state for the MSDN Express and SQL Express optional components using the DefaultSelected and WebDefaultSelected values in baseline.dat. Setting them to 0 will cause the setup UI to appear with the checkbox unchecked for the item in question, and setting them to 1 will cause the setup UI to appear with the checkbox checked for the item in question. The default selection state only applies to optional components for the Express Editions, so setting these values for components other than MSDN Express or SQL Express will not have any effect.
Is it possible to slipstream Express SP1 into this install? That would be really handy...
Hi Superpig - You can use instructions like the ones at http://blogs.msdn.com/heaths/archive/2006/12/16/slipstreaming-visual-studio-2005-service-pack-1.aspx to create a slipstream install point for Visual Studio 2005 and SP1. Those steps will work for the main VS editions as well as the Express editions.
Hi Aaron, great blog and very helpful. However, when installing VS C++ 2005 Express edition on an x64 server in unanttend mode I first receive an 'unknown publisher' and then an access denied error (Not a valid 32-bit application). This is the path syntax:
\\Install\VisualStudio2005Express\FullInstall\Ixpvc.exe /q:a /c:"msiexcec /i vcsetup.msi VCEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /qn"
Reason for trying this method is that I have 50 machines in a MCC to install and I really don't fancy updating them by hand ;-) Thanks for your help. (Next step to try for me is group policy)
Pete
Hi Pgeppert - When installing ixpvc.exe directly, you have to make sure that the prerequisites for that package are already installed on your system, including the .NET Framework 2.0. Can you please double-check that you have the prereqs installed in this scenario?
Also, you may have received a corrupted file when downloading this package, so I'd suggest verifying that the package runs by double-clicking on it (in order to try to eliminate any possible issues related to the silent install command line parameters).
One other note, the command line you list is not exactly right. You will need to use VSEXTUI=1 and not VCEXTUI=1. I don't think that would cause the type of error you describe though, but it will need to be fixed eventually as you work on this.
Hopefully this helps.