Companion File in MSI
Companion file is quite interesting in MSI. This concept is completely related and dependent on file versioning rules.
One file (Companion File) is dependent for its file versioning rules on other file(Companion parent) file.
Read the below example for your understanding. Consider the two column names in File table of MSI.
FileA 188.8.131.52 – Companion Parent
FileB FileA – Companion File
Now If we think about the FileA,It will install based on the file version rules applied for this file. If lower version FileA is already present on the system, It will overwrite the with FileA with MSI file versioning rules. If higher version of FileA is present on system, FileA will not be installed as already higher to tversion is present on the system.
Now if we think about FileB, It will depend in the FileA installation. If FileA installs on to the system, then FileB installs. If FileA doesn’t installs FileB also doesn’t installs. So, FileB is completely dependent on FileA for the file versioning rules.