Windows Vista is Microsoft's newest version of its venerable desktop operating system. Whether you're planning on moving to Windows Vista anytime soon or not, it's likely your customers are, whether by upgrading an existing system or buying a new one with Vista pre-installed. While one of Vista's goals is backward-compatibility with existing applications, that goal is somewhat compromised by other goals, including improved security and a revamped user interface. As a result, it's likely to have an impact on your VFP applications, ranging from minimal to serious.
This two-part article examines the things you need to know to create Vista-compatible VFP applications. I'll start by briefly looking at what benefits Vista brings to users and why they may chose to move to it. I'll then discuss how Vista impacts applications in general and VFP applications in particular, especially when it comes to security, folder and Registry virtualization, and deployment. In the next article, I'll go over opportunities to take advantage of new Vista features, including user-interface improvements, Windows Desktop Search, RSS feeds, and XML Paper Specification.
Why Windows Vista?
There are a lot of reasons to move from your current operating system to Vista:
Cool Factor -- This might not seem like a compelling business reason to go through the pain of changing operating systems; but, the fact is that Vista is both visually very appealing and has some new features users love. The new Aero Glass user interface makes windows look prettier than before. Windows animations make the desktop seem livelier and more responsive.
Productivity improvements -- Windows Desktop Search is a powerful tool for locating files, images, video, and even applications, and is blindingly fast. SuperFetch and ReadyBoost make the operating system cache applications and data in system memory or even USB flash drives to greatly improve performance. The new Gadgets Sidebar put small yet useful applications, like an RSS reader, clock, or stock ticker, right on the desktop.
Security -- One of the best reasons to upgrade to Vista is improved security. Vista is, by default, locked down to a much greater degree than previous versions of Windows, so it's much easier to keep the nasties off your system.
Bug fixes -- Every piece of software has bugs, and one that has millions of lines of code is sure to have lots of them. Like most new versions, Vista fixes a lot of bugs found in previous releases, so chances are good that problems you had with XP or earlier versions are gone now. I'm not suggesting Vista is perfect -- there are likely some new bugs --but given the size and length of the beta, the average user isn't likely to encounter many.
Your customers have it or will get it -- As this article details, there are issues you need to be aware of to make your VFP applications work properly on Vista machines. It's almost certain that your customers already have or will soon have at least one or two Vista systems; as soon as they buy a new machine, they'll get it. There's no way you can determine what issues your application has on Vista unless you test it.
For more information on the benefits of using Vista, see Microsoft’s white paper titled "The Advantages of Running Applications on Windows Vista, available at http://msdn.microsoft.com/en-us/library/bb188739.aspx.
Security
One of the biggest changes in Windows Vista that affects applications is related to security. Let's look at what changes Microsoft made and how they impact our applications.
The problem with security
Although Microsoft has recommended against it for years, most users run as local administrators on their systems. There are at least three reasons for this:
Most application installers require administrative privileges because they install ActiveX controls or DLLs in the Windows System folder.
Many applications write to files, such as INI or data files, in their installation folder (usually a subdirectory of Program Files), which requires administrative privileges in Windows XP and higher.
Changes to configuration settings, even things as innocuous as system date and time, require administrative privileges.
As a result, most users learn the hard way to run as an administrator. If they don't, they can't install software, many applications fail, and they can't change the simplest things.
The problem with running as a local administrator is that all processes also run as administrator. This includes "malware," an abbreviation for "malicious software," which includes things such as viruses, worms, Trojan horses, spyware, and adware. Malware with administrative privileges can do anything it wants to your system, usually in the background and without your knowledge: delete or corrupt files, send spam messages, participate in denial-of-service attacks on other systems, or send confidential information such as passwords and credit card numbers to other computers.
One solution to malware is to ensure that all users normally run with the least amount of privileges on their systems. The problem, though, is that it wasn't easy to elevate privileges for tasks, such as installing software, that require administrative privileges. The user either had to log off and log back in as an administrator, switch to an administrator account, or use the not-well-known Run As function.
Windows Vista makes running as a standard user much easier through a new feature called User Access Control (UAC).