Visual FoxPro - Windows 7 Compatibility
Background - 2007 Vista
Shortly after MS Windows Vista was released in 2007, we were contacted by a long-time VPM user who was still selling an application that he created years ago with Visual ProMatrix 5.0 and Visual FoxPro 5.0. One of this developer’s customers had reported problems running the VFP 5.0 application in Windows Vista. Upon researching the problem, it became clear that this VPM developer would need to upgrade his VFP 5.0 application to VFP 9.0 as quickly as possible so that customers using Vista would be able to continue using the developer’s application.
In early 2007 we put a page on the ProMatrix web to alert ProMatrix users to this problem and its solution. In early 2011 we removed that page from the ProMatrix web because we assumed that everyone who was going to need to update their VPM applications to VPME 9.0 had done so.
However, in recent months we've had more and more ProMatrix developers with old pre-VPME 9.0 apps telling us that their customers are switching to Windows 7 and the developers' old apps won't run in Windows 7. Apparently, the customers of these ProMatrix developers didn't switch to Vista (which was common), but are now switching to Windows 7 and the compatibility problems are only being found now. So, it is definitely time to resurrect a discussion of this issue and its solutions.
Microsoft Position On Compatibility
Microsoft has acknowledged that Visual FoxPro 9.0 is the only VFP version that they found to be 100% compatible with Vista (http://msdn2.microsoft.com/en-us/vfoxpro/bb330856.aspx).
MS tested VFP 8.0 with Vista and reported that they found compatibility issues. MS did not test earlier versions of VFP because when Vista was released, MS no longer supported VFP versions earlier than VFP 8.0.
To the best of our knowledge MS has not similarly tested VFP in Windows 7. However, all the anecdotal evidence appears to suggest that VFP 9.0 is the only VFP version compatible with Windows 7. Further, Windows 7 compatibility problems appear to get worse the earlier the VFP version in which an application is created. For example, applications created in VFP 6.0 apparently experience more problems than those created in VFP 8.0.
In 2007 Microsoft strongly recomended upgrading to VFP 9.0 SP1. Accordingly, we all had ample warning that applications created in earlier VFP versions will have problems in Vista and future windows versions.
Need to Keep Current
We know that many Visual ProMatrix users still have applications in use that were created in pre-VFP 9.0 versions of Visual ProMatrix. While ProMatrix has always recommended keeping your applications up-to-date with new VFP and VPM releases, many VPM developers have had the philosophy that “if it ain’t broke, don’t fix it.” The fact that many of the users of applcations created in older VFP versions did not upgrade to Vista merely kicked the problem down the road. Now that those users are upgrading to Windows 7, the developers of those applications are finding themselves in an emergency situation that could have been avoided by staying current with VPME and VFP.
As fast as technology changes these days, the “if it ain’t broke, don’t fix it” philosophy is almost certain to lead to crisis. We saw a similar crisis in the 1990’s when developers were forced to convert their FoxPro DOS apps to FoxPro for Windows. Many developers went out of business because they did not convert to Windows soon enough.
It’s far better to climb the occasional hills involved in keeping applications upgraded to the latest releases of your application development tools and operating systems than to be forced to scale the mountain that suddenly appears when your tools become obsolete.
If you have pre-VPME 9.0 applications in use and if it would present a problem for you if those applications couldn’t run in Windows 7, you need to do something now because your customers and people in your organization will be buying new computers with Windows 7 or will be upgrading to Windows 7. Those folks won’t be happy if they find that your applications do not run properly in Windows 7.
So, what do you do? Well, we suggest that you choose one of the following 2 solutions:
Solution 1: Let ProMatrix Do It
It may be more time and cost effective to let ProMatrix convert your pre-VPME 9.0 app to run under Windows 7.
If the people who created your application are no longer around or if your staff isn't familiar with Visual FoxPro or Visual ProMatrix Enterprise, ProMatrix can do the conversion for you.
There's nobody who knows VFP and VPM Enterprise better than the ProMatrix staff. We can convert your app to run under Windows 7 in a fraction of the time it would take to do it yourself.
End Product Deliverables: When we complete the conversion for you, we provide the following:
- Executable Installation Package: This is the Setup file that will install your application on your customers and your own Windows 7 computers.
- Application Update Utility: For your customers who have live production installations of your application, this utility and accompanying documentation will update the production installations.
- VPME 9.0 Project Files: These are the files you need to maintain and further develop your application in VFP 9.0.
Solution 2: Do It Yourself
To convert your pre-VPME 9.0 app to run under Windows 7 yourself, here's an overview of what we recomnd that you do:
VFP 9.0: If you don't already have a Visual FoxPro 9.0 Professional Edition license, purchase one. You can purchase a VFP 9.0 license at amazon.com .
- Install VFP 9.0.
- Download and install the Microsoft VFP 9.0 Service Pack 2.
VPME 9.1/9.0: Purchase a VPME 9.1 license. Go to the Buy VPM Enterprise page to make your purchase.
- Download VPME 9.1, VPME 9.0 and all earlier versions of VPME.
- Install VPME 9.0.
- ProMatrix Priority Support Plan: There's a high probability that you will need help from the ProMatrix Priority Support Staff. Therefore, go to the ProMatrx Priority Support Plans page to learn about the Support Plans available to you.Then, go to the Buy ProMatrix Priority Support page to purchase the plan you want. We recommend the ProMatrix Priority Support Forum; it provides unlimited support requests for one year.
- Pre-VPME 6.0 Version Applications: If your application was created in a VPM version earlier than VPM Enterprise 6.0 (such as VPM 6.0b), download the VPM 6.0b to VPME 7.0 Project Update Instructions . Follow those instructions to update your application to VPME 9.0. Wherever "VPME 7.0" is referenced in the instructions, mentally replace the reference with VPME 9.0. Skip to 7. below
- VPME 6.0c and VPME 7.0a Applications: Download the Supplemental Documentation for VPME 8.0. Follow those instructions to partially update your application to VPME 9.0. Wherever "VPME 8.0" is referenced in the instructions, mentally replace the reference with VPME 9.0.
- VPME 8.0 and VPME 6.0c/7.0a Applications after step 5. above: Download the VPM Enterprise 8.0a Maintenance Update Documentation. Follow those instructions to complete the update of your application to VPME 9.0. Wherever "VPME 8.0a" is referenced in the instructions, mentally replace the reference with VPME 9.0.
- Test, Test, Test: Throughly test your converted VPME 9.0 application to make sure that everything is working as expected.
- Application Update Utility: Create an application update utility to update existing applications. Refer to the "Packaging Your Update" chapter of the VPME 6.0 User's Guide.
Note: Your VPME 9.0 application will include new functionality, including the ProMatrix Multilingual Toolkit and Source Control Kit.
VPM Enterprise 9.1
VPME 9.1 is the latest and greatest ProMatrix framework for Visual FoxPro 9.0. But in our suggested solutions, we recommend that you upgrade to VPME 9.0. The reason that we recommend VPME 9.0, instead of VPME 9.1, is that we assume your main objective would be to have your application running in Windows 7 as quickly as possible. Upgrading to VPME 9.0 is simply the quickest and easiest way to achieve that objective.
Later you can consider whether you want to go farther and upgrade to VPME 9.1. Certainly any new applications you create should be created in VPME9.1.12a.