This KB post documents installing Paradox 9 for Windows on Vista. If you wish to install Paradox for DOS on Vista, go to our Paradox for DOS on Vista KB post. If you wish to install Paradox 10 or 11+, then go to our Can I Install Paradox 10/11 on Vista article.
January 2009 Update: Corel has released a patch for X4 owners specific to Vista issues. Refer to the followoing message board thread for more information:
January 2010 Update: Paradox 9, 10, and 11 seem to run much better in Windows 7 then in Vista. Paradox runs fine on XP and Windows 7, so just skip the faulty Vista OS. That's my bottom line official recommendation. Vista will probably turn out to be a bad OS much like many view Windows ME.
Step 1: Install Paradox
Paradox runs fine on XP and Windows 7, so just skip the faulty Vista OS. --Mike Prestwood |
The first step is to install Paradox 9 standard, developer edition, or WP Office 2000 Pro Edition. If you're installing WP Office Pro Edition, you can install the full suite or just Paradox (your choice).
Note: There are optional components you can also install (by default, they are not installed). Optional components include:
- Paradox ODBC driver
- Delphi Add-On Kit
- SQL Links (Paradox to SQL servers such as MS SQL and Oracle)
- Paradox Web Forms
- more...explore the options especially if you're a Paradox developer.
Step 2: Configure Paradox Net Dir
The Paradox Net Dir is used by the Borland Database Engine (BDE) to control multi-user access to tables. The default Net Dir after installation is set to C:\ and because Windows Vista does not allow writing files to the root of your system drive, you have to move the Paradox Net Dir to a folder that does have rights. If you're running a multi-user application then choose a common folder for all users on your network. For a single user application, you can simply clear the Net Dir setting but I usually set mine to C:\Temp. If you have a second hard drive, you can move the Net Dir there so long as it's not a system drive (i.e. D:\).
To set the Net Dir:
1. Run the BDE Administrator which was installed when you installed Paradox. For example, if you installed the WPO 2000 Pro Edition, it's located in the Utilities group folder:
2. The Net Dir setting is on the Configuration tab under Configuration | Drivers | Native | Paradox.
If you skip this step and attempt to start Paradox, you'll get the following error:
Network initialization failed.
Directory: C:\
File: C:\PDOXUSRS.NET
Cannot access network lock file.
Continue with network disabled?
Even if you select Yes, you get the following error and Paradox exits:
Could not initialize BDE.:
Network initialization failed.
Directory: C:\
File: C:\PDOXUSRS.NET
Step 3: Enable Paradox Help
Microsoft has shipped the Windows Help program since Windows 3.1 (the 32-bit version filename is WinHlp32.exe). Windows Help displays help files with a .hlp file name extension. Starting with Windows Vista and Windows Server 2008, Microsoft no longer includes Windows Help. Microsoft made this decision because they have deprecated Windows Help and want to discourage its use in favor of their new help system. However, Windows Help is still available for download.
Paradox 9 (and all versions of Paradox including Paradox 10 and 11) still ship with a Windows Help file. If you're running Vista, you will get the following error:
Windows Help and Support
Why can't I get Help from this program?
The Help for this program was created in Windows Help format,
which depends on a feature that is not included in Windows Vista.
However, you can download a program that will allow you view Help
created in the Windows Help format from the Microsoft website.
For more information, go to the Windows Help program (WinHlp32.exe)
article on the Microsoft support website.
You might even get this error (for example, I received this error with the Paradox 10 Runtime):
Error
Help could not be started.
Download WinHlp32.exe:
To resolve this error, install Windows Help.
Step 4: Defeat Vista's Application Virtualization
Application virtualization was introduced with Vista and creates application-specific copies of all shared resources. It separates the application configuration layer from the OS making deployment easier in some cases.
Application Virtualization Symptoms:
- Change your working directory to the default samples folder. (If you're in WPO 2000's Paradox 9, that directory is located at C:\Program Files\Corel\Shared\samples.) Create a form in Paradox and save it to that folder. Now go out to Windows Explorer and try to find the file, you can't because it's been virtualized for the specific instance of Paradox running and exists only for that application.
- One more example, create a form that exports a spreadsheet. In the Project Viewer, switch to the Custom View. You should see your spreadsheet in the Project View. Try to open the spreadsheet, you can't. Even though you can see it in the Project Viewer, application virtualization has made a copy of it specifically for Paradox. When the file is passed to Excel, Excel can't find it.
Solutions to defeat application virtualizaion:
If you want to make your application data available to multiple users of a single computer running Windows Vista, you can...
- Place the data in a sub-folder of the Public folder. Vista does not virtualize this folder and it is available to all users on a PC.
- You can also set the permissions on the files or folders you want to share to allow all users full permissions.
- Run Paradox as an Administrator (perhaps even deploy a manifest file).
By default, Paradox puts certain folders like the samples folder mixed in with the program files. You need to move those folders to a folder that is NOT virtualized such as your Public folder. If you don't, then you should at least be aware of what it does. Or, grant those folders full rights.
Step 5: BDE Registry Fix [Might Be Needed!]
Although I didn't have to do this fix on any of the 3 Vista computers I'm using, I've seen this registry edit on several different websites so I'm including it here for completeness. If anyone has concrete information about when and/or why this is needed let me know. Again, this fix was not needed on all three Vista installation I'm using. I do typically update the BDE to 5.2.0.2 but I think this is perhaps related to a user's role (i.e. domain usage or non-admins of a computer).
- Launch the Registry Editor - Start | Run and type regedit.
- Right click on the following registry entry and select Permission...
Computer\HKEY_LOCAL_MACHINE\Software\Borland
- Select Users from the Group or usernames panel.
- In the Permission for Users panel, select Full Control and click OK.
- Click OK to exit.
- Exit Registry Editor.
Vista / Windows 7 and sendKeys
SendKeys is a Windows feature that Paradox, Access, VB Classic and other older development environments make available with a programming command. Starting with Vista, Microsoft has disabled SendKeys by default -- a security precaution against hackers. Also, many antivirus programs will enforce the disabling of SendKeys. So, to use SendKeys going forward, you have to disable UAC and make sure your antivirus program does not enforce the disabling of SendKeys.
sendKeys Tips:
- Use sendKeys as a last resort because sendKeys is and has never been super reliable. This is true not just for Paradox but also for other environments such as Access and VB Classic. You almost always can find another way to accomplish the task.
- In place of {ENTER}, you can use a tilde ~.
- Use a False value for the optional wait parameter. Windows sometimes stops responding when the wait parameter is set to true (from the ObjectPAL help). The default is True so it is highly recommended to use False.
- You may want to try {delay 100} at the beginning of your string to tell ObjectPAL to delay a 10th of a second "between" keystrokes.
- If you are using Paradox 9, make sure you upgrade to SP3 or SP4. Sendkeys does not work on at least the initial developer edition.
- For Vista/Win7, disable UAC.
Here is a working example:
method pushButton(var eventInfo Event)
;sendKeys("%FOTCustomer{ENTER}")
sleep(50)
sendKeys("{delay 50}%FOTCustomer~", False)
sleep(50)
endMethod
I have found that the {delay 50} is required at least for Windows 7 64bit.
That's it!
This gets you past the first major issue with using Paradox 9 on Vista - installation. As I have time, I will update this article with work-arounds for any other issues I run across.