Automation Error The System Cannot Find The File Specified Regasm
Contents |
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn ms access automation error. the system cannot find the file specified more about Stack Overflow the company Business Learn more about hiring developers or posting regasm codebase ads with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community
Automation Error In Vba
Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up COM registration fails: “Automation error: the system cannot find the
Regasm Tlb
file specified”, when installing dll into other folder than the tlb file up vote 3 down vote favorite We have a COM component (let's call it MyLib) developed in VB.NET, for our Access application (let's call it MyApp) to use. In order to do that, we need to do COM registration using the generated MyLib.dll and MyLib.tlb files. When I am installing both files into our MyApp's folder, everything regasm unregister is working fine, the COM function is invoked correctly. However, I am having an error mentioned in the title when I am installing the dll into a common folder - the reason I am doing it is because we want to allow different versions of MyApp to be installed on the same machine. So if the COM component doesn't change, we of course want to share it among these different versions and let Windows do the reference count. I am not sure where I should put the MyLib.tlb file, either in MyApp's installation folder, or the same common folder as MyLib.dll. But anyway, I tried both locations, and they all gave the same error. I tried to compare the registry files between the case when I put MyLib.* into MyApp's folder, and the case when I put MyLib.dll into common folder. I can't see any difference except of course the CodeBase of the Class I am trying to register under HKCR\Wow6432nodes\CLSID{MYCLSID}\InprocServer32. Another thing I don't understand is there is no sub-key named TypeLib under HKCR\Wow6432nodes\CLSID{MYCLSID} in both cases, which in my understanding is the way to link the TypeLib to the dll (but why is is still working when I put tlb a
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack Overflow
Run Time Error '-2147024894'
the company Business Learn more about hiring developers or posting ads with us Stack dependency walker Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up Using .net dll in vb6 dll up vote 3 down vote favorite 1 I wrote a dll http://stackoverflow.com/questions/11673878/com-registration-fails-automation-error-the-system-cannot-find-the-file-speci in vb.net that calls a web service, consumes the data returned then passes results back to the calling program. I originally wrote in in VS 2008, on windows 7 (x64). Tested it in a vb 6 program also written on windows 7 and everything worked. The vb6 program got the data and I could move on. The real world for me though is to use this dll inside another dll written in http://stackoverflow.com/questions/5395803/using-net-dll-in-vb6-dll vb 6. I get the error "ActiveX component can't create object" when I get to the code Dim myWebService as webService.ComClass1
Set myWebService = New webService.ComClass1 I've recompiled my code on windowsXP (x86) and recopied over the .dll and .tbl. When I try to register the dll I get an error: 'DllRegisterServer entry point was not found'. The .tbl seems to register fine in VB as far as adding a reference to it and the intellesense works too. Does anyone have any ideas what I need to do to get this working? .net dll vb6 activex share|improve this question asked Mar 22 '11 at 18:06 spuppett 154517 add a comment| 2 Answers 2 active oldest votes up vote 4 down vote accepted You don't register .NET assemblies with Regsvr32.exe. You have to use Regasm.exe, you'll find the tool in the framework directory. Use the /codebase option if you don't put the assembly in the GAC. You shouldn't on a dev machine. This worked okay before probably because you let Visual Studio do it for you. share|improve this answer answered Mar 22 '11 at 19:02 Hans Passant 652k809511598 I tried using the /codebase option, but I got an error saying it's not signed. How do I do that? Also, I now