hello community!
I've done a vb.net application that do something interesting for my company, adds levels and attach rasters, noting complicated.
To develop, I did the Microstation installation with the 3 versions I had in my hands.
My app works fine while the computer have got the Microstation v8 installed. She's the only one that brings connectivity between Microstation and vb.net (.net framework).
Why? I believe I don't use nothing that belongs to the v8 specifically ...
I have need to deploy my app and I don't like to have to install the v8 to all pals...
When I run my app in a computer without v8, the error message (ex.message in my vb.net) is:
Interop.MicroStationDGN, Version=8.0.0.0, Culture=neutral, PublicKeyToken=null
I ask to the air if there are a way to register the v8i dll necessary to run a simple app. The microstation v8i have a lot of dll's but no one seems to work with Visual Studio 2005...
I'm crazy or what?!
regards!
thanks for your answer Mark, understood, but it's a bit uncomplete...
I would like to know why If a computer with Microstation v8i installed cannot run my little app...
Is hard to believe that I only can develop with (and for) Microstation v8...
To test it, I've uninstalled Microstation v8 (but v8i is still installed and working) and my VS2005 cannot recognize lines like the next ones:
Dim MV8 As New MicroStationDGN.Application Dim MicroFile As MicroStationDGN.DesignFile Dim mylevel As MicroStationDGN.Level
What I doing wrong?
It's a mistery for me... maybe because I'm a newbie coding for Microstation...
I'm sorry in advance :)
sugus: Is hard to believe that I only can develop with (and for) Microstation v8...
Your disbelief is misplaced. MicroStation V8i (v8.11) provides the same COM interface as MicroStation V8.5 (v8.05), with some added functionality.
sugus: To test it, I've uninstalled Microstation v8 (but v8i is still installed and working) and my VS2005 cannot recognize lines like the next ones: Dim MV8 As New MicroStationDGN.Application Dim MicroFile As MicroStationDGN.DesignFile Dim mylevel As MicroStationDGN.Level
Microsoft COM requires that an EXE or DLL is Registered (in the Windows Registry). Normally, an application registers its COM server during installation. It also unregisters its COM server when uninstalled. Since MicroStation V8i and MicroStation V8.5 register the same COM server, when you uninstall one version of MicroStation then the COM server is alos de-registered. Bentley can't do much about the register/unregister idiom: it's the way that Microsoft mandates that COM servers work.
The solution is to manually register the COM server that you want to be active. To understand this, you need to understand Microsoft COM, not MicroStation. Unsurprisingly, you are not the first to encounter this problem: a web search will find similar problems with other applications and ActiveX components. This Microsoft support page tells you how to use the manual method to register/unregister a COM server using RegSvr32.exe.
You can have multiple versions of MicroStation installed. To make a particular version's VBA COM server active or inactive, simply run RegSvr32.exe on ustation.dll. Note that registering one version's COM server will automatically unregister the previous COM server.
Regards, Jon Summers LA Solutions