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

VFP Sp1 or SP2; how to see what is what

Status
Not open for further replies.

Nifrabar

Programmer
Mar 16, 2003
1,343
NL
Hi!
I am having at a client a VFP9 app running for years.
I need to make e major update to the app.
Probably the app was made using VFP9 Sp1
As I am now using VFP9 Sp2 I presume that the entire installation must be done again.
But... How can I check what runtime environment is used at clients'PC
(Yes I know... I should have registered my work )

TIA
-Bart
 
Hello Mike,

Thanks for your replies.
I still struggle a bit. Version(4) is used (as far as I understand) within VFP to discover the actual VFP version.
As my app is in use for years at my client I can't use that approach. I did not built in a way to recover the actual version of that app. (Now I realise how important such info, after many years, will be.....)

The link you gave me in the other post brings me to the site of Berizniker. Ther I can see what versionnumbers of VFP belong to which actual files but..... I can't remember wethere or not I used VFP9 SP1 or 2 at inintial release.
So I presume that the only way to go is by investigating the installed runtime files?

On the other hand; what might be the result once I now release an app using VFP9 SP2 while the old version might be VFP9 SP1?
KR
-Bart
 
In general, if you install the runtime dlls within the folder of your app, you can mix sp1 and sp2, because you give each app their own runtime in their own folder.
You can sill do that, if you installed the first app with runtimes in system32 or syswow64 system folder. Just consider VFP first looks into the EXE directory, it's always fastest to have the runtime there. Plus you don't need to care what already is installed.

Bye, Olaf.
 
Bart,

Given that you are using SP2 in your development environment, perhaps the simplest solution would be to create a fresh install for your application, using SP2. That way, you would be sure which runtimes the app is using (and that it would always match your development environment).

Mike



__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips and downloads
 
Thanks Olaf and Mike,
Last Q:
Would it be possible by evaluating the installed runtimefiles to determine the app has been created using SP1 or SP2?
TIA!

-Bart
 
No. How can the runtime library know which version was used to create the app? The presence or absence of a given runtime file tells you nothing about what version you were using during development.

But I suspect that's not what you meant to ask.

Do you want to be able to look at a given runtime file (such as VFP9R.DLL) and know whether it's SP1 or SP2? If so, right-click on the file in Windows Explorer, select Properties, and look at the Version tab. You should see something like "Microsoft Visual Foxpro Verion 9 SP2 Runtime Library". (This works with resource files as well.)

Or, do you mean you want the application itself to be able to determine which version it is currently running under? If so, that's what VERSION(4) is for.

Sorry if I've misunderstood the question.

Mike

__________________________________
Mike Lewis (Edinburgh, Scotland)

Visual FoxPro articles, tips and downloads
 
Mike,
You did understand my Q very well.
So now I only need to retrieve the runtime files from clients PC and than I can see wether or not the initial setup for that PC was done using SP1 or SP2.
Thanks for yr help!
I will post back the results.
-Bart
 
>I only need to retrieve the runtime files from clients PC and than I can see wether or not the initial setup for that PC was done using SP1 or SP2.
In principle yes. That assumes nobody has fiddled with the DLLs and manually did a runtime installation, eg with prolib runtime installers, manually copying the DLLs etc.

Also it depends, if that's the only app there. Any app updating runtimes in system folders will eg update sp1 dlls with sp2 dlls, they won't install in parallel, as both sp1 and sp2 main runtime dll are vfp9r.dll, the same goes for the resource dlls, helpps EXE, etc. Registered and or installed to system folder or /microsft shared/.

The only real way to determine what you did install is to find your MSI, setup.exe or setup CD etc. Repeat this installation on a VM, for example, and see what runtime is installed there.

But besides that you can always decide what SP you want to use with your latest version, you don't depend on what's there, simply put the dlls in your app folder with the new version and there is no need to know this.

Bye, Olaf.
 
Hi Bart,

admid I have not tried Sergey's procedure, but I believe this one will do the trick.

alternatively you will have to make use of adir() to establish the datetime of the different runtime.dll's and compare them to the datetime's of the different version dll's - seems like a doable but timeconsuming procedure to construct.

Groet,

Jockey(2)
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top