I have D/L the sample code from the article. In first sample in \..\COMClassic directory, there is a ATL COM project called AirlineInformation and it generates AirlineInformation.tlb file. I am running everything on Windows 7 OS / Visual Studio 2008 and earlier on I got an error PRJxxxx which was related to insufficient rights. So I ran VS with admin privileges and got rid of that error. I was able to successfully build the project. However, it does not generate any tlb. I have a tlb that came with the source code download. So I removed the existing tlb from the current location and rebuild the project. Now it generated a tlb. But when I run tlbimp.exe to import the tlb file contents to a dll as metadata to expose it to .NET, some how it does not find it. I migrated the entire VS solution from VS 8 to VS 2008. I also checked the MIDL output directory in the properties for the project and it is ./debug. But the tlb is created only in top level folder with the solution and not in the \debug.
Why do I not get a new tlb in ./debug folder?
Why does tlbimp not recognize the tlb file?
How to run a program like tlbimp as an admin from command prompt if at all that is the problem?
Did the migration of the project that was developed in VC++6 to 2008 need any more fixes?
TlbImp : error T10000 : Unable to locate input type library: 'C:\Users\USER\Documents\Visual'
I dunt know what that means. I had no problems running tlbimp or any .NET tool on Windows XP or 2003. One thing to note here is...the path is not a complete path. Why is the error message showing incomplete path? The complete path to tlb is as under:
C:\Users\USER\Documents\Visual Studio 2008\Projects\COMInteropWithDOTNET\COMInteropWithDOTNETSource\ClassicCOM\AirlineInformation
Are spaces in Visual Studio 2008 directory name creating problem?
Let me know...