In brief: signcode.exe produces a valid downloadable CAB file when run
on one machine, but not when run on a different machine.
I am developing a signed Java applet for use with IE5.5. I use two
computers for development:
- desktop
- laptop
When I sign the CAB file on the desktop machine, it can be
successfully downloaded and executed in my HTML page, but when I sign
the CAB file on the laptop the applet will not load.
Here are all the facts that seem pertinent:
- My desktop machine is running NT4.0(SP4), and my laptop is running
Windows 2000 (SP1), although I use identical copies of
signcode.exe on both machines.
- The invokation of signcode.exe look like this:
signcode.exe -t "http://timestamp.verisign.com/scripts/timstamp.dll" \
-j javasign.dll \
-jp Low \
-spc Rational.spc \
-v Rational.pvk \
ccwebcl.cab
- On both machines I found that it is necessary to run this command
TWICE to get it to succeed. The first invokation fails with:
"Error: Signing Failed. Result = 8007000b, (-2147024885)"
The second succeeds with:
"Succeeded"
I invoke the tool twice in succession in a build-script in a
Makefile.
- Identical .class files are packed into the CAB (I copied them from
one machine to the other to make sure; I also tried recompiling
all Java code on both machines, to no avail).
- The output CAB file from signing is the same size on both
machines, although the contents appear to differ slightly. I don't
know enough about the internal structure to understand where they
differ.
- Both machines are connected to the Internet when signcode.exe is
invoked.
- Other colleagues don't appear to be having the same problem and
are able to sign and then download the CAB file successfully.
- The code download error log produced by IE when the CAB file
signed on my laptop fails to load contains the following, which
doesn't convey much to me:
>---------------------------------------------------------------------<
*** Code Download Log entry (28 Jan 2001 @ 09:00:32) ***
Code Download Error: (hr = 800300fd) An unexpected error occurred.
Operation failed. Detailed Information:
CodeBase: http://laptop/ccase/ccweb/applets/ccwebcl.cab
CLSID: CCWebClient
Extension:
Type:
LOG: Reporting Code Download Completion: (hr:800300fd (FAILED), CLASSID:
0..., szCODE:(http://laptop/ccase/ccweb/applets/ccwebcl.cab),
MainType:(null), MainExt:(null))
--- Detailed Error Log Follows ---
LOG: Download OnStopBinding called (hrStatus = 0 / hrResponseHdr = 0).
LOG: URL Download Complete: hrStatus:0, hrOSB:800300fd, hrResponseHdr:0,
URL:(http://laptop/ccase/ccweb/applets/ccwebcl.cab)
LOG: Reporting Code Download Completion: (hr:800300fd (FAILED), CLASSID:
0..., szCODE:(http://laptop/ccase/ccweb/applets/ccwebcl.cab),
MainType:(null), MainExt:(null))
>---------------------------------------------------------------------<
--
Kevin Esler <es...@rational.com>
Rational Software
It appears to be related with having the cab file to be signed in a
mapped drive.
Try copying it to a local drive, an try the signcode again.
Joao Pires
Altitude Software