Jump to navigation

Poupou's Corner of the Web

Looking for perfect security? Try a wireless brick.
Otherwise you may find some unperfect stuff here...

Weblog

Strong results ?

I must admit that didn't do very exhaustive testing on the strongname stuff - maybe because it didn't seem fun enough. Then I got the idea to write a tool to check all assemblies in my GAC - which has two versions of the framework installed. That looked more fun :-) so here are my results for running a strongname verification on my computer's GAC.

> scangac c:\windows\assembly

Good: 144
Bad: 62
Exception: 12

So for a total of 218 assemblies I get 66 % good, 28% bad and exceptions for the last 6 %. This was disappointing :-(. Normally I try to hit at least 80% before releasing something like this.

I started looking at the assemblies that produced exceptions - it seemed easier as there was only 12 of them ;-). 9 out of the 12 are NullReferenceException in my code, while the last 3 comes from the MS framework when I tried to load the AssemblyName.

  • System.EnterpriseServices.Thunk.dll
  • System.EnterpriseServices.Wrapper.dll (2 times at different locations)

I tried to run Microsoft's sn tools on the three assemblies and was told, each time, that the "assembly does not represent a strongly named assembly". Seems I can add 3 to my conformance total :-).

Next came the bad assemblies. I wasn't about to run 62 times sn, again not fun, so I modified my tool to generate a script using all bad assemblies. The resulting log was surprising... there was 42 bad (as in non strongnamed) assemblies in my GAC - all of them NativeImages! That's something I need to investigate further... but this also means that we give the same results for 42 more assembles :-).

So the official statistics for comparison should be:

Good: 167
Bad: 42
Exception: 9

Meaning that we're off by 23 assemblies - just under 11%. Still got work todo, but much better to my ego :-)


11/4/2003 20:42:53 | Comments

The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of my employer.