Archive: Installing a signed catalog file?


Installing a signed catalog file?
I have a software-only kernel-mode driver. NSIS can install it just fine by writing the .sys and .exe (on-demand service loaded by the .sys) into $SYSDIR and then running SimpleSC::InstallService and SimpleSC::SetServiceDescription for each. I don't even need an INF file. Awesome!

BUT, unfortunately, on vista64 the driver must be signed. An embedded signature in the .sys and .exe files is not enough: a signed catalog file must be installed too.

Can NSIS install such a catalog file without having to create an entire DPInst driver package or something heavyweight like that?

Since NSIS can install the thing on XP32, XP64, and Vista32, I'm really hoping that I'm not going to have to adopt an entirely different installation strategy to support Vista64.

Any input would be appreciated! Thanks!


A quick MSDN search shows it should be nothing more than a one API call - CryptCATAdminAddCatalog.

http://msdn.microsoft.com/en-us/library/aa906306.aspx

If you do end up implementing this in System plug-in code, please consider creating a wiki page for other users that might wish to do the same.