Tuesday, 10 November 2009

Windows 7 Is to Vista What XP Was to 2000

Filed under: Software Applications — Jan Goyvaerts @ 19:33

It seems that whenever Microsoft introduces a new version of Windows that includes major changes, they always need a follow-up release to get things right. Actually, that’s a good thing. It’s much better for the follow-up release to get things right rather than immediately making more major changes. If Windows is stable as a platform, it’s easier for application developers to support all the various versions of Windows that people are running today.

The major changes in Vista were stricter security policies and a new device driver model. This caused compatibility problems with software that didn’t follow the rules such as storing user data in c:\Program Files instead of the user’s data folder. That concept was introduced with Windows 95, but only not actually enforced until Vista. It took a bit of effort tracking down and fixing some of those issue with the Just Great Software products too. Hardware compatibility was also a problem if manufacturers didn’t provide updated drivers and the hardware wasn’t popular enough for a Microsoft driver to ship with Windows itself.

Windows 7 is essentially Windows Vista done right. The security policies are still the same, but the implementation has been polished, requiring far less clicks on that Continue button. The device driver model is also unchanged and manufactures have been shipping Vista-compatible and thus Windows 7-compatible drivers for several years now. Unsupported hardware is now mostly obsolete hardware.

What took the most work in making Just Great Software ready for Windows 7 was updating our various web sites to say that, yes, we support Windows 7. No important changes had to be made to the products themselves, because we’d already done all the hard work with the release of Windows Vista. The most significant compatibility problem we’ve discovered to date is that the drop-down lists on the toolbars in RegexBuddy and RegexMagic, such as those for selecting the regular expression flavor, show only half the button for dropping down the list. The fix for that will be rolled up as part of the next free minor updates for these products.

The most obvious new feature in Windows 7 is the redesigned taskbar. Whether you like the new taskbar or not, at least Microsoft did a good job of making sure existing applications work well with it. It even works well with Delphi applications that don’t set Application.MainFormOnTaskBar := True. That’s a feature CodeGear introduced a few Delphi versions ago for improved compatibility with Vista.

There’s a remarkable similarity between this story and that of Windows 2000 and XP. Windows 2000 was Microsoft’s first attempt to wean the world of the non-Unicode 16-bit/32-bit hodgepodge that were Windows 95, 98, and ME and onto the fully Unicode and fully 32-bit Windows NT. But due to software and hardware compatibility problems, many PC vendors continued to ship Windows 98, so people could run their old applications and games and use their old hardware. A lot of applications and hardware simply did not support Windows NT, making the move to Windows 2000 a big one.

Windows XP fixed that situation by being released in Home and Pro versions as well as simply by being released a few years later. Software and hardware developers had had the time to make their new offerings compatible with Windows 2000 and thus XP. The major new feature in Windows XP were the Windows themes. Instead of 1995-style gray rectangles, the windows in Windows were now blue and slightly curved, at least in the default theme. This instantly made software that didn’t support themes look outdated. But by providing two versions of a critical DLL, Microsoft made sure that those old applications still worked perfectly well, allowing them to keep their old looks.

The internal version numbers of Windows make this strategy clear. Remember Windows 3.0 and 3.1? Same story. Then Microsoft stopped using normal version numbers. Windows 95, 98, and ME are internally numbered 4.0, 4.10, and 4.90. Windows 2000 and Windows XP are actually Windows 5.0 and 5.1. Windows Vista is Windows 6.0, and Windows 7 is Windows 6.1. Seriously.

Wednesday, 14 January 2009

First Tests on Windows 7

Filed under: Just Great Software,Software Applications — Jan Goyvaerts @ 12:57

Installing the Windows 7 public beta into a VMware Workstation 6.5 virtual machine is trivial. Create a new virtual machine, and select the Windows 7 ISO file that you downloaded as the “installer disc image file”. VMware detects this as Windows Vista. There’s no official support for Windows 7 in VMware 6.5. Simply proceed with the New Virtual Machine Wizard. The Windows 7 beta will be installed just fine. At least it was for me. I installed the 32-bit version, with 32-bit XP as the host OS.

Microsoft announced that Windows 7 will be built on the same “core” as Windows Vista. Applications that are compatible with Vista should run just fine on Windows 7.

I tested the latest versions of all Just Great Software products. Porting these to Vista two years ago required quite a bit of work. That was mainly due to the new security restrictions in Vista. Microsoft has long been blamed for being lax about security. When they finally made Vista enforce rules that were introduced with Windows 95 over a decade ago, that broke a lot of applications. Ours also had minor issues.

As far as I can tell, Windows 7 uses the same security policies as Windows Vista. Any application that runs fine on Vista with UAC turned on should also run fine on Windows 7 with UAC turned on. Our applications cerainly do. The only significant difference I noticed is the “Change when these notifications appear” link at the bottom of the UAC alert. The choices are essentially: always, applications only (not for user actions), applications only without dimming, and never. The last option effectively disables UAC. Disabling UAC is possible in Vista too, but not nearly as easy.

User Account Control alert on Windows 7

I’ve put the Just Great Software applications through their paces. The first tests indicate they all run perfectly well on Windows 7. If you plan to test Windows 7 yourself, you won’t have to miss your favorite software.

RegexBuddy 3 and EditPad Pro 6 on Windows 7

The only significant change I noticed is the redesigned taskbar. The taskbar buttons now show large application icons, without text labels. The window captions appear when you over the mouse over an icon. Small icons can be used as an option.

New is that taskbar buttons can be “pinned” to the taskbar. If you do, closing an application does not remove the taskbar button. Clicking the button then starts the application. Buttons of applications that aren’t running have a different appearance than buttons of running applications when you hover the mouse over them, so there’s no confusion. Essentially the new taskbar folds the old taskbar and the “quick launch” area into one. All of this should save on taskbar real estate quite nicely, without taking away any functionality.

Tuesday, 25 November 2008

Change Drive Letters to Make Portable Installations Work Correctly

Filed under: Software Applications — Jan Goyvaerts @ 20:01

AceText, EditPad, RegexBuddy, and PowerGREP have supported portable installations for quite some time. If you’ve already installed them onto your PC, you can create a portable installation via an item in the Help menu. The latest versions come with an installer that has a Create Portable Installation button directly on the installer’s welcome screen (purchased version only). When installed this way onto a USB stick or other removable storage device, you can use these products on any PC, without leaving a trace on that PC. All settings are saved onto the USB stick.

One problem with portable installations is that when you plug your USB stick onto a PC, it doesn’t always get the same drive letter. Unfortunately, our products do not yet detect changing drive letters. This means that Reopen menus (MRU file lists) that list files on your USB stick won’t work when the drive letter changes. Though this certainly doesn’t render the product unusable, it is annoying. Upcoming free minor updates for all 4 products will fix this.

In the mean time, you can resolve this issue by telling Windows which drive letter it should use for your USB stick. This requires administrative privileges. So if you use a portable installation on your locked-down work PC and your home PC, you’ll have to follow the procedure on your home PC, to give your USB stick the same drive letter it automatically gets on your work PC.

The procedure is the same on Windows 2000, XP, and Vista. Here’s a screen shot of how to change drive letters taken on my laptop running Vista.

  1. Plug your USB stick into your PC, if you haven’t already.
  2. Open the Windows Control Panel.
  3. Double-click Administrative Tools in the control panel. You may need to switch the Control Panel to Classic View first to make that icon appear.
  4. Double-click Computer Management.
  5. Click on Disk Management under Storage in the tree view at the left.
  6. Right-click on the volume (drive) you want to change, and select Change Drive Letter and Paths.
  7. In the popup window that appears, select the current drive letter, and click the Change button.
  8. Another popup window appears. Select the drive letter you want from the drop-down list at the right. You can select any drive letter that is currently not in use.
  9. OK the two popup windows.
  10. Repeat the previous 4 steps if you want to change any other drive letters.
  11. Close the Computer Management screen

Windows will automatically remember the drive letter that you assign to each device, and use that drive letter next time you plug in the device. You can assign the same drive letter to multiple devices, as long as they’re not plugged in at the same time. If you plug in two devices to which you previously assigned the same drive letter, Windows will use the next available drive letter for the second device.

This procedure works for any partition on any device, except the partition that Windows boots from. The first thing I do when setting up a new PC is to repartition the hard disk and assign the same drive letters I always use. This way, I can easily synchronize application settings between multiple PCs, without having to worry about different drive letters.

Saturday, 26 July 2008

How to Open Downloaded HTML Help (CHM) Files

Filed under: Software Applications — Jan Goyvaerts @ 11:30

Suppose you head over to the brand new docs.codegear.com site. You want to download the updated Delphi 2007 help files in CHM format. CHM files open instantly, while the Microsoft document viewer used by the Delphi 2007 IDE takes forever.

If you open the downloaded CHM file on a fully patched Windows XP system, or on Windows Vista, you may end up with an Internet Explorer error message instead of the actual help text beside the help file’s table of contents. Internally, the HTML Help system uses Internet Explorer to display the topics in a CHM files. Technically, a CHM file is a bunch of HTML files and other support files compressed into a single file. That means that a CHM file can carry the same payload as an actual web page, including any sort of malware that you can download. Because of this, Microsoft tightened the security restrictions in a Windows XP security update. On Vista, this is the default.

The main problem with the security restrictions is that CHM files don’t work via the network. Unless you change the security settings on your computer, you have to save the CHM file to a local hard disk to be able to view it.

Another issue, though more a nuisance than a problem, is that CHM files you downloaded to your local hard disk still have the security restrictions applied to them. To be able to view the help file, you have to turn off “always ask before opening this file” in the security warning. Only then will the file be displayed correctly.

CHM file security warning

If you produce your own CHM files for your customers, you may get complaints that they don’t work. Don’t be too quick to blame your favorite help authoring tool. Your customers are merely running into the security issues I’ve just mentioned. Explain them how to install the CHM file to their local hard disk using your setup program, or how to copy the file manually and unblock it.