what is the difference between /q and /quiet in the case of install params?
example what does the following statement mean. InstallParams = "/q /norestart"
what is the difference between /q and /quiet in the case of install params?
example what does the following statement mean. InstallParams = "/q /norestart"
In theroy, /quiet
specifies quiet mode, which means there's no user interaction as you can see in microsoft documentation. Then, /q
is used with another letter like /qn
or /qb
, as you can also see in the documentation.
But at the end /quiet
and /q
are technically the same. Use /qn
if you really want ensure that the user doesn't see anything during installation
/norestart
ensures that the MSI doesn't restart the computer automatically at the end of installation, even if it is designed to do so. In that case, you or the user should restart the computer before using whatever component / application was installed.
Equivalence: There are 2 different kinds of command line switches for msiexec.exe
. You should be able to mix and match both formats - as long as they don't contradict with their commands.
Legacy Switches: Windows Installer 3.0 and earlier versions contained the msiexec.exe single letter switches such as /x
, /i
, /qn
etc... These switches are still available and working in later versions of the Windows Installer Engine. I still use these switches.
Standard Switches: The Standard Installer Command-Line Options became available in Windows Installer version 3.0 and onwards. Before that time only the old-style command line switches were available. These are the more verbose switches: /quiet
, /passive
, /norestart
, etc...
Your concrete question:
What does this mean: "/q /norestart" -
/norestart
here is a more convenient way to suppress reboot after installation. Using the old msiexec.exe command line this would be equivalent to setting the REBOOT
property to "ReallySuppress"
- which makes for a pretty long and complicated command line, but crucially also a bit more "cryptic" than the more verbose switches:
msiexec.exe /I "MySetup.msi" /L* "D:\msilog.log" REBOOT=ReallySuppress
Rationale: The rational explanation for these 2 different sets of switches is that the original msiexec.exe
command line switches are very complex and "complete" - you can do a lot of different things with them and there is very fine-grained control. The Standard Switches - that came later - are simper and takes care of more basic and mundane tasks in a simpler and easier to remember format. Some will find them more convenient and expressive (easier to see what a command line will do). You still need the full, old-style switch repertoire to do more complex configuration.
Old msiexec.exe Tools: There used to be some tools available to help construct complicated msiexec.exe
command lines. Most of them are no longer available. Here is a screenshot of one of them (it is no longer available).