Click to return to the Component Development home page    
Knowledge Base Articles     Overview    
Web Workshop  |  Component Development

Frequently Asked Questions


Printing this FAQ?

General Questions

ActiveX Controls
DHTML Scriptlets

Technical Questions

Will my ActiveX control work if built without using the apartment threading model?

ActiveX controls must use the apartment threading model to work correctly in Internet Explorer version 4.0 and later.

More information on apartment and other threading models can be found the in the Web Workshop: Building ActiveX Controls for Internet Explorer 4.0 and in the following Knowledge Base article: INFO: Descriptions and Workings of OLE Threading Models. Non-MSDN Online Link

How can I improve performance in my ActiveX control?

For better performance, make your control an apartment model control. Internet Explorer 4 uses multiple threads and may host the control in a secondary thread. If the control is not created as apartment model aware and marked as such, it is created and executed in the context of the calling application's primary thread, requiring calls on the control's methods to be marshaled between threads. This can cause a performance hit, which can be very prominent if there are many non-apartment model controls in an HTML page. To make a control apartment model, the control needs to be marked as such in the registry and has to be written so that it is apartment model safe.

More information on apartment model and other threading models can be found in the following Knowledge Base article: INFO: Descriptions and Workings of OLE Threading Models. Non-MSDN Online Link

In an ActiveX control, how can I detect that the user has clicked Internet Explorer’s STOP Button?

If your control implements IOleCommandTarget, it will get OLECMDID_STOP when the Stop button is clicked.

Please see the following Knowledge Base article: HOWTO: Detect IE's STOP Button Click in ActiveX Control. Non-MSDN Online Link

What is the secret to debugging a control embedded in an HTML page in Internet Explorer 4? Whenever I try to start a debug session with Internet Explorer version 4.0 and later in the Visual C++ debugger, I get kicked out of the debugger.

Debugging controls with Internet Explorer 4 is not as straightforward as debugging controls in Internet Explorer 3.x. The details on how to do this correctly are outlined in the following Knowledge Base article: HOWTO: Debugging ActiveX Controls in IE 4.0 Browser. Non-MSDN Online Link

Deployment

SignCode returns some errors that are numbers, but the descriptions are Cryptic or non-existent. What could these errors mean?

Following are lists of code signing errors and their meanings.

Using Internet Client SDK code signing tools with Internet Explorer 4.0

Error Code/Message Reason Solution
80028ca0
The certificate does not have the correct signing authority; signing failed
  • -$ commercial parameter used with an Individual Software Publisher certificate
Use -$ individual or do not use parameter (defaults to maximum authority for certificate)
80004005
Too many parameters; signcode failed
  • Too many parameters, such as extraneous quotes
Use correct parameters
80004005
Signcode failed
  • -x parameter used without -t parameter
Use correct parameters
80070001
Invalid timestamp http address; timestamping failed
  • Cannot connect to timestamp server through modem/proxy/firewall
Check Internet connection
80070006
Signing failed
  • Invalid parameter indicating file to be signed; can also occur if combined length of -n and -i parameters is too long
Check length of command line and use correct path for file to be signed
8007000d
Connection timed out, or invalid response from the timestamp server; timestamping failed
  • Invalid timestamp URL
Use valid timestamp server URL
80070057
Signcode failed
  • Command line parameters missing
  • Group 3 -c, -s, -cn, -r and/or -p parameter(s) used with one or more group 2 parameters such as -spc and -v
  • -r parameter used w/no certificate store
  • -sp parameter used w/no certificate store
Use correct parameter(s)
80070057
Files signed by previous version of the signing tool may need to be resigned; timestamping failed
  • -x parameter used with a previously unsigned file
Sign file before or at the same time as timestamping
8007007f
Signcode failed
  • Invalid DLL in -j parameter
Use valid DLL in -j parameter
80070485
Signing failed
  • Imagehlp.dll not present on path
Place imagehlp.dll in System (Windows 95) or System32 (Windows NT) directory
80090016
Unable to sign the program
  • Incorrect version of SignCode.exe (4.70.1140)
Obtain and use a current version of SignCode.exe
80092006
Unable to open a CSP provider with the correct private key
  • Private key (.pvk file) not found
  • Private key (.pvk file) corrupt
Obtain and use a valid private key (.pvk file)
80092006
Unable to open a CSP provider with the correct private key
  • -ky Exchange or -ky n (where n is an integer)
  • Invalid -p parameter
  • Invalid -y parameter
Use correct parameter
80092009
The software publishing certificate and private key do not match or do not contain valid information
  • Software publishing certificate (.spc file) corrupt
Obtain and use a valid software publishing certificate (.spc file)
8009200c
There is no valid certificate in the [store name] cert store; signcode failed
  • invalid -s parameter
Use correct parameter
8009200c
There is no valid certificate in the my cert store; signcode failed
  • Invalid -c parameter
  • Invalid -cn parameter
Use correct parameter
800b0003
  • Signing 16-bit PE (.ocx, .exe. or .dll)
  • Signing a corrupt 32-bit .exe
Sign a valid 32-bit PE (.ocx, .exe or .dll)
800b010a
Failed to build the certificate chain as requested; signing failed
  • Software Publisher Certificate (.spc file) not found
Obtain and use a valid Software Publisher Certificate (.spc file)

Using ActiveX SDK code signing tools with Internet Explorer 4.0

Error Code/Message Reason Solution
800b0003
Signing failed
  • Signing code using ActiveX SDK code signing tools on a machine running Internet Explorer 4.0
Use Internet Client SDK code signing tools to sign code on a machine running Internet Explorer 4.0

Using ActiveX SDK code signing tools with Internet Explorer 3.02

Error Code/Message Reason Solution
Warning: This file is signed, but not timestamped
  • Timestamp parameter not used
Timestamp code using timestamp parameter
00000078
Signing failed
  • Signing non-PE file (for example, text file or word processing document)
Encapsulate text file or document in a cabinet (.cab) file and sign cabinet
8000ffff
Signing failed
  • -commercial parameter used with and Individual Software Publisher Certificate
Use -individual or do not use parameter (defaults to maximum authority for certificate)
80070002
Signing failed
  • Software Publisher Certificate (.spc file) not found
Obtain and use a valid Software Publisher Certificate (.spc file)
80070006
One or more input parameters are invalid; signing failed
  • Invalid parameter indicating file to be signed; can also occur if combined length of -n and -i parameters is too long
Check length of command line and use correct path for file to be signed
8007000d
Invalid response from the timestamp server; timestamping failed
  • Invalid timestamp URL
Use valid timestamp server URL
80070057
Signing failed
  • Private key (.pvk file) not found
Obtain and use a valid private key (.pvk file)
80070057
Files signed by previous version of the signing tool may need to be resigned; timestamping failed
  • -timestamper parameter used with a previously unsigned file
Sign file before or at the same time as timestamping
80090016
Unable to sign the program
  • Incorrect version of SignCode.exe (4.70.1140)
Obtain and use a current version of SignCode.exe
80093005
Signing failed
  • Corrupt Software Publisher Certificate (.spc file)
Obtain and use a valid Software Publisher Certificate (.spc file)
8009300a
Signing failed
  • Signing 16-bit code
Sign 32-bit code

Using ActiveX SDK ChkTrust tool with Internet Explorer 3.02

Error Code/Message Reason Solution
800b0004
The subject is not trusted for the specified action.
  • User clicked No button on ChkTrust dialog box
Error is expected when clicking No button in ChkTrust dialog box; click Yes button to view success results
Certificate signature could not be verified using issuer's certificate.
  • Private key (.pvk file) corrupt
Obtain and use valid private key (.pvk file )
The component appears to have been digitally signed by its publisher, but the signature cannot be verified. Do you wish to continue? Details: Signature does not contain a valid signing certificate.
  • -nocert parameter used
Do not use -nocert parameter
The root certificate has not been enabled as a trusted root.
  • Test certificate handling not enabled
Run SetReg utility to enable test certificate handling:
setreg 1 true
Signature does not contain a valid signer.
  • Private key (.pvk file) corrupt
Obtain and use valid private key (.pvk file )
Software does not match contents of signature.
  • File modified after signing
Re-sign file
Warning: The authenticity of this software cannot be verified; therefore, this software cannot be trusted. Problem listed below: The signature does not match the content of the signed message. Are you sure that you want to install and run <URL path for signed file> signed on an unknown date/time and distributed by: Unknown Publisher?
  • Rsabase.dll not registered correctly
In System/System32 directory run:
regsvr32 Rsabase.dll


 
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.

 


Back to topBack to top

© 1999 Microsoft Corporation. All rights reserved. Terms of use.