Digital Signatures and External Cabinet Files

Windows Installer can use digital signatures to detect corrupted resources. When installing an external resource, the signer certificate belonging to the resource may be verified against a reference signer certificate authored in the package. The installer cannot verify signatures for internal cabinets. It can only verify digital signatures by using the MsiDigitalSignature table and MsiDigitalCertificate table.

Windows Installer does the following when installing a file stored in an external cabinet:

  • The installer checks to see whether the media entry for that external cabinet is listed in the MsiDigitalSignature table. A file stored in an external cabinet is identified by having an entry in the Cabinet column of the Media table that is not prefixed by a '#' character.
  • Before opening the external cabinet, the installer calls WinVerifyTrust to extract the current certificate and hash information. If there is a mismatch between the current signature information on the cabinet and the signature information authored in the package, the installation fails. The installation fails because the cabinet may have been compromised and cannot be trusted.

For more information regarding the use of digital signatures, digital certificates, and WinVerifyTrust, see the Security section of the Microsoft Windows Software Development Kit (SDK).

For more information, see MsiGetFileSignatureInformation, MsiDigitalCertificate table, and MsiDigitalSignature table.