Posted 18 April 2005 - 18:08
I am not sure about WHQL (never heard of it), but I do know Authenticode. You use Signcode.exe to apply the signature to the DLL/EXE/OCX. As a result, the file is changed somewhat, a large checksum and some extra info are added to that file. On such files, Windows Explorer shows a new property page called "Digital signatures".
The procedure is that you sign the file first, than included the signed file in the package. You should NOT include an unsigned file, and sign that file on the target system. In that situation, a hacker could change your MSI, replace the file by another one he created, as a result he will get a file signed by you. Another reason is that Authenticode certificates are only valid for one year.
Windows Installer has no need for support here, after all, it is just a different file.
Finally, you can use your signature to sign CAB files, and even the MSI itself. That makes sense, since your MSI package may contain Custom Actions contained in DLLs/EXEs in the Binary table.