Command line switches for .NET Framework 4 setup that you might not have known about

Because of some of the posts I’ve written in the past, I often get asked about how to install various products in silent or unattended mode.  In some cases, I am familiar with the product and know how to answer the question.  However, in a lot of cases, I don’t, and in those cases, I try running the installer with the /? command line switch to see if it will display a usage dialog to describe the available options.  This technique doesn’t always help because some installers do not list any command line switches or they only list a selected subset of their supported switches.  However, it has provided some very useful information in the past, and it is worth trying if you are having trouble finding documentation for setup command line switches.

For example, if you download the installer for the .NET Framework 4 and run it with the /? switch, you will see a lot of information about available command line switches.  There are several standard options that are pretty well documented (silent/unattended install and uninstall), and there are several other useful options that you may not have been aware of:

  • /CEIPconsent – allows you to opt into sending customer experience feedback about .NET Framework 4 setup back to Microsoft.
  • /lcid – force setup UI to appear in a specific language instead of the user’s Windows UI language.
  • /log – sets the name and location to use for setup log files.
  • /msioptions – sets parameters (such as MSI properties) that are passed through to each of the .msi files installed as a part of the .NET Framework 4 setup.
  • /pipe – connect a communication channel to allow an installer that chains the .NET Framework to receive installation progress messages.  There is an MSDN article that explains this option in more detail and provides code samples as well.