Windows Vista/7 compatibility for dBASE Plus

Updated Apr 28,2010

There are several differences using dBASE Plus in Windows Vista and Windows 7 vs. Windows XP. These differences are laid out here in the following categories:

General Info on Vista/7 Security modes and Manifest files - includes basic information on the new security settings in Windows Vista/7.
How to run dBASE Plus IDE in Windows Vista/7 - includes the best way to set up dBASE Plus to run in Vista/7.
How to run dBASE Plus executables in Windows Vista/7 - includes the best way to set up dBASE Plus deployed .EXEs to run in Vista/7.
Visual Issues - includes examples on the visual differences of dBASE Plus objects in Vista/7 vs. XP.
Performance Variations and Issues - includes examples of the differences on some dBASE Plus properties and methods in Vista/7 vs. XP.
Manifest File Samples - Download samples of Manifest files for dBASE and the BDE.


Security modes and Manifest files


Overview

In Windows Vista and Windows 7, Microsoft has made substantial changes in how Windows handles security when starting a program.

In older versions of Windows, programs ran all the time with whatever security level the logged in user possessed.
In addition, it was possible to startup Windows with a workstation only login that, by default, gave the user full access (i.e. administrator access) to everything on a workstation.

In Windows Vista/7, Microsoft has substantially tightened security as follows:

  • Vista/7 defaults to running a program with a fairly low privilege level even if the user logs in with a higher security level.
  • Via manifest files or embedded manifest resources, Vista/7 can be told the privilege level a program requires, in order to run properly.

  • The action Vista/7 takes when a program attempts to perform an action that requires elevated privileges can be configured via workstation or domain level security policies to:
  1. Prompt a user to login with elevated rights or administrator level rights when needed
  2. Terminate a program that attempts to perform an action that requires higher level rights
  3. Automatically elevate a program to a higher level if the logged in user has sufficient rights

While both Vista and W7 have the same basic security profile there are some siginificant differences between Windows Visa and Windows 7

  • Windows 7 is built upon the security foundations of the Windows Vista operating system while improving auditing and the User Account Control (UAC) experience.
  • Windows 7 helps IT control what software can run in their environment with AppLocker™.
  • Windows 7 enhances the core features of BitLocker™ Drive Encryption with the introduction of BitLocker To Go™ for removable storage devices.


More detailed information about Vista security and other compatibility issues is available at: http://msdn2.microsoft.com/en-us/library/aa480152.aspx
More detailed information about Windows 7 security and other compatibility issues is available at: http://technet.microsoft.com/en-us/library/dd571075(WS.10).aspx

Running dBASE Plus IDE

Generally, setting the requested execution level to 'run as Administrator' will allow existing dBASE and BDE Admin executables to run properly.

There are two ways this can be done :

1 - Using the Manifest file's 'requestedExecutionLevel' setting.
dBASE Plus can be run successfullly on Vista/7 by installing the application manifest file that contains the appropriate requestedExecutionLevel setting. The BDE Administrator must also have a manifest file installed for it to run on Vista/7.
(NOTE: dBASE Plus installers from version 2.61.4 on up will automatically include the Vista/7 manifest files
)

Instructions ...

All Manifest files must be installed in the same folder as the executable it is intended for.

The 'Administrator rights' manifest files for dBASE can be downloaded here :
http://www.dbase.com/Manifests/ManifestAdminRights.zip

Save the plus.exe.manifest file in the same folder as the plus.exe file
(Default folder is C:\Program Files\dBASE\PLUS\BIN)

Save the plusrun.exe.manifest file in the same folder as the plusrun.exe file
(Default folder is C:\Program Files\dBASE\PLUS\Runtime)

Save the bdeadmin.exe.manifest file in the same folder as the bdeadmin.exe file
(Default folder is C:\Program Files\Common Files\Borland\BDE)

NOTES:
It is recommended that you re-boot your computer after adding the manifest files

When you install dBASE Plus (from dBASE Plus version 2.60 ... up to 2.61.3) a Manifest file is automatically installed under the bin folder.
This Manifest file has the settings to allow the use of the Version 6 common controls in Windows XP (and Vista/7).
If you already have this file make sure you delete it before installing the replacement Manifest file since the Vista/7 manifest file will also include these settings and you do not want to accidentally rename the new manifest file.

Vista/7 Manifest files are not compatible with XP operating systems.

------------------------------------------------------------------------------------------------------
Example: If you'd like to take a look, This is what the Vista/7 Manifest file for Plus.exe looks like.
(Note: the section in blue has the 'requiredExecutionLevel' setting required for Vista/7)
-------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
   version="1.0.0.0"
   processorArchitecture="X86"
   name="PLUS.EXE"
   type="win32"
/>
<description>PLUS.EXE Manifest</description>
<dependency>
   <dependentAssembly>
      <assemblyIdentity
         type="win32"
         name="Microsoft.Windows.Common-Controls"
         version="6.0.0.0"
         processorArchitecture="X86"
         publicKeyToken="6595b64144ccf1df"
         language="*"
      />
   </dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
   <security>
      <requestedPrivileges>
         <requestedExecutionLevel level="requireadministrator"       uiAccess="false"/>
      </requestedPrivileges>
   </security>
</trustInfo>

</assembly>
------------------------------------------------------------------------------------------------------

2 - Using the .exe's 'privilege Level' setting.

Instructions ...

Right click plus.exe (Default folder is C:\Program Files\dBASE\PLUS\BIN)
- Choose 'Properties'
- under the 'Compatibility' tab .. 'Privilege Level' setting
- click on the checkbox next to 'Run this program as an administrator' to turn it on.

Right click plusrun.exe (Default folder is C:\Program Files\dBASE\PLUS\Runtime)
(follow instructions for plus.exe)

Right click bdeadmin.exe (Default folder is C:\Program Files\Common Files\Borland\BDE)
(follow instructions for plus.exe)


Windows XP SP2 compatibility mode for Vista
Another option that is available on Vista and Windows 7 is the 'Windows XP SP2 compatibility mode'.
(NOTE: Though compatibility settings are available in both Vista and W7, there have been improvements in how W7 handles compatibility so the following is most likely not necessary in W7)

This was created to prevent the "This program might not have installed correctly" dialog box that shows for applications that are hard coded to look for the XP version.
If you are installing from the plus-setup.exe file then you should set the 'Windows XP SP2 compatibility mode' as detailed below for the plus-setup.exe file.

Also, The bdeadmin.exe file should be set to use the 'Windows XP SP2 compatibility mode'. If you do not set the 'Windows XP SP2 compatibility mode' for the bdeadmin.exe, the manifest file (bdeadmin.exe.manifest) may be ignored when trying to run the BDE Administrator. This may cause any changes to be saved incorrectly when modifying the BDE Config file directly.

Right-click on an .exe name or shortcut - goto Properties - under the Compatibility tab - apply the Windows XP SP2 compatibility mode.

Running a Deployed .exe

When deploying executables built with dBASE Plus you may or may not need to use Administrator privileges to run your application. If you do not need to set the application to run with Administrator privileges, you can use any Execution Level setting that is appropriate for your application.

If you do feel your customer will need administrator privileges, you can again use option #1 or #2 under the Running dBASE Plus IDE heading above.

When using option #1:
You must create a manifest file for your executable as well as for PLUSRUN.EXE.
The manifest file used for the app.exe can simply be the Plusrun.exe.manifest with...
1. a file name change, (<appname>.exe.manifest) and
2. within the manifest file text, replace the two instances of 'plusrun.exe' to '<app>.exe'
.
When using option #2:
You must make sure to set the properties for your executable as well as for PLUSRUN.EXE.
Otherwise you will get an error: Could not load PLUSRUN.EXE (code 740)

Running deployed .exe across a network
When launching an .exe built with dBASE Plus that is stored across the network on another workstation or server you may get the 'Unknown Publisher' warning. At this time, the following options are available to suppress this warning:
1. Rename your executable's file extension from .exe to .dbw and then make sure that the .dbw extension has a file association setup with PLUSRUN.EXE. (This should be setup at install time for dBASE Plus).

OR

2. In Internet Explorer from the Toolbar goto Tools | Internet Options. Under the 'Security' tab highlight the Local Intranet section. Click the 'Sites' button. Click 'Advanced' and add the server's address to the list of trusted zones.

For future versions of dBASE Plus we are looking into alternatives for ensuring they are installed as trusted applications on Vista/7.
Visual Issues
PushButton object - The pushButton Object now adheres to the foreground portion of the colorNormal property. In XP it does not.

TreeView object - In Vista/7 the TreeView object does not adhere to the foreground portion of the colornormal property. In XP it does.

ScriptMaker - If you are using ScriptMaker ... the icons on the pushbuttons and on the toolbar are all white. There is an outline shape of what is there. But, no detail in the icons. However, with the new release of dBASE Plus (2.61.2) a new Inno script maker called 'Inno Script Generator' is included. So far this application does not show any issues related to Vista/7.

Performance Variations and Issues
Some different behavior has been discovered with some functions or settings

HELP System
Microsoft has released a Windows Help Program (WinHlp32.exe) for Windows Vista/7. This will allow Vista/7 to display 32-bit Help files that have the ".hlp" file name extension.

Click Here to download this program.

dBI is working on support for HTML Help in an upcoming release of dBASE Plus.


Open File or Get File
In Vista any get file or open file dialog, the 'Look in' drop down list does NOT show the current folder until you choose one. Goto File | Open in the main IDE menu. Or Use GETFILE() function to see this behavior.


ScriptMaker
NOTE: if you are using ScriptMaker ..
In Vista after opening a scriptmaker project - the moment the hScrollBar is moved to see the top 'Inno' Compiler button, this error comes up...
Scriptmaker (title)
Integeruberlauf.