This one’s quite baffling. The scenario is this:
1. I have my VBA Customizations on a 64 Bit Live Environment.
2. I wanted to setup a Dev Environment so that I can work on Enhancements and Additions. The Dev Environment is nothing but my laptop and it’s quite obviously 32 Bit.
3. I had DBs restored from Live and GP installed with necessary addons on my laptop.
4. Imported Modifier/VBA Customizations from Live to my laptop. There we go with an error message, which I am yet to solve:
And it took me to the VBA Editor. Since it said “VBA6.DLL is not found”, I wanted to check whether all References are proper. And below is what I found:
See the highlighted path and filename. It’s completely different from what it has to be “VBA6.DLL”.
Excellent and a pat on my back. Now why this is happening. I found the reason when I cross checked Live Environment VBA References:
Alright, the issue is this:
1. On a 64 Bit Server, GP and VBA Files are installed on Program Files (x86) folder.
2. Whereas on a 32 Bit machine, GP and VBA Files are installed directly on Program Files folder.
That’s the difference. Once you import and start GP it does work for the first time. Once you close GP and reopen it, it refers to (x86) folder. Since it’s not found, it starts throwing this message.
The sad parts: Firstly, I won’t be able to change the path back to Program Files folder manually by clicking on BROWSE in the References window. Secondly, I won’t be able to remove the reference by unselecting it and then reattach the VBA6.DLL reference. It will always throw me an error message like this:
I am in a fix now. We may have some other ways to handle this. I am working on that. There may be a followup post which will explain the methods that can be used to fix this issue.
Meanwhile, if anyone has faced this issue, do share your ideas and how you fixed it. It would save me some time.
UPDATE – 1: The reason explained above is substantiated, when I did another test. I imported 64 Bit Server VBA Customizations onto another 64 Bit Environment, it works. I imported a 32 Bit Server VBA Customization onto another 32 Bit Environment, and it works.
UPDATE – 2: The reason that I had explained in this article, is only partial. There are more to this issue. My next article explains the solution and also contains a link to Dynamics GP Partner Forum post, which led to a fix. Read it here: Solution to “File Not Found: VZBA6.DLL” Error Message.