Automation Error The System Cannot Find The File Specified Vba
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 more about Stack Overflow the company Business Learn more about hiring developers or posting ads with automation error the system cannot find the file specified tlb us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack
Ms Access Automation Error. The System Cannot Find The File Specified
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
Regasm Codebase
COM registration fails: “Automation error: the system cannot find the 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
Automation Error In Vba
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 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 regasm tlb 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 and dll into the same folder?) since in MyApp it only knows that there is a reference we add by reference of MyLib.tlb. I don't understand exactly how COM reference works for Access application, so if I am wrong please correct me. Can anybody tell me what I did wrong? What is the correct way to register a shared COM dll (whether put both dll and tlb into shared folder or not)? Thanks! UPDATE: Regarding the COM registration, I am using WIX to create a Windows installer and heat.exe to harvest the information
SQL Server 2014 Express resources Windows Server 2012 resources Programs MSDN subscriptions Overview Benefits Administrators Students Microsoft Imagine Microsoft Student Partners ISV Startups TechRewards Events Community Magazine Forums Blogs Channel 9 Documentation APIs and reference Dev centers Retired content Samples We’re sorry. The content you requested has been removed. regasm unregister You’ll be auto redirected in 1 second. Ask a question Quick access Forums home Browse run time error '-2147024894' forums users FAQ Search related threads Remove From My Forums Answered by: error -2147024894 (80070002) Automation Error Archived Forums V > Visual Basic Interop dependency walker and Upgrade Question 0 Sign in to vote hi guys, this too is in relation to this thread.i'm having problems running the vb6 app, and the error occurs when i make the form show. i've followed the instructions http://stackoverflow.com/questions/11673878/com-registration-fails-automation-error-the-system-cannot-find-the-file-speci from the help file and still the problem arises everytime.here's another weird thing, when i added the interop form to an existing vb6 application, it was ok when run inside the ide. when i compiled this to an .exe file, the error happened. i also tried creating fresh vb6 app and it worked, so any ideas on this issue? thanks.dave. Wednesday, August 29, 2007 3:09 AM Answers 0 Sign in to vote Hi Dave, When you https://social.msdn.microsoft.com/Forums/en-US/7c5c16d7-4029-4b6f-9a29-55a1c27718b5/error-2147024894-80070002-automation-error?forum=vbinterop ran it as an .exe file did you have your .NET Dll in the same directory? On a target machine you need to run regasm (with /codebase if you want a relative path). If you have a dependency on stdole.dll, do you have that in the GAC? (If you don't have it referenced in your .NET project then don't worry about this one). Hope that helps, let me know if you're still having issues with it. Jonathan Friday, August 31, 2007 9:33 PM Moderator All replies 0 Sign in to vote Hi Dave, When you ran it as an .exe file did you have your .NET Dll in the same directory? On a target machine you need to run regasm (with /codebase if you want a relative path). If you have a dependency on stdole.dll, do you have that in the GAC? (If you don't have it referenced in your .NET project then don't worry about this one). Hope that helps, let me know if you're still having issues with it. Jonathan Friday, August 31, 2007 9:33 PM Moderator 0 Sign in to vote hi jonathan, i had a fun time trying to figure out the problem, and yes i even tried your solution before. something must've been wrong with either my vs2005 or vb6 installations, because at one last desperation attempt, i reinstalled everyin