While cleaning up some old files I found a project that compares file manifests between MSIs. At the time we needed the ability to quickly determine if the files contained in a set of new MSIs contained at least the same set of files that was generated using a previous build process. While there are other tools that can compare MSIs, this code is lightweight and command-line scriptable.
When compiled this tool accepts 2 input arguments:
Arg 1: Original or Reference MSI
Arg 2: New MSI you want to check
The idea is that you are checking to see if the 'new' MSI is missing any files present in the 'old' one. For the use case that I was targeting, it did not matter if there were EXTRA files in the new MSI- it was just important that we were not missing any of the files present in the previous version.
This tool could be expanded to check if the files are the same (hash) and potentially do other checks- I just never had cause to any further than this simple check. If you need more insight into your MSIs, you could use a tool like SuperOrca.