I ran into a bit of nastiness today when re-compiling Help Builder on this Vista configuration. Help Builder is a FoxPro application and it implements a fair number of COM interfaces from the system including this one:

 

DEFINE CLASS wwHelp20CompilerMessages AS session OLEPUBLIC

   IMPLEMENTS IHxCompError IN HxComp.HxComp

 

for the Html Help 2.0 compiler. Problem is on this machine the Html Help 2.0 Help Compiler is not installed, so HxComp.HxComp is not a Com object on this machine and the compile fails. Actually the compile works just fine, but the type library generation for the app fails due to the missing interface registration on the machine.

 

The Visual FoxPro Type Lib registration balks at that and refuses to build the type library for the EXE. This is interesting because I’ve since installed a new machine on a couple of occasions without actually installing the Html Help 2.0 SDK on my machine (note: this is very different from the Html Help 1.3 SDK/Workshop). My recent XP install had no issues with this even though I didn’t install the SDK ever. So something is different here on this Vista install of both VS2003 and 2005 that seems to be there with XP.

 

Nevertheless, this is a problem <g>. Note that this is a problem only for building the type library and getting the COM object registered. Once I’ve compiled the EXE here with the interface available the EXE and COM interfaces work just fine even if the Html Help 2.0 compiler is installed.

 

All this makes sense – VFP needs the type lib information in order to build the Typelibrary to the ClassIds to build. But this makes it no less frustrating. And it’s something that I have never really given much thought. Implementing a specific interface ties at least your build machine to those interfaces and they must be present in order for that code to compile.

 

In this case of a rather obscure SDK (used to be the VS Help Integration Kit – VSHIK) which has now become part of the whole Visual Studio SDK. This whole thing is one big claustrofuck – 185 megs of download and you have to sign up as VSIP partner. Yeah, let’s make this as difficult as possible… Worse the Web site asks for a login for sign up information – I did this before but of course it was for the same reason to get the SDK some time ago. But there’s no option to recover a password, so I got to go through the whole thing again <sigh>. And best of all it makes me sign up and doesn’t offer to give me any login information <g>. It’s so funny how fucked so many of the Microsoft related sites are every one different and most of them completely dysfunctional.

 

Incidentally the VSHIK for VS 2003 is still available as a plain download, so maybe this would have been the easier thing to do. Smaller download