File not found: VBA6.dll error occurs or GP crashes


Beth Gardner - Click for blog homepageThis is a reposting of an article Beth Gardner originally wrote on my Developing for Dynamics GP blog.

This is a follow up to my previous post on the VBA6.dll not found error (for 64-bit). I have found this can occur on 32-bit computers and Microsoft Dynamics GP 10.0 and GP 2010.

[Edit] Re-installing the VBA 6.4 core components (as used by Dynamics GP) has been shown to resolve this issue for VBA6.DLL, VBE.DLL, VBA7.DLL and VBE7.DLL errors.  Please download the necessary files from this link:

 

[Edit 2] If installing the VBA Components does not resolve the issue try the steps below to unregister the msvbvm60.dll file:

  1. Log in to Microsoft Dynamics GP as ‘sa’, go to the Customization Maintenance window and export everything into a package file.
  2. Log out of Dynamics GP and then in the Dynamics GP code directory, move all of the .VBA files out into a backup directory as well as any forms and report dictionary files, such as Forms.dic and Reports.dic.
  3. Un-register the ‘MSVBVM60.DLL file:
    • For a 64-bit Operating System: Go to Start > Run and enter in:
    regsvr32.exe c:windowssyswow64msvbvm60.dll /u
    • For a 32-bit Operating System: Go to Start > Run and enter in:
    regsvr32.exe c:windowssystem32msvbvm60.dll /u
  4. Log back into Dynamics GP again as ‘sa’, go back into the Customization Maintenance window and import the package file from step 1 back into Dynamics GP, this will re-create the VBA files and forms and report dictionary files.
  5. Try having users login again to Dynamics GP to see if the same VBA6.dll or VBA7.dll error shows.

 

Important: This post contains information about how to modify the registry. Make sure that you back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base (KB) Article:

I have found that the issue is because the 4.0 registry key is missing.  This is created with earlier versions of Microsoft Office and Microsoft Dynamics GP.

To resolve this error, you need to add the 4.0 registry key.

Here are the steps:

  1. Make a full backup of the system registry.
  2. Export all modifications to a .package file from Microsoft Dynamics GP under Tools | Customize | Customization Maintenance.
  3. Create a .reg file that contained the following in Notepad:Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOTTypeLib{000204EF-0000-0000-C000-000000000046}4.0]@=”Visual Basic For Applications”

    [HKEY_CLASSES_ROOTTypeLib{000204EF-0000-0000-C000-000000000046}4.09]

    [HKEY_CLASSES_ROOTTypeLib{000204EF-0000-0000-C000-000000000046}4.09win32]

    @=”C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6.DLL”

    [HKEY_CLASSES_ROOTTypeLib{000204EF-0000-0000-C000-000000000046}4.0FLAGS]

    @=”0″

    [HKEY_CLASSES_ROOTTypeLib{000204EF-0000-0000-C000-000000000046}4.0HELPDIR]

    @=”C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\”

  4. Next, double-clicked the .reg file, so it was added to the system registry.
  5. The HKEY_CLASSES_ROOTTypeLib{000204EF-0000-0000-C000-000000000046}4.1 key should point to the VBE7.dll file.
  6. Next delete the .vba files that were 4kb and renamed the .vba files that were over 4kb in the Microsoft Dynamics GP code folder.
  7. Start Microsoft Dynamics GP.  You should not receive any errors.
  8. Import the .package file.  Verify the code works and the error no longer occurs.

I have had a few customers state that they had to unregister the msvbvm60.dll.  But I did not run across that with the customers I have streamed in with.

Beth Gardner

Support Escalation Engineer
Microsoft Dynamics GP Developer Support

16-Nov-2010: Added link to previous article.

14-Mar-2011: Added link to VBA 6.4 core components (English only) which can be used to resolve this issue.

29-Oct-2012: Added some more terms for search: VBA.DLL, VBE.DLL, VBA6.DLL, VBE6.DLL, VBA7.DLL, VBE7.DLL.

05-Aug-2013: Updated fix information to clarify that Dynamics GP using VBA v6, even though the error might be for VBA v7.

09-Sep-2013: Added additional steps to unregister msvbvm60.dll if needed.

This article was originally posted on the Developing for Dynamics GP Blog and has been reposted on http://www.winthropdc.com/blog.

11 thoughts on “File not found: VBA6.dll error occurs or GP crashes

  1. Hi there, currently i also got same problem but the error messages only occured when i try to print on screen? (Base on my customer). Do i need to follow step above to solve my customer issue?

    Like

  2. When I read the article I thought that re-installing the vba 6.4 core components by itself would fix the problem. But I found out that in my case (Windows 7 32 bit) I had to re-install the vba 6.4 core components, delete the4k vba files and rename the larger ones and then import the package.

    Like

Please post feedback or comments

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.