Yesterday I was doing an upgrade to a product and I needed to install it into the path where the old version used to be. I only needed to figure out what install option I need.
I knew MS Installer supports a vast number of command line options, I hoped that it will be easy to find the correct one, but looking into the MSDN’s help did not help finding the necessary Public Property right away, it simply was not immediately obvious.
So I tried one property then another and finally in frustration decided to turn on the logging to see what the MSI package is doing when I change the default destination path.
Examining the produced file immediately yielded results – bingo, the right property was very evident, buried in the middle of my install log – TARGETDIR. The rest was easy:
I created a custom command line install directive
msiexec /passive TARGETDIR="C:\MyTagretDirectory" /i MyProject.msi
And was able to get the desired path pre-populated!
In my case I did not want the user to interact with the installer and therefore added the /passive option which reduces the MS Installer GUI to merely a progress bar.