Microsoft KB Archive/177178

From BetaArchive Wiki

Article ID: 177178

Article Last Modified on 6/14/2006



APPLIES TO

  • Microsoft Software Development Kit for Java 1.0
  • Microsoft Software Development Kit for Java 1.5
  • Microsoft Software Development Kit for Java 1.51
  • Microsoft Software Development Kit for Java 2.02
  • Microsoft Software Development Kit for Java 3.0
  • Microsoft Software Development Kit for Java 3.1
  • Microsoft Software Development Kit for Java 3.2



This article was previously published under Q177178

SYMPTOMS

When you run Signcode.exe on your CAB file, one or more of the following errors occur:

  • Unable to sign the program <cabfile>. (80004005)
  • Unable to sign the program <cabfile>. (80030070)
  • Unable to sign the program <cabfile>. (80070005)
  • Unable to sign the program <cabfile>. (80070057)


CAUSE

Signcode.exe could not sign the CAB file for the reason indicated by the error number. The CAB file may not have been created with -s 6144 parameter or it is either read-only or corrupt.

RESOLUTION

Unable to sign the program <cabfile>. (80004005)

This error appears because you did not reserve space in your CAB file. Re- create the CAB file using the -s 6144 option to Cabarc.exe. This space must be reserved in the CAB file to allow room for the digital signature. It is not necessary to use the -s switch with the signing tools included with the SDK for Java 2.0x or newer. The Signcode.exe utility now creates the necessary space for the certificate at the time the CAB is signed.

Unable to sign the program <cabfile>. (80030070)

This error occurs because you did not reserve enough space in your CAB file. Re-create the CAB file using the -s 6144 option to Cabarc.exe. It is not necessary to use the -s switch with the signing tools included with the SDK for Java 2.0x or newer. The Signcode.exe utility now creates the necessary space for the certificate at the time the CAB is signed.

Unable to sign the program <cabfile>. (80070005)

This error appears because your cabfile is marked read-only.

Unable to sign the program <cabfile>. (80070057)

This error occurs because your cabfile is corrupt.

STATUS

This behavior is by design.

MORE INFORMATION

To use the -s option for Cabarc.exe, the -s 6144 option reserves unnecessary space in most situations. With the "test" certificate, you can typically get by with 1K of reserved space in the cab. A good estimate of the space required is slightly larger than the size of the .spc file you are signing with. Also note, it is possible that the certificate will require more than 6144 bytes.

Example

C:>CABARC -s 6144 N mycab *.class

NOTE: It is not necessary to use the -s switch with the signing tools included with the SDK for Java 2.0x or newer. The Signcode.exe utility now creates the necessary space for the certificate at the time the CAB is signed.

REFERENCES

For additional information on making your Java Code trusted in Microsoft Internet Explorer, please refer to the following Knowledge Base article:

193877 HOWTO: Making your Java Code Trusted in Internet Explorer


For additional information on Frequently Asked Questions about CAB files, please refer to the following Knowledge Base article:

168941 INFO: Frequently Asked Questions About CAB Files


For support information about Visual J++ and the SDK for Java, visit the following Microsoft Web site:


Additional query words: CABARC, Cab and Sign technology, internet

Keywords: kberrmsg kbprb kbfaq KB177178