BTW, I don't believe that initial folder needs to be in the Windows path. But it is a common location that MS uses and the registry wants to look there. The rest of what I posted should apply and help in a solution.
Main Topics
Browse All TopicsCreated an installshield setup.exe with the vfp9 runtime option selected and the merge module default destination. The runtime files are installed in the default destination directory (\Program Files\Common Files\Microsoft Shared\VFP) and they're all there (vfp9renu.dll,vfp9r.dll,vf
But when I run the app, it produces the "Cannot locate the Microsoft Visual Foxpro Support Library".
So I've tried copying the runtime files to the application install directory, the windows system32 folder and the windows system folder. Doesn't make a blind bit of difference.
Am I missing a trick here? Do the files need explicit registration? (although I can find them in the registry) Are there other files I need to include or what?
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Well that gave me a few things to check.
First the path. The shared folder was indeed not in the path. So I added it to the path. Checked that it registered the new path. Tried the test you suggested (exe in the folder). Couldn't find it. So, for one reason or another it doesn't want to see anything in that folder even if it is in the path. I tested the theory by putting the exe in the System32 folder and had no trouble finding it.
So I copied the files to System32 and then hacked every reference in the registry to point to that folder instead of the original shared folder. (That was fun, as you can imagine) Given that system32 is obviously visible, I figured if I change all the registry settings to point there instead of the shared folder, it can't fail to see the files. You guessed. It failed.
It is registering version 9. The OS is XPSP2.
Any further suggestions? (While you're thinking about that, I'm going to try telling installshield to install the merge module directly into the System32 folder and see if that makes any difference.)
Well that failed but in a way which may be a clue. Despite setting the merge module's default destination to the [systemfolder], when I ran the subsequent setup folder on the remote machine, it had put all the runtime files in the original shared program file folder and pointed to that location in the registry. I didn't bother hand moving the files and hacking the registry again.
I'm wondering if that points to some kind of fault within Installshield Express (I'm using the version 5 freebie that comes with vfp 9).
Yeah, I'm not using the freebie version. When InstallShield had a $99 deal to upgrade to more features, I spent the $99.
Even in the version I'm using, I have found the destination stuff to be a bit confusing. I have had to run way too many combinations of a simple setup just to see what InstallShield was trying to do for me or to me.
Again, I don't think that path was an issue.
What else do you have in your setup files within InstallShield besides the merge module? I tried to create a very minimal setup with less files included than I will have when I complete the app I'm working on. What I setup was just to show something working and really is a throway app because I didn't even have the database structures nailed down when I created this for a site as a demo. The main merge module that obviously you've included, as did I, is the Microsoft Visual FoxPro 9 Runtime Libraries.
Besides my application .exe and the VFP9 Runtime Libraries merge module, I have the GDI Plus Redist module checked off to include in my final InstallShield created setup.exe. Also, Microsoft C Runtime Library 7.1 Merge Module is checked off to be included. If you don't have those two others, especially the MS C 7,1 one, I think that the VFP9 stuff won't get loaded properly. Maybe that's the problem. You forgot, or didn't even know to include, those other two merge modules.
If you select the VFP 9 runtime it automatically selects the other two, (and puts them in their own default destinations which you cannot change because the runtime files are dependent on them). And all files arrive at the other end.
So we know its not down to missing files. We know that the paths are at least consistent with the registry entries and we know that no-one else on the planet seems to have had this particular problem. Its got to be something stupid I'm doing with the Installshield but I've used it for years without trouble so I'm banging my head against a brick wall!
Ignoring the .exe you think you've loaded with your IS setip installation, do you have another VFP9-compiled exe that you can attempt to run on that PC? I'm just trying to recommend attempting to run any VFP9-compiled app on that PC after you have supposedly installed the VFP9 runtimes to see if your main intended .exe is the problem or not.
Are you sure the .exe you've installed is the one that was compiled with VFP9? If you have multiple versions of it compiled under other versions, you may have included the wrong one in the InstallShield process.
Just trying to throw some further odd thoughts on this.
OK, the problem has morphed. What I've discovered is that the reason its whingeing about not being able to find the support library is because its looking for vfp8 runtime files.
It is, of course, easy enough to include those but that's not the real issue. What I want to know is why - given that I've recompiled the application in vfp9 - why is something inside it still demanding vfp8 stuff and how can I find the guilty components?
I thought something like that may be happening which is why I went to the trouble of explaining how VFP finds the version and that multiple runtimes can exist on a single PC because of how that process works.
Do you have multiple compiled versions of the same exe under VFP8 and VFP9 in your development environment? Is it possible you've included the VFP8 compiled app version in the InstallShield setup rather than the VFP9 one? From all I've seen, InstallShield is not smart enough to tell you that you've included the wrong app/exe. It is smart enough to add the dependent merge modules to the VFP runtimes as you've seen. But, that isn't the same as you including the correct compiled version of your custom exe in the IS setup. I had a problem, too, with an exe where InstallShield was still including an older version of the exe I compiled under VFP9 only because I never updated the copy of the exe in the final location that I told InstallShield to look in-- it was using an older different exe over and over rather than one that I had just compiled in a different location and forgot to put into the InstallShield final location. Did you look at the exe you're including in the setup to see the telltale signature I nentioned in an earlier post (it could be the VFP8 one and it could be the file is coming from a location you didn't realize and obviously a version you never intended)?
Business Accounts
Answer for Membership
by: CarlWarnerPosted on 2006-01-07 at 10:11:19ID: 15637917
I have done the exact same thing on a few clean PCs with no VFP ever loaded whatsoever and the runtimes registered just fine with the InstallShield setup. [I have had the situation you report happen at another site, but I can't get enough information from that site to get it fixed. Actually, I get so little information from that site they may have had it working and didn't think it important to tell me that little fact. <s>]
l?Wiki~VFP 9RuntimeFi les
Let's rule out the obvious things first.
Is that \Program Files\Common Files\Microsoft Shared\VFP part of the Windows path or better yet does anything run fine from that location? You can check at a Command Prompt by simply typing SET PATH. Or, you can simply insert a small innocuous exe you know about in that folder and see if you can run that one showing then that Windows can in fact find it.
Oh, by the way, what Windows version are you installing all of this on? Knowing that can be helpful in getting to a resolution.
Generally, most VFP standard apps don't need the vfp9t.dll file. I haven't used it all in my standard app that I loaded. It is for Multi-Threaded DLL support.
VFP 9 Runtime Files
http://fox.wikis.com/wc.dl
And, finally, yes, simply copying the files to a specific folder/directory after the fact won't get the proper settings in the registry. The InstallShield process places the files where you specify and is supposed to place settings in the registry in that process that tell the system where to find the registered runtime files. Once you try to execute your compiled .exe, the system first looks in the registry for an entry that corresponds to what you compiled your .exe with, a reference that is embedded in your compiled .exe. If the system can't find that setting in the registry, or you have moved the runtime files away from where the registry setting says the runtime files should be, you get the error you got.
I always point out this one little thing to may it visually clear to those wondering about this process. If you are in VFP and you issue a MODIFY FILE <yourexename>.exe NOMODIFY, right near the top of that file, you'll see that reference to the runtime that I mention that gets embedded. In my VFP9 compiled exe, the entry shows VisualFoxProRuntime.9 . If you compiled your exe under VFP8 (or less), it won't read the same. The .9 will be different. This is how VFP allows you to place different versions of apps compiled under different versions of VFP on the same PC. The piece that gets embedded in the .exe is what tells the system what runtime version to look for in the registry.
You could also check in the registry to see if in fact the runtime file references got in there at all, let alone pointed to the proper final location to which it should be looking.
You could Run regedit to open up the Registry Editor window.
Go to Edit...Find... VisualFoxProRuntime.9
If it finds an entry for that in the registry, drill down in the layers under that first entry to find the Shell...Open...Command. Under the Command registry entry to the right, you should see where your local system's reghistry entry is looking for the runtime file it needs to run your compiled .exe.
After all of what I just listed, it could be your InstallShield setup is lacking. But, I am not sure if that is the case where to tell you to look at this time since my setups work. But, little steps.