MSI Problems
Two tables introduced with MSI technology have been turned away from by the packaging community. These tables are the Self Registration tables and LockPermission table.
LockPermission table
The LockPermission table replaces permissions on the File System or Registry of the target machine. The failing of this table is that it does not consider what permissions already existed and strips everything before placing its own permissions on the workstation.
Windows Logo Certification guidelines tell developers how modern applications should be written and which folders should be used for storing data. As we are often repackaging old applications that don’t conform to these standards, we are often forced to change the default permissions that occur with the installation of an application.
All permissions changes need to be replicated with a utility in the binary table such as SubiNacl. Permissions should only be increased where absolutely necessary.
Self Registration table
Self-registration is a script based way to ensure that COM details are registered files that are installed. It does not support any form of healing and causes compatibility issues when used with other applications.
COM registration should be extracted through using a tool such as WiseComCapture.exe and imported into appropriate components within the MSI.
Self Registration Custom Actions
Self Registration is also sometimes achieved through Custom Actions and the commands regsvr32 or msiexec /x or msiexec /y. These have the same effect as using the self registration table and also should be replaced.
Remember that all changes to a Vendor supplied MSI are to be enacted through the use of Transforms and not by directly editing the MSI!
Typelib table
Most packagers are surprised to learn that the Typelib table is script based in the same way the SelfReg table is. Ideally, it shouldn’t be used either. Because Typlib is not normally important for applications, removing typelib entries is often left as an inconsequential issue.
- Log in to post comments