Testing the installation of our ActiveX controls (used in I-Plan for rich-functionality — grid, graph and date/week/month picker), we noticed that in IE8 the controls display string “Control name is not available” instead of the publisher name. How does one solve such a problem?
Background
This came as a surprise, since our customer, Trading Science Ltd, is using security certificates (Microsoft Authenticode content signing certificates from Thawte) to ensure the validity of the ActiveX controls. What should happen is when the user installs the control for the first time, it is shown as signed (one less thing to worry about for the user), and a question is asked if they would like to trust that publisher to silently install controls in the future.
The ActiveX signing step is part of our automatic build process, so that every control version that we release is signed, without any reliance on manual actions. And that worked great, yet recent tests and closer inspection revealed that the publisher name, as stated above, is no longer available.
Symptoms
This is visible especially well in the Add-on manager of Internet Explorer 8, instead of a correct publisher name one can see message “Control name is not available”:
Project resources description
The description of the issue, as it seems to happen so often, is far from being actually descriptive. Yet the solution turned out to be simple — after some search, research and experiments, we noticed that the resource description file (it has the .RC extension) of the ActiveX control project has empty properties. In particular, the property “CompanyName” was not populated:
Put the publisher name into that field:
And the result is…
Publisher displayed, but “not verified”
This is better — in the IE8 add-on manager we can now see the publisher name displayed correctly. Almost:
What do we do with the unpleasant “Not verified” label in front of our publisher name?
Full solution
Again, the problem description is not clear — there is no need to actually “verify” the publisher name, everything is already verified and signed by an authoritative provider. What needs to be done is to make sure that not only the .cab file (cabinet containing the control) needs to be signed with the certificate, yet also the controls that it contains — all the .DLL and .OCX files. We used the same certificate that we already had to sign everything, and received the long awaited result:
Please let us know if you have any additional questions of comments.