I’ve just tried building a Visual Studio 2010 helper DLL on Windows 7 x64.
The build failed with “cannot open type library file vsmso.olb : No such file or directory”.
A quick search found them in c:\program files (x86)\microsoft shared\MSEnv. This is the folder for 32 bit applications (Visual Studio is a 32 bit application).
OK, so if the files are present on the machine why does the build fail for this line?
//The following #import imports VS Command Bars #import <vsmso.olb> raw_interfaces_only named_guids
The reason is the Visual Studio project include directories are setup for c:\program files\microsoft shared\MSEnv. You need to edit the properties for Debug and Release for each processor type (in my case Win32 and x64) and change the include directory (or add another include directory) c:\program files (x86)\microsoft shared\MSEnv then rebuild.
This is a potential non-obvious timewaster. Hope I’ve saved you some time.