Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

thread184-1767454 Have an issue wi

Status
Not open for further replies.

RWilkes

Programmer
Dec 30, 2004
4
US
thread184-1767454
Have an issue with Invalid VFP9r.dll message on a Win 11 64 bit CPU.
My main app's exe refuses to run, despite the fact that I've copied the dll to the exe's folder and registered it.
A second exe that I use for troubleshooting and other "back-door" stuff runs as expected, so the dll IS registered and CAN be found.
I'm at my wit's end and would appreciate your help.
 
You need more DLLs to run a VFP exe

vfp9r.dll is the VFP runtime, on top of that you need the c++ 7.1 runtime and more.
In short take a look at the list of support files described in the help at
Also found in your local VFP help in the topic "Application Distribution Process"

Chriss
 
I forgot to tell where to find the files you need.

On your development computer, or in other words where you installed VFP9 you find
a) the VFP related support DLL files vfp9r.dll, vfp9t.dll, vfp9renu.dll and many more for other languages than ENU togethger with gdiplus.dll, apps of the report engine and help support files within C:\Program Files (x86)\Common Files\Microsoft Shared\VFP
b) msvcr71.dll within C:\Windows\SysWow64

You only need the vfp9t.dll as runtime for DLLs you build with VFP, so it's unnecessary for EXEs built with VFP, also the VFP9r.dll does not need registration, if it is registered EXEs will find it also when it's not in the same folder.

Your EXE might need more than all that when you use some XML related classes and functions or ActiveX controls, so that may still not be the end of it.

But as you say you get a message of an invalid vfp9r.dll, maybe take it from C:\Program Files (x86)\Common Files\Microsoft Shared\VFP. Registering an invalid vfp9r.dll doesn't make it valid. You may compare file/product version and file size of the invalid VFP9r.dll you tried to make valid by registering it with the original VFP9r.dll from the Microsoft Shared\VFP directory on your development computer. There are at least 3 versions of the vfp9r.dll for VFP9 without SP, SP1 and SP2 plus maybe versions of the three hotfixes, you better know with which exact version of the VFP9.exe your EXE was built.

The files in Microsoft Shared\VFP are upgraded by SP installations, so there's no problem to be expected, except when the VFP9.exe was upgraded from one of the three hotfixes Microsoft provided after SP2, those hotfixes didn't come with a simple click and go installer, the setup merely unzipped files and came with readme instructions to copy files also for Microsoft Shared\VFP, so if you/the developer did only upgrade VFP9.exe and not the vfp9r.dll that could explain the discrepancy and invalidity of that DLL for the built EXE.

Chriss
 
I can't add much to the good advice that Chris has given you. But could I make a general suggestion for how you post questions on the forum.

You will have a better chance of getting your questions answered if you give them a meaningful title: something that expresses in a few words what the question is all about. That way, anyone browsing the list of threads will see at a glance if the question is something they might be able to answer. It's also useful for people searching for answers to a similar problem, especially given that it's the thread title that will show up in search engine results.

Clearly, "thread 184-1767454 Have an issue wi" doesn't fill that purpose. It gives no clue as to what the question is all about.

Mike

__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips and downloads
 
myself said:
that could explain the discrepancy and invalidity of that DLL

I looked a bit around and besides my own suspicion about a vfp9r.dll discrepancy with the vfp9.exe used for build others said they think a warning/error message about an invalid vfp9r.dll comes from a mismatch of that DLL file version with the file version of a resource dll like the vfp9enu.dll, VFP calls out vfp9r.dll to be invalid, if its version doesn't match that of the vfp9renu.dll, for example.

That's besides the simplest reason of an invalid vfp9r.dll: a corrupt file, like an incomplete DLL file, incomplete download or copy.

It's still a bit mysterious how one EXE works and not another, I think the answer to that should be found within the directory of the other working EXE, because it has all it needs with right versions. Or is that a VFP8 or older executable?

Chriss
 
RWilkes said:
A second exe that I use for troubleshooting and other "back-door" stuff runs as expected, so the dll IS registered and CAN be found.

Not that this should do any difference in this case, but there's absolutely no reason to register the runtime DLL:s
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top