Sometimes things do not behave the way you expect them to do. That is just how it is. So, what can you do about that?
Here are some hints that may help you troubleshoot installations made by Windows Installer using MSI packages.
Install MSI With Logging Enabled
When you use msiexec.exe to install an MSI package from the command line, you can tell it to log the actions taken during the installation. This can be extremely valuable in debugging why an MSI does not behave the way we want it to. Logging is enabled by using the command line switch /l (letter L).
Here is an example:
msiexec.exe /i mypackage /l* mylog.txt
There are different levels of logging. Using /l* will log everything. You can run msiexec.exe without parameters to show a list of available command line switches.
Enable Permanent Logging
It can be useful to enable logging of MSI activity if you are troubleshooting installation of Group Policy Objects (GPO). Microsoft has an article that explains how to enable and disable Windows Installer logging. It also explains how to find the logs after they are created.
Keep Temporary Files
During the installation, the wrapped files are extracted to a temporary folder. These files and other temporary files created by the MSI Wrapper are removed after the installation is done.
Sometimes it is useful to inspect these temporary files when debugging a wrapped installation process. You can tell the MSI wrapper to leave these files in the temporary folder. This is done by adding a value in the registry.
Create the following REG_SZ value
Under this key: