How to install .MSI using PowerShell
When trying to silently install an MSI via PowerShell using this command:
Start-Process $webDeployInstallerFilePath -ArgumentList '/quiet' -Wait
I was getting the error:
The specified executable is not a valid application for this OS platform.
I instead switched to using msiexec.exe
to execute the MSI with this command, and it worked as expected:
$arguments = "/i `"$webDeployInstallerFilePath`" /quiet"Start-Process msiexec.exe -ArgumentList $arguments -Wait
Hopefully others find this useful.
Why get so fancy about it? Just invoke the .msi file:
& <path>\filename.msi
or
Start-Process <path>\filename.msi
Edit: Full list of Start-Process parameters
You can use:
msiexec /i "c:\package.msi"
You can also add some more optional parameters. There are common msi parameters and parameters which are specific for your installer. For common parameters just call msiexec