views:

23

answers:

2

Is there anyway to install the msi at specific location through the command line.

+1  A: 

Yes, typically, you can specify a TARGETDIR=(path to install to) when you run the msiexec installer:

msiexec /i (yourFile).msi TARGETDIR=C:\YourBin\YourApp

I've been corrected (thanks to 0xA3 for this!) - my initial mention of INSTALLDIR is wrong - you need to use TARGETDIR instead. That one does indeed seem to work for just about any MSI I tried it on. Windows Installer stuff isn't exactly intuitive or easy......

marc_s
Afaik, INSTALLDIR is only defined in InstallShield .msi files. Usually the property would be named TARGETDIR (see http://social.msdn.microsoft.com/Forums/en/winformssetup/thread/1997d0ae-4b67-4453-881d-7e176c372a67)
0xA3
@0xA3: thanks for the heads up! I have been using INSTALLDIR in WiX projects, too - but you're right: run of the mill MSI's don't seem to respond to that :-( But TARGETDIR= works like a charm!
marc_s
I also got corrected on the same mistake here on SO some time ago ;-)
0xA3
+2  A: 

If this is a Web setup, you can use the workaround described here. Otherwise you may specify the MSI property TARGETDIR on the command line:

msiexec /i setup.msi TARGETDIR="C:\TestLocation\"
0xA3