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>


 

Comments (38)

  1. Nektar says:

    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.

  2. Hi Nektar – I definitely understand your frustration.  It has been a pet peeve of mine since I have worked at Microsoft that teams do not standardize things like silent command line switches, setup UI, etc because it makes it harder for people to install/deploy our products.

    One thing I do want to mention though is that all of the pieces of the Express Edition setup are MSIs, so that means they can all be deployed using Group Policy and you don’t have to worry about all of the command line parameters listed above.  The steps listed above are useful if you need to script the silent/unattended install in a non-Active Directory scenario.

  3. Now that I have posted items about how to create a network install point for a Visual Studio 2005 Express…

  4. suresh says:

    i want to know to install management studio seperatly

  5. 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?

  6. Jason says:

    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.

  7. From Aaron Stebner, setup guru.

    How to silently install Visual Studio 2005 Express Editions

    How…

  8. 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….

  9. Nick says:

    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.

  10. 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?

  11. Nick says:

    I’m using the silent install steps you posted. The folder does exist, temporarily of course, and contains the following two files (C# install):

    vcssetu1.cab 09/23/2005 01:00 PM 29,449,692

    vcssetup.msi 09/23/2005 11:01 AM 7,669,760

    In my own testing, when setup.exe is run for a "normal" interactive install, it creates a temporary folder and copies all the setup files (44 total, 45 MB C#) to that folder. That temp folder ALSO contains the above two mentioned files. It looks like setup.exe first copies all the install files to the temp folder, then extracts the .cab and .msi files from the Ixpvcs.exe Iexpress installer and then executes vcssetup.msi. Of course there are no complaints about a missing RebootStub.exe or anything else as they are all in the same folder now. So, I extracted the Ixpvcs.exe file myself and execute vcssetup.msi VSEXTUI=1 ADDLOCAL=ALL REBOOT=ReallySuppress /qn and it works.

    Any other ideas why Ixpvcs.exe isn’t working?

    Thanks for your article and time.

  12. I have previously posted instructions for performing a silent installation for Visual Studio 2005 and…

  13. 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….

  14. This guide is intended to serve as a collection of links to articles, tools, tips and tricks that explain…

  15. Aaron Johnson says:

    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 /qn

  16. haran says:

    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"

  17. Hi Haran – The vcredist_x86.exe and vcredist_x64 packages have a slightly different silent install command line.  You should be able to use the following:

    vcredist_x86.exe /q:a

    Let me know if this does not work for you…

  18. samjac says:

    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 /lv

  19. 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?

  20. samjac says:

    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.

  21. 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?

  22. samjac says:

    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.

  23. IanGSY says:

    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.

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

  25. MisterEd says:

    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.

  26. Question: I have been trying to follow the steps listed in some of your blog posts in order to create

  27. Alias556 says:

    Just a short note

    here you will find complete images for Visual ___ 2005 series:

    http://tinyurl.com/7hzwv

  28. This guide is intended to serve as a collection of links to articles, tools, tips and tricks that explain

  29. tmcglynn says:

    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!

  30. Hi Tmcglynn – To be honest, there isn’t a very easy way to install an express SKU to a non-default path.  What I would suggest doing is getting a test machine, installing the express SKU you want to install to a non-default path using the UI, and then looking in the file vsmsilog*.txt that is created during installation.  In there, it will list the command line passed in during installation.  You can pass that command line in place of the command line listed above in the "Main Express Edition package" command line section.  Your new command line will need to look like the following:

    ixpvb.exe /q:a /c:"msiexec.exe /i <path to vs_setup.msi> <command line parameters you get from the log file> /qn"

    Hopefully this helps.  Please let me know if you run into any issues while working on this.

    When doing this, you will need to

  31. Seiba says:

    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?

  32. Seiba says:

    Is there a way to install Visual Studio Express in the same manner? Thanks

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

  34. A while back, I posted a set of instructions for automating the install of Visual Studio 2005 Express

Skip to main content