is there a way to install more than one .msi and .exe file parallelly using PowerShell. let's say we have all the installers in one directory
I found a script to install all the files sequentially. Install all the files from a given folder with Powershell
CodePudding user response:
Previous Answer: Two MSI files can not run concurrently, the reason is explained in this short, old answer on serverfault.
Essence: In essence MSI installers run as a transaction and hence set a mutex to "lock" the system while it finishes installing. This is primarily in the interest of supporting rollback - which means you bring the system back to the original state if the installation fails for some reason. The lock also helps to ensure general reliability by facilitating proper debuggability and logging of failed installs and prevention of deadlocks and duplicate overwrites, etc...
Things you should know:
While the mutex lock is set, other MSI files can be launched to the GUI section, but they can not be kicked off to do the actual installation (system update). You will get an error message if you do so.
Note that legacy style installers (exe files) do not heed this lock and can be run while MSI files are running, but you should not do so. Run installers in sequence and check for errors for each one. The improved I/O of modern computers means installers run very quickly, just do them in sequence. There are some speed-tweeks for MSI installers.
Links: