If you want to install a bunch of MSI files you put them in a folder and install them with a batch file. There is a downsize: you must modify the batch file for each situation. With this PowerShell script you can install all the MSI files in the folder, including applying transform and patch files. You can add your own properties in a csv settings file.

There are some parameters: 

  • Install:
    Use this swith to specify an installation.

  • Uninstall:
    Use this swith to specify an uninstall.

  • MSIPath:
    Specify the location where the MSI files are located.

  • Loglocation:
    Specify the logfile location. The default log location is C:\Windows\system32\LogFiles.

  • Silent
    Silent parameter, like /qb! or /qn.

You can also use SCCM to install all the MSI files in the folder. Create an application with one deployment type. You can add all the product codes from each MSI file to identify a successful installation.

The Install line is:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -file "install_all_msi (v12).ps1"

The Uninstall line is:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -file "install_all_msi (v12).ps1" -Uninstall

All the files that will be installed.

The transform file for 7Zip has been altered.

Default settings, applied to all installations. 

An additional property in the settings file.

The application in SCCM 2012.

The deployment.

The detection rule.

The application is ready to be installed.

And the application can be uninstalled.

A demonstration of this script can be found on my YouTube channel: the script and AppV Repository or view it below: