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 TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

vfp9 app.exe including runetime files

Status
Not open for further replies.

vfp9876

Programmer
Aug 16, 2015
2
MA
dear freinds;

i am so confused when i found vfp application with two exe files besides dbf files and working properly without run-time files;
is it possible to include run-time files into vfp9 application.exe ?

i like programming vfp application

please help me get the solutions
 
How do you know the runtimes aren't installed? They are unlikely to be in the same directory as the .EXE I suspect they are in the \Programs Files(x86)\ directory.

Having 2 .exe files that do different things on the same tables is a little unusual, but not at all out of the realm of possibility. Sometimes maintenance programs are done separately.

You don't mention what the .EXE's do. it could even be an old version, vs. new version and someone didn't delete the old version.

Best Regards,
Scott
ATS, CDCE, CTIA, CTDC

"Everything should be made as simple as possible, and no simpler."[hammer]
 
Having multiple EXE files isn't unusual at all. There are MANY reasons to do things this way.

If a VFP app is running, the runtimes are installed. Full stop. They may not be where you expect them to be but they are somewhere on the machine or the executables would not run. This is immovable.
 
Unless it's been compiled under VFP 10.
:)

Best Regards,
Scott
ATS, CDCE, CTIA, CTDC

"Everything should be made as simple as possible, and no simpler."[hammer]
 
Just pointing out that users don't always know...
And he doesn't know where the runtime libraries are... the point about VFP 10 was, it's the only way they would not be there.

Best Regards,
Scott
ATS, CDCE, CTIA, CTDC

"Everything should be made as simple as possible, and no simpler."[hammer]
 
If VFP9 runtimes are installed outside the application folder the runtimes need to be registered to be found and then can be found by searching the registry (well, that is how the EXE stub code looking for the runtime finds it).

You can also find out the vfp version of an exe by opening it in a hexeditor, you'll somewhere find "VFPRuntime.9" - Don't remember the exact string, but it should be somewhere at the beginning or end of the whole EXE file.

Bye, Olaf.

 
Fine, that means I still have a good memory for things I seldom use. Anyway, that is the OLE name of the runtime, which you'll find and which will point to the vfp9r.dll location in the registry.

Bye, Olaf.
 
thanks everyone replied
after i have reinstalled os i tried to use this vfp application first, and it worked
i checked the folder where the application files there no runtimes files
something strange really
any more explanation

thaks a lot in advance

 
If you don't find some string like VFPRuntime.9, it's not a foxpro application. It could be .NET or C++ or anything already finding runtimes of the language it needs in the OS systems folders.
There is no way to compile a VFP.EXE having included it's own Runtime, the only halfway possible thing I can think about are tools like KONXISE creating a self extracable EXE of a encrypted VFP application, maybe also including the runtimes. VFP is no linker, it does not link DLLs nor LIBs into one standalone EXE but there are ways like the self extracting archive. In the end it'll put runtimes on hdd at runtime.

Bye, Olaf.
 
i checked the folder where the application files there no runtimes files
something strange really
any more explanation

Why do you think the runtime files must be in the application folder? It's actually not the recommended place (officially).

after i have reinstalled os i tried to use this vfp application first

If you wiped the disk and installed from scratch, it would be quite curious how Windows knew about the application. But since Windows DID know about the application you didn't do that, or perhaps you reinstalled the application?

You're giving scant information here.
 
If you didn't just cope a folder, but installed an app, yes, dan is totally right, that setup would naturally install the runtimes somewhere.
I disagree somewhat, that the application folder is not the recommended place for the runtimmes. What's true is, that VFP documentation recommends installing into system folders, so the runtime is shared. The problem with that is, when you deinstall you can't remove runtimes, because there could be secondary vfp applications. Also there are at least 3 vfp9r.dll, all with that name, and unlike the global asssembly cache the system32 or syswow64 or microsoft shared\vfp folder can only hold one of them, not all sp and hotfix variants.

For that reason and again officially from MS there is the rule against DLL hell to put DLLs to an EXE, because the hell is not many copies of a DLL in many application folders, but a central DLL which should exist in several versions but can't and which has no responsible application for it. It's a good thing to do in a company knowing it'll only need one SP version for any major VFP version used throughout the company. That's one situation I have.

Anyway, a setup can install somewhere else, the runtimes can be registered and it will be available for apps without sitting side by side with them. There are VFP runtime installers that also register the DLLs. Not because the ISP doing them wasn't aware of the better recommendation, but because a general runtime installer can't know where applications needing the runtime are installed, it therefore installs using the recommended central system folders.

Bye, Olaf.

 
Check to see if there is a manifest file in the application folder.


Mike Gagnon

If you want to get the best response to a question, please check out FAQ184-2483 first.
 
And as I mentioned... VFP 10 (or VFP 9 compiled to 32 bit...)


Best Regards,
Scott
ATS, CDCE, CTIA, CTDC

"Everything should be made as simple as possible, and no simpler."[hammer]
 
Scott said:
And as I mentioned... VFP 10 (or VFP 9 compiled to 32 bit...)

VFP10 does not create a Foxpro executable, it creates a C++ executable.


Mike Gagnon

If you want to get the best response to a question, please check out FAQ184-2483 first.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top