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.
- Visual Basic 2005 Express Edition: ixpvb.exe /q:a /c:"msiexec /i vbsetup.msi VSEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /qn"
- Visual C++ 2005 Express Edition: ixpvc.exe /q:a /c:"msiexec /i vcsetup.msi VSEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /qn"
- Visual C# 2005 Express Edition: ixpvcs.exe /q:a /c:"msiexec /i vcssetup.msi VSEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /qn"
- Visual J# 2005 Express Edition: ixpvjs.exe /q:a /c:"msiexec /i vjssetup.msi VSEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /qn"
- Visual WebDev 2005 Express Edition: ixpvwd.exe /q:a /c:"msiexec /i vnssetup.msi VSEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /qn"
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>
Comments
Anonymous
March 19, 2006
Why don't all Microsoft products have a common way of silently installing them on many computers at the same time? Why don't you have a single method across all Windows applications of deployment across an organization?
Many people I know still use hard-disk mirroring as the main way of deploying software. Very few use Active Directory. It should be as easy as double-clicking on an .exe file to setup an app, to do the same and deploy the app to all the computers in an organization. There should be a standardized way of application deployment.Anonymous
March 20, 2006
The comment has been removedAnonymous
March 28, 2006
Now that I have posted items about how to create a network install point for a Visual Studio 2005 Express...Anonymous
March 29, 2006
i want to know to install management studio seperatlyAnonymous
March 29, 2006
Hi Suresh - I'm afraid I'm not familiar with the Management Studio product that you are referring to. Can you please provide more information about this product so I can see if can help further?Anonymous
March 30, 2006
Apologies for going a little off topic here, but I have been unable to find any info on a silent install for the Team Explorer piece of Visual Studio. Any suggestions would be appreciated greatly.Anonymous
March 31, 2006
From Aaron Stebner, setup guru.
How to silently install Visual Studio 2005 Express Editions
How...Anonymous
April 07, 2006
Hi Jason - I am not all that familiar with the Team Explorer and Team Foundation Server products that are now a part of Visual Studio, but I have been doing some research and I will post some instructions for how to perform a silent install of Team Explorer in the near future....Anonymous
April 09, 2006
I keep getting this msi error everytime I try to install C# or Visual Basic. I haven't tried the other languages.
Error 1308.Source file not found: C:DOCUME~1AdministratorLOCALS~1TempIXP000.TMPRebootStub.exe. Verify that the file exists and that you can access it.
=== Logging stopped: 4/10/2006 6:34:42 ===
Any ideas? All prereqs are installed. This install is being done on a local machine using files that are from the downloaded .iso.
Thanks.Anonymous
April 10, 2006
Hi Nick - Do you get this error when you try to use the silent install steps in this blog post, or just when you try to do a "normal" installation of the Express Editions? When you get this error, does the folder C:DOCUME~1AdministratorLOCALS~1TempIXP000.TMP exist and is there anything inside of it?Anonymous
April 10, 2006
The comment has been removedAnonymous
April 10, 2006
I have previously posted instructions for performing a silent installation for Visual Studio 2005 and...Anonymous
April 11, 2006
Hi Nick - You need to make sure that you are creating a network install point using the instructions I previously posted at http://blogs.msdn.com/astebner/articles/551674.aspx. The issue you are seeing is that the MSI for C# Express (and for all of the Express Editions) have some files listed that need to be installed that come from the self-extracting setup package (such as vcssetup.exe). Part of the network install point instructions involve downloading and extracting the contents of vcssetup.exe as well. The first file that the MSI tries to install from this group happens to be rebootstub.exe, so that is why you are seeing this error I believe.
Please let me know if this does not fix the issue you're seeing....Anonymous
April 11, 2006
The comment has been removedAnonymous
May 02, 2006
I second what Nick said previously. To get around the "rebootstub.exe" error, take Ixpvb.exe and use winzip or whatever to extract its contents into a folder. The syntax to install the VS05 Express portion of this would then be simply:
msiexec /i vbsetup.msi VSEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /qnAnonymous
May 10, 2006
I am not able to silently install VC8 redistributables. Whats wrong??
do you have any ideas? See below the syntax which i am using
vcredist_x86.exe /q:a /c:"install /q"Anonymous
May 11, 2006
The comment has been removedAnonymous
May 23, 2006
I'm having problems with the silent install of SQL Express 2005 if an administratrive user is not logged into the machine. It seems like there is some desktop interaction happening during the install as it does not complete if the administrative user that launches the install is not logged in. I'm using the following:
SQLEXPR.exe /wait /qn /norestart /lvAnonymous
May 30, 2006
Hi Samjac - It sounds like you are running into a scenario that is similar to the customer who posted the comment at http://blogs.msdn.com/astebner/archive/2006/05/29/610435.aspx#610446. I don't know why SQL setup would behave that way, but can you try to run SQL setup from a wrapper batch file or something like that instead of trying to launch it directly and see if that helps?Anonymous
May 31, 2006
Aaron,
Thanks for the information and this blog. I tried the batch wrapper but that did not work. One of my bosses found an article that I think explains the problem. The SQLExpress 2005 install is looking for a HKCU key that won't be available unless a user is logged onto the machine.
http://www.developersdex.com/sql/message.asp?p=1870&r=4699024&page=2
A bug report has been logged and any work around ideas would be appreciated.Anonymous
June 01, 2006
Hi Samjac - I checked with the SQL team and they have encountered issues when trying to launch SQL setup via runas.exe or as a scheduled task running as LocalSystem. This issue is not exactly the same, but likely to be similar. It also sounds like this kind of installation scenario that you describe is not "officially" supported. I will let you know if I hear of any workarounds.
Also, can you provide me a link to the bug report you submitted?Anonymous
June 08, 2006
Aaron,
I didn't get a bug report number as the channel we go though found this was a known issue. I'll post if I find out any more details.Anonymous
September 06, 2006
I've used these instructions to create network deployments for both VB and C++ and they deployed and work fine.
The only problem I get is that when the user first runs them they get a message saying "The proper type library could not be found in the system registry...." and that an attempt to repair it had failed becuase they have insufficient permissions.
I suspect that this problem is caused because the user under which it is running has limited permissions. If I log in as an administrator and run the program then the message goes away and the user is then able to run the progtam ok themselves.
Does anyone know which type library needs to be registered?
If I knew this then I could do the type library registration as part of the install.Anonymous
September 07, 2006
Hi IanGSY - I'm not sure exactly which type library or libraries this error message is referring to. You might be able to figure it out by using file and registry monitoring tools such as FileMon or RegMon from http://www.sysinternals.com. You may also want to try to post a question on the MSDN Forums (http://forums.microsoft.com) and see if anyone there has any further advice. I'm sorry I'm not able to be more helpful here.Anonymous
October 01, 2006
I was having the same problem as someone had on April 10. I decided the simplest way to solve this was duplicate what the graphical installer was doing. I did this:
1. Modify the "Main Express Edition package" command lines by adding a "/t" option to point to a temp directory of my choosing. For example for Visual Basic:
ixpvb.exe /t:C:InstallTemp /q:a /c:"msiexec /i vbsetup.msi VSEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /qn"
2. Create the temp directory "C:InstallTemp"
3. For the package I was installing I copied the same 44 files as the GUI program does to this temp directory, "C:InstallTemp"
4. Run the install program from this temp directory. For example for Visual Basic:
C:InstallTempixpvb.exe /t:C:InstallTemp /q:a /c:"msiexec /i vbsetup.msi VSEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /qn"
5. Delete the temp directory.
This technique has worked fine with all five Visual Studio 2005 Express packages.Anonymous
April 03, 2007
Question: I have been trying to follow the steps listed in some of your blog posts in order to createAnonymous
May 29, 2007
Just a short note here you will find complete images for Visual ___ 2005 series: http://tinyurl.com/7hzwvAnonymous
July 18, 2007
The comment has been removedAnonymous
August 13, 2007
Is it possible to install into a directory other than the default C:Program Files... Due to circumstances beyond my control, I need to install in C:MSVC80. Any ideas or pointers would be appreciated. Thanks!Anonymous
August 15, 2007
The comment has been removedAnonymous
January 04, 2008
The comment has been removedAnonymous
March 04, 2008
Tried to install Visual Studio 2008 Edition (here C#) in unattended mode. Launching ixpvb.exe with parameters is not passible (errormessage), because you have to use the 'setup.exe' to install C#. Any suggestions to this?Anonymous
March 05, 2008
Is there a way to install Visual Studio Express in the same manner? ThanksAnonymous
March 05, 2008
Hi Seiba - There are some slightly different steps needed to install the VS 2008 Express Editions in unattended/silent mode. I will work on a new set of blog posts with the specific instructions over the next couple of days.Anonymous
March 24, 2008
A while back, I posted a set of instructions for automating the install of Visual Studio 2005 ExpressAnonymous
March 24, 2008
The comment has been removedAnonymous
January 20, 2009
PingBack from http://www.hilpers.com/1042104-net-v2-0-language-pack