views:

509

answers:

1

I've done some looking through the site and on the Internet trying to find a solution to a problem with a VB.NET application I'm attempting to create. Unfortunately, I'm stumped by an error message that has prevented me from moving forward with any Inventor customizations.

Tools: Visual Studio 2005 sp1, Inventor 11 Stand Alone install
OS: Windows Vista 64 sp1

I installed the developer tools under the SDK folder. I then added a reference in my VB.NET project in COM to the component named: AutoDesk Inventor Object Library. It appears under references for my project as:

Reference Name: Autodesk Inventor Object Library
Type: COM
Version: 1.0.0.0
Copy Local: True
Path: C:\Users\rschmalt\Visual Studio 2005\Projects\
        InvTest\InvTest\obj\Debug\Interop.Inventor.dll

My code is as follows:

'Opens Inventor Apprentice session to read part numbers

Dim oApprentice As New Inventor.ApprenticeServerComponent
Dim asmDoc As Inventor.ApprenticeServerDocument
Dim refDoc As Inventor.ApprenticeServerDocument

asmDoc = oApprentice.Open(strIAMLocation)

For Each refDoc In asmDoc.ReferencedDocuments
  MessageBox.Show(refDoc.FullFileName.ToString)
Next

When I execute it, I get the following message:

Retrieving the COM class factory for component with CLSID {C343ED84-A129-11D3-B799-0060B0F159EF} failed due to the following error: 80040154

I have tried browsing directly to the DLL (Interop.Inventor.dll) and it then shows up as a .NET type in references, but the error remains the same.

Is it possible there is a conflict between vista 64 (Inventor 11 is 32bit)? Any suggestions?

A: 

Check these out

http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/88a6ea68-f476-4231-822f-27fabe59f458

http://social.msdn.microsoft.com/Forums/en-US/sqlsmoanddmo/thread/b20d3e7d-0577-44a5-8cc3-bbc4ecb62fd7

Aaron M
Interestingly enough, I looked through that and was pursuing the "corflags" option. That didn't work or at least, I could not get it to work (by targetting the DLL). However, I went into the project options, compile, Advanced Compile Options, Target CPU and set it to x86 - the code now works! However, does that create an issue for me long term for my x64 clients?
Mr Furious