The MSI "compile" as you call it, generates a standard Windows Installer file. MSI stands for MicroSoft Installer. There is plenty of MSI documentation on the Microsoft website. (https://docs.microsoft.com/en-us/window ... ler-portal
This is not SAPIEN territory so to speak. We provide a tool to make simple MSI installers easy to generate. If you want the full depth of Windows Installer documentation
and how this works in detail, I would suggest to go to the source, which is Microsoft.
In order to help with issues like "Cannot run the a new msi version over top an already installed msi with or without the version incremented." we would need the underlying .psbuild file and an indication as what "Cannot run" means. I am assuming you get some kind of error message, but I wouldn't know from your post.
'Maintenance' is what is also referred to as 'Repair. Custom actions can be run on Install, Uninstall or Maintenance. Most of the terms used stem from the documentation of the WiX Toolset, which is the underlying mechanism for creating MSI files. There is excessive documentation here: https://wixtoolset.org/
I should point out that we only use and support a subset of the WiX Toolset in order to maintain a manageable simplicity.
I don't know what you mean by "configure msi switches". You start the MSI with any switches Windows Installer supports. https://docs.microsoft.com/en-us/window ... ds/msiexec
If you are asking if you can modify the current MSI's properties in a custom action that uses an external script or executable in another process, no, you cannot.
As for the -Action parameter error, your post simply does not have enough information to venture a guess. It appears that you are running an external script which is missing a parameter. Without the .psbuild file and the actual script in question it is impossible to understand what you are trying to do.