How to sign your .cab files
(see highlighted section below for the specifics of creating a Test certificate)
· Generate a .cab (using Cab SDK): https://support.microsoft.com/kb/310618
o Simple command line approach:
§ make sure desired mshc file exists (copy to) in same folder as makecab.exe (simplified command line for this example)
§ cd into directory where makecab.exe lives, example: C:\cabsdk\BIN
§ issue command line: makecab.exe <mshc file name> <desired cab file name>
· Sign a .cab (using locally generated certificate - only used for local signed cab testing):
o For local testing, create your own certificate from your local machine (requires the tool to create the certificate to be installed as part of Windows SDK):
§ https://msdn.microsoft.com/en-us/windows/bb980924.aspx
§ Install Windows SDK
o Create local certificate:
§ Makecert.exe -sk myNewKey -r -n "cn=Test Sign Cert,ou=certificates,O=Tst" -ss my myNew.cer
§ certutil.exe -f -addstore personal myNew.cer
o Sign the .cab:
§ Signtool.exe sign /i "<whatever your cert name is, the "cn=" name in above line>" <content name>.cab
· Signing with a certificate obtained from Certificate Authority:
o https://msdn.microsoft.com/en-us/library/aa387764(VS.85).aspx
o Make sure you have a cert to use for the signing and the private key
o At a command prompt, cd into directory where signtool.exe lives
o signtool.exe signwizard
o In the signwizard UI:
§ Select cab file
§ Select custom option - this will enable you to select your cert
Comments
Anonymous
December 01, 2010
Hi, I tried putting .msgc and .msha files in a cab file, signed it and deployed it using install shield. Then i tried to run the below command from command prompt: HelpLibraryManagerLauncher.exe /product "VS" /version "100" /locale en-us /brandingPackage MESFoundationClassReference.mshc /sourceMedia MESFoundationClassReference.msha /silent It doesnt work. It ways executed succesfully in command prompt. Please help me in identifying the issue with this command or any step I miss.Anonymous
December 02, 2010
Hello Sooraj - Only the .mshc file should go in the .cab. The .msha file should remain a separate file. Additionally, it is required that the .msha file specifically be named "HelpContentSetup.msha" - no other file name will be recognized. Then your HelpLibManager parameters should look like: HelpLibManager.exe /product VS /version 100 /locale en-us /sourceMedia <path to .msha>helpcontentsetup.msha /silent The .msha file will specifiy the name of your .cab file - the name of the .cab file should also match the name of the .mshc file inside it.Anonymous
January 07, 2013
Excuese me plz any one tell mi how to use cabinet file in IBS s/w using normal code or web based code