A few months ago I posted a blog article about how to chain the unattended installations of the Visual Studio prerequisites, Visual Studio and MSDN. In the past few weeks I have been helping a customer who contacted me with some follow-up questions because they wanted to perform a full install of MSDN instead of a default install. What the customer found was that in a normal scenario where they installed MSDN via a command line it was possible to perform a full install with the following command line:
<path to MSDN setup.exe> ADDLOCAL=ALL /qn
However, they found that using the instructions in my blog post was not working when they included the ADDLOCAL=ALL part of this command line. After several back and forth email iterations and trying different types of scenarios, we finally figured out that the exact command line that had to be listed in the [PostSetupLaunchList] of the unattended INI file for an MSDN full install has to read:
<path to MSDN setup.exe> "ADDLOCAL=ALL" /qn
Note the quotes around the ADDLOCAL=ALL part of this command line. I spent some time looking through the code that processes these unattended command lines and found that it was cutting off the part of the string after the equal sign unless the equal sign is enclosed in quotes. There is some legacy code deep in this setup infrastructure that is attempting to parse some of the contents of the unattended INI file using <name> = <value> syntax. In this case, the commands should just be a list of commands, one per line, so that type of name/value parsing is a bug that we just happened to not find until now.
So, after a lot of iterations the customer was able to implement their scenario, including unattended full install of MSDN. Hopefully this information will be useful to anyone else trying something similar in the future...