Saturday, November 14, 2009

How to Use a Microsoft Natural Keyboard Pro in Windows 7/Vista

When Microsoft released an update to its IntelliType keyboard software to coincide with the launch of Windows Vista, it conspicuously dropped support for one if its keyboard models: the Microsoft Natural Keyboard Pro (pictured). When you select the keyboard model on Microsoft's keyboard software download page, the latest operating system supported is Windows XP. At first glance, Vista and Windows 7 users would appear to be out of luck.

While the standard keys will work without any special software in any version of Windows, the IntelliType software is required to make full use of the extra "media keys" at the top of the Natural Keyboard Pro. These extra keys control music and video playback, web browser navigation, and some other convenient functions. Some clever users quickly realized they could get partial functionality by selecting a similar keyboard model instead ("Internet Keyboard", "Natural Ergonomic Keyboard 4000" or "Natural MultiMedia Keyboard"), but that method is an incomplete solution: the media keys will then work with their default behavior but can't be reprogrammed. Whereas in Windows XP you could set the Media key to open iTunes (for example), in Vista or Windows 7 the button would only launch Windows Media Player.

I was OK with this limitation as a Vista user, but with the awful changes in Windows 7's Windows Media Player 12, I was inspired to find a way to reprogram the Media button to launch a more sensible music program. Good news for Natural Keyboard Pro owners: the instructions below describe an easy way to restore full functionality for the keyboard under Windows Vista and Windows 7, including programmable media keys. As with certain other Microsoft hardware, this seems to be a case of Microsoft phasing out support for a perfectly functional product for questionable reasons.

Instructions

Follow the steps below to set up the Microsoft IntelliType Pro software with your Microsoft USB Natural Keyboard Pro on Windows Vista or Windows 7 (32-bit or 64-bit).

1. Download IntelliType Pro

Download the appropriate version of Microsoft IntelliType Pro for your edition of Windows:
If Microsoft has released a newer version of IntelliType since this article was written, your results may vary. The current version as of this writing (according to the installer filename) is 7.00.260.0. It's possible that future versions may include changes that make these instructions obsolete. If you decide to install a newer version of IntelliType and run into trouble, uninstall it and use the version linked above instead.

2. Install IntelliType Pro

Run the installer you downloaded. When asked to select your keyboard model, choose "Natural MultiMedia Keyboard." You will also be asked if you would like the software to automatically check for new versions. I suggest you disable automatic updates: a new version of the software could undo the changes you will be making here.

3. Duplicate some IntelliType files

You will be modifying some of the files that come with the IntelliType software. First, locate each of the files listed below and make a duplicate copy in another location, such as on your Desktop.
  • 32-bit Windows users:
    • C:\Program Files\Microsoft IntelliType Pro\ITypeDevices.xml
    • C:\Program Files\Microsoft IntelliType Pro\Driver\type32\type32.inf

  • 64-bit Windows users:
    • C:\Program Files\Microsoft IntelliType Pro\ITypeDevices.xml
    • C:\Program Files\Microsoft IntelliType Pro\Driver\type64\type64.inf

4a. 32-bit users only: Modify type32.inf

(64-bit users, go to Step 4b.)

Now find the duplicate copy you made of type32.inf. Double-click the file to open it in Notepad. Then scroll down to locate the section of the file that looks like this:
; =================== Section for Windows Vista ===========================

[MsMfg.NT.6.0]

;========= Microsoft USB Internet Keyboard (IntelliType Pro)
%HID\VID_045E&PID_002D&MI_00.DeviceDesc%=MicrosoftKBD_Dev_Vista,HID\VID_045E&PID_002D&MI_00


Now add the following lines right after [MsMfg.NT.6.0]. (When you hover over the text below, a "copy to clipboard" button will appear.)
;========= Microsoft USB Natural Keyboard Pro (IntelliType Pro)
%HID\VID_045E&PID_001D&MI_00.DeviceDesc%=MicrosoftKBD_Dev_Vista,HID\VID_045E&PID_001D&MI_00


Next, scroll down to locate the section of the file that looks like this:
; ======================== Strings ==========================

[Strings]

Microsoft="Microsoft"
IntelliTypeProCD="Microsoft IntelliType Pro CD"
DeviceDesc="Microsoft Keyboard IntelliType Pro Driver"

Insert the following line right after the text shown above. (When you hover over the text below, a "copy to clipboard" button will appear.)
HID\VID_045E&PID_001D&MI_00.DeviceDesc = "Microsoft USB Natural Keyboard Pro (IntelliType Pro)"

Save the file and proceed with Step 5.

4b. 64-bit users only: Modify type64.inf

Now find the duplicate copy you made of type64.inf. Double-click the file to open it in Notepad. Then scroll down to locate the section of the file that looks like this:
; =================== Section for Windows Vista (NTamd64.6.0) ===========================

[MsMfg.NTamd64.6.0]

;========= Microsoft USB Internet Keyboard (IntelliType Pro)
%HID\VID_045E&PID_002D&MI_00.DeviceDesc%=MicrosoftKBD_Dev_Vista,HID\VID_045E&PID_002D&MI_00


Now add the following lines right after [MsMfg.NTamd64.6.0]. (When you hover over the text below, a "copy to clipboard" button will appear.)
;========= Microsoft USB Natural Keyboard Pro (IntelliType Pro)
%HID\VID_045E&PID_001D&MI_00.DeviceDesc%=MicrosoftKBD_Dev_Vista,HID\VID_045E&PID_001D&MI_00


Next, scroll down to locate the section of the file that looks like this:
; ======================== Strings ==========================

[Strings]

Microsoft="Microsoft"
IntelliTypeProCD="Microsoft IntelliType Pro CD"
DeviceDesc="Microsoft Keyboard IntelliType Pro Driver"

Insert the following line right after the text shown above. (When you hover over the text below, a "copy to clipboard" button will appear.)
HID\VID_045E&PID_001D&MI_00.DeviceDesc = "Microsoft USB Natural Keyboard Pro (IntelliType Pro)"

Save the file and proceed with Step 5.

5. Modify ITypeDevices.xml

Now find the duplicate copy you made of ITypeDevices.xml and open it in Notepad. Then scroll down to the very end of the file and examine the last 2 lines:
  </Device>
</MicrosoftHardwareDevices>

You will copy and paste a long section of text after </Device>. To keep the instructions readable, I am including the text in an appendix at the bottom of this article. Copy the text from the appendix and paste it into the file after the </Device> line.

Save the file and close Notepad.

6. Copy your modified files back to the IntelliType folder

Now copy the 2 files you modified in the previous steps back into the IntelliType folder, overwriting the original copies. You may wish to make another backup copy of the originals before replacing them.
  • 32-bit Windows users:
    • Copy ITypeDevices.xml to C:\Program Files\Microsoft IntelliType Pro
    • Copy type32.inf to C:\Program Files\Microsoft IntelliType Pro\Driver\type32

  • 64-bit Windows users:
    • Copy ITypeDevices.xml to C:\Program Files\Microsoft IntelliType Pro
    • Copy type64.inf to C:\Program Files\Microsoft IntelliType Pro\Driver\type64

You may receive a message saying "You'll need to provide administrator privileges to copy to this folder." If so, be sure to confirm by clicking "Continue".

7. Close IntelliType

Now you will need to temporarily close the IntelliType software, which runs in the background:
  • Right-click on the Windows taskbar
  • Choose "Start Task Manager"
  • Click the "Processes" tab
  • Highlight the itype.exe process
  • Click "End Process"
  • Confirm by clicking "End process" again
  • Close Windows Task Manager

8. Update your keyboard driver

Open your Control Panel, choose the "Hardware and Sound" category, and open the Device Manager. Find the "Keyboards" item in the device list and expand it to show your "Microsoft USB Natural Keyboard Pro", like this:



Right-click the keyboard item and choose "Update Driver Software...". You'll see this window:



Click "Browse my computer for driver software" to proceed to the next step:



Click "Let me pick from a list of device drivers on my computer". In the next step, click "Have Disk..." and browse to the appropriate driver folder:
  • 32-bit Windows users: C:\Program Files\Microsoft IntelliType Pro\Driver\type32
  • 64-bit Windows users: C:\Program Files\Microsoft IntelliType Pro\Driver\type64
Click "OK" and verify that the IntelliType Pro driver is now listed, like this:



Click "Next" and you will receive a driver warning:



Choose "Install this driver software anyway" and you should receive confirmation that the driver was updated:



9. Open the Key Settings control panel

  • Windows Vista users:
    • Open Control Panel
    • Open the "Hardware and Sound" category
    • Click "Keyboard"

  • Windows 7 users:
    • Open Control Panel
    • Open the "Hardware and Sound" category
    • Open the "Devices and Printers" category
    • Right-click the keyboard icon and choose "Keyboard settings"

This will automatically restart the IntelliType software, which you closed in Step 8. You should now see the IntelliType settings like this:



(Your settings box won't show the model as "Natural Keyboard Pro" until after the next step.)

10. Change your keyboard model to Natural Keyboard Pro

In the IntelliType settings, click the "Change..." button. The Natural Keyboard Pro should now be listed as an option. (Note that you will not see a photo of the keyboard, but that's OK.) Select the keyboard model and click "OK". The list of media keys should now correspond to the buttons on your Natural Keyboard Pro.

Reprogram a media key to test the software. For example, change the Calculator button to launch another program and make sure it works as expected.

You're done. Enjoy!

Technical Notes

I found the hardware details for the Natural Keyboard Pro by examining the .INF file from IntelliType Pro 5.5, the last version of IntelliType (released for Windows XP) which supported that model.

I created the media key definition (the text added to ITypeDevices.xml) using the other keyboard models in that file as an example, and by cross-referencing with mscmdkey.xml (another configuration file found in the IntelliType folder). The Device ID I chose (1001) has no special significance, except that it was not already used elsewhere in the file. The same is true of the OemAbbreviation "NKP".

It's difficult not to be suspicious of Microsoft's motives here. From all appearances, they could have simply left the Natural Keyboard Pro lines in the driver and it would have continued to work perfectly with Windows Vista and Windows 7. Instead, the company went to the effort of specifically deleting that model from the driver, possibly hoping owners would surrender in frustration and buy Microsoft's top-of-the-line model instead. Perhaps Microsoft should start thinking of reliable products that work for many years as a selling point and a mark of pride, rather than a burden on their future hardware sales.

Appendix: Text to add to ITypeDevices.xml in Step 5

(When you hover over the text below, a "copy to clipboard" button will appear.)

  <Device ID='1001' Type='Keyboard'>
    <Name>Natural Keyboard Pro</Name>
    <OemAbbreviation>NKP</OemAbbreviation>
    <HWID Type='PID'>
      0x001D
      <CollectionList>
        <Collection>
          <CollectionId>1</CollectionId>
          <CollectionFeature>KEYBOARD</CollectionFeature>
        </Collection>
      </CollectionList>
    </HWID>
    <PCImageFile></PCImageFile>
    <EventList>
      <Event>
        <Id>BROWSER_BACK_KEY_EVENT</Id>
        <DisplayName>IDS_KN_BROWSER_BACKWARD</DisplayName>
        <EventIcon>IDI_BROWSER_BACKWARD</EventIcon>
        <DefaultCommand>BROWSER_BACK_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>BROWSER_FORWARD_KEY_EVENT</Id>
        <DisplayName>IDS_KN_BROWSER_FORWARD</DisplayName>
        <EventIcon>IDI_BROWSER_FORWARD</EventIcon>
        <DefaultCommand>BROWSER_FORWARD_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>BROWSER_STOP_KEY_EVENT</Id>
        <DisplayName>IDS_KN_BROWSER_STOP</DisplayName>
        <EventIcon>IDI_BROWSER_STOP</EventIcon>
        <DefaultCommand>BROWSER_STOP_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>BROWSER_REFRESH_KEY_EVENT</Id>
        <DisplayName>IDS_KN_BROWSER_REFRESH</DisplayName>
        <EventIcon>IDI_BROWSER_REFRESH</EventIcon>
        <DefaultCommand>BROWSER_REFRESH_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>BROWSER_SEARCH_KEY_EVENT</Id>
        <DisplayName>IDS_KN_BROWSER_SEARCH</DisplayName>
        <EventIcon>IDI_BROWSER_SEARCH</EventIcon>
        <DefaultCommand>BROWSER_SEARCH_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>BROWSER_FAVORITES_KEY_EVENT</Id>
        <DisplayName>IDS_KN_BROWSER_FAVORITES</DisplayName>
        <EventIcon>IDI_BROWSER_FAVORITES</EventIcon>
        <DefaultCommand>BROWSER_FAVORITES_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>BROWSER_HOME_KEY_EVENT</Id>
        <DisplayName>IDS_KN_BROWSER_HOME</DisplayName>
        <EventIcon>IDI_BROWSER_HOME</EventIcon>
        <DefaultCommand>BROWSER_HOME_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>MAIL_KEY_EVENT</Id>
        <DisplayName>IDS_KN_LAUNCH_MAIL</DisplayName>
        <EventIcon>IDI_LAUNCH_MAIL</EventIcon>
        <DefaultCommand>LAUNCH_MAIL_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>MUTE_KEY_EVENT</Id>
        <DisplayName>IDS_KN_VOLUME_OSD</DisplayName>
        <EventIcon>IDI_VOLUME_UP_DOWN</EventIcon>
        <DefaultCommand>VOLUME_MUTE_COMMAND</DefaultCommand>
        <Capability Name='UserAssignable'/>
        <Capability Name='CantDisable'/>
      </Event>
      <Event>
        <Id>VOLUME_UP_KEY_EVENT</Id>
        <DisplayName>IDS_KN_VOLUME_OSD</DisplayName>
        <EventIcon>IDI_VOLUME_UP_DOWN</EventIcon>
        <DefaultCommand>VOLUME_UP_COMMAND</DefaultCommand>
      </Event>
      <Event>
        <Id>VOLUME_DOWN_KEY_EVENT</Id>
        <DisplayName>IDS_KN_VOLUME_OSD</DisplayName>
        <EventIcon>IDI_VOLUME_UP_DOWN</EventIcon>
        <DefaultCommand>VOLUME_DOWN_COMMAND</DefaultCommand>
      </Event>
      <Event>
        <Id>PLAY_PAUSE_KEY_EVENT</Id>
        <DisplayName>IDS_KN_MEDIA_PLAY_PAUSE</DisplayName>
        <EventIcon>IDI_MEDIA_PLAY_PAUSE</EventIcon>
        <DefaultCommand>MEDIA_PLAY_PAUSE_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>MEDIA_STOP_KEY_EVENT</Id>
        <DisplayName>IDS_KN_MEDIA_STOP</DisplayName>
        <EventIcon>IDI_MEDIA_STOP</EventIcon>
        <DefaultCommand>MEDIA_STOP_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>PREVIOUS_TRACK_KEY_EVENT</Id>
        <DisplayName>IDS_KN_MEDIA_PREVIOUSTRACK</DisplayName>
        <EventIcon>IDI_MEDIA_PREVIOUSTRACK</EventIcon>
        <DefaultCommand>MEDIA_PREVIOUS_TRACK_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>NEXT_TRACK_KEY_EVENT</Id>
        <DisplayName>IDS_KN_MEDIA_NEXTTRACK</DisplayName>
        <EventIcon>IDI_MEDIA_NEXTTRACK</EventIcon>
        <DefaultCommand>MEDIA_NEXT_TRACK_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>MEDIA_KEY_EVENT</Id>
        <DisplayName>IDS_KN_LAUNCH_MEDIA_SELECT</DisplayName>
        <EventIcon>IDI_LAUNCH_MEDIA_SELECT</EventIcon>
        <DefaultCommand>LAUNCH_MEDIA_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>MY_COMPUTER_KEY_EVENT</Id>
        <DisplayName>IDS_KN_LAUNCH_APP1</DisplayName>
        <EventIcon>IDI_LAUNCH_APP1</EventIcon>
        <DefaultCommand>LAUNCH_MY_COMPUTER_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>CALCULATOR_KEY_EVENT</Id>
        <DisplayName>IDS_KN_LAUNCH_APP2</DisplayName>
        <EventIcon>IDI_LAUNCH_APP2</EventIcon>
        <DefaultCommand>LAUNCH_CALCULATOR_COMMAND</DefaultCommand>
        <Capability Name='CanRemap'/>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>LEFT_WINDOW_KEY_EVENT</Id>
        <DisplayName>IDS_KN_LWIN</DisplayName>
        <EventIcon>IDI_LWIN</EventIcon>
        <DefaultCommand>LEFT_WINDOW_COMMAND</DefaultCommand>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>RIGHT_WINDOW_KEY_EVENT</Id>
        <DisplayName>IDS_KN_RWIN</DisplayName>
        <EventIcon>IDI_RWIN</EventIcon>
        <DefaultCommand>RIGHT_WINDOW_COMMAND</DefaultCommand>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>APPS_KEY_EVENT</Id>
        <DisplayName>IDS_KN_APPS</DisplayName>
        <EventIcon>IDI_APPS</EventIcon>
        <DefaultCommand>APPS_COMMAND</DefaultCommand>
        <Capability Name='UserAssignable'/>
      </Event>
      <Event>
        <Id>CAPSLOCK_KEY_EVENT</Id>
        <DisplayName>IDS_KN_CAPITAL</DisplayName>
        <EventIcon>IDI_CAPITAL</EventIcon>
        <DefaultCommand>CAPSLOCK_COMMAND</DefaultCommand>
        <Capability Name='UserAssignable'/>
      </Event>
    </EventList>
  </Device>

Monday, October 26, 2009

How to Use a Microsoft Fingerprint Reader in Windows 7 (DigitalPersona Password Manager)

If you have a Microsoft Fingerprint Reader, Microsoft will tell you that it won't work with Windows 7. If you try to install the driver software anyway, Windows blocks it for "compatibility reasons." However, using the instructions in this post, you can install the software and use the fingerprint reader successfully in Windows 7 (32-bit edition only).

No one expects ancient devices to be supported by a manufacturer for eternity, but it's frustrating when Microsoft discontinues support for using its own devices with its own software. A cynic might speculate that Microsoft is trying to cut corners on support costs and force users to buy new hardware with a policy of planned obsolescense. Based on how well the fingerprint reader works in Windows 7 despite Microsoft's insistence, there's certainly evidence for that perspective.

Prerequisites

There are lots of fingerprint reader devices and different versions of Windows. This article refers only to the following hardware and software combination:
  • Microsoft USB Fingerprint Reader (pictured)
  • Microsoft Windows 7 (32-bit version)
    • These instructions refer to the retail ("RTM") version of Windows 7
    • These instructions assume a "clean install" of Windows 7. If you upgraded a Windows Vista installation that already contained the DigitalPersona software, users have reported that the fingerprint reader should continue working without any extra steps.
    • Some earlier prerelease versions of Windows 7 did not require these extra steps to install the driver software
    • These instructions will not work with the 64-bit version of Windows 7
Other similar fingerprint readers, like those built in to HP laptops, use different driver software and will not work with these instructions. This post refers only to Microsoft-branded devices.

Instructions

Follow the steps below to install the Fingerprint Reader driver software on Windows 7 (32-bit).

Step 1. Download DigitalPersona Password Manager 2.0.1

Follow any of the download links below. I am including multiple links in case Microsoft removes the installer in the future (since the product itself has been discontinued).

Step 2. Run the installer (DPPM_201_ENG.exe)

Now run the installer you downloaded from within Windows 7. You'll get an error message from the "Program Compatibility Assistant" (PCA), similar to this one:


Click "Cancel". We're going to have to bypass the PCA to get this installer to run.

Step 3. Bypass PCA

We're going to disguise the identity of the installer so the PCA will allow it to run. How does Windows know in advance which programs might be incompatible? It contains a hard-coded list of ID numbers for programs that Microsoft or another manufacturer has flagged as potentially dangerous (either to your computer or to the company's profit margin). We can't modify that hard-coded list, but we can change the ID number that the installer reports to Windows.

i. Find and copy the installer MSI file

When you ran the DigitalPersona installer -- even though it did not fully launch -- it extracted another install file to your computer. The other install file is called WIS73ECBBAB86D84A32854CDCAF90E63AFE_2_0_1.MSI and is found in the C:\Program Files\Common Files\Wise Installation Wizard folder. Locate the MSI file on your computer and copy it to your desktop (or another folder of your choice). You will be modifying this duplicate copy.

ii. Download and install Microsoft's Orca utility

Orca is a free utility distributed by Microsoft to make changes to MSI installer files. It's included as part of the Microsoft Windows SDK. Since the SDK is a huge download, it's easier to download Orca alone from one of these sources:
  • orca.msi (Download site #1 - Technipages)
  • orca.msi (Download site #2 - brentnorris.net)
  • orca.msi (Download site #3 - Colligo)
After downloading, double-click orca.msi to install Orca. If you prefer, you can also use an equivalent third-party tool like InstEd. However, the instructions that follow relate to Orca.

iii. Modify the MSI installer file with Orca

Find the Orca program in your Start menu and run the program. In Orca, open the duplicate copy you made of the DigitalPersona MSI installer file (the one with the really long filename, not the orca.msi file). It will look like this:



Find and click on the "Property" table in the left-hand Tables list, then locate the "ProductCode" property in the right-hand Property list. The current value should be a long string of numbers and letters as shown in the picture above. Double-click the value for the ProductCode property to edit it. Change the last letter "E" to the letter "F" and hit Enter, so that the ProductCode now looks like this: {73ECBBAB-86D8-4A32-854C-DCAF90E63AFF}

Save the file in Orca and close Orca. If you don't close Orca, you will not be able to proceed. That's all that is required; now that the installer has a slightly different product code, it will no longer match Windows' blacklist of dangerous programs.

iv. Open the modified MSI installer file

Now find the DigitalPersona MSI installer file you just modified on your computer and double-click it to open it. You should no longer receive a PCA error box. If you did, make sure you have closed Orca, make sure you are trying to run the correct file and double-check that you've completed these steps correctly.

Step 4. Complete the DigitalPersona installation

If you've followed the steps above, your DigitalPersona installer is now running. Make sure your fingerprint reader is plugged in. Click "Next" to proceed through the installation, but when you reach the last step, do not click Finish. Leave the installer running and do the following:
  • Browse to the following folder in Windows Explorer: C:\Program Files\DigitalPersona\Bin
  • Right-click DPAgnt.exe and open "Properties"
  • Open the "Compatibility" tab
  • Click "Change settings for all users"
  • Under "Compatibility mode", check "Run this program in compatibility mode for" and choose "Windows Vista"
    • There are 3 similar compatibility options listed: "Windows Vista", "Windows Vista (Service Pack 1)" and "Windows Vista (Service Pack 2)". I used the regular "Windows Vista" option.
  • Under "Privilege Level", check "Run this program as an administrator"
  • Click OK to close the "Compatibility for all users" box
  • Click OK to close the Properties box
  • Repeat these steps for each of the other EXE files in the same folder:
    • DPConsol.exe
    • DPExpImp.exe
    • DpFpLogonManager.exe
    • DpHost.exe
    • DPRunDll.exe
    • DPWinLct.exe

Now return to the installer and click the Finish button. The installer will ask to restart your computer; go ahead and allow it to restart Windows.

Step 5. Make some post-install changes

Once Windows restarts, browse back to the C:\Program Files\DigitalPersona\Bin folder in Windows Explorer. Right-click DPAgnt.exe and open "Properties" to the "Compatibility" tab once more. Click "Change settings for all users" and under "Privilege Level", uncheck "Run this program as an administrator". Click OK to close the "Compatibility for all users" box and OK again to close the Properties box. Make the same change to DPConsol.exe in the same folder.

Now restart Windows again, or just log out and log back in if you prefer.

Step 6. Complete the fingerprint reader setup

When Windows starts back up, the fingerprint reader initial setup window should appear automatically. Follow the instructions to set up your Windows logon password, fingerprints, and so on. You should now be able to use the fingerprint reader normally to log in to Windows and automatically enter other passwords in Windows 7.

Acknowledgements

The necessary file permissions were first discovered and documented by Saulo Castelo Sampaio and Dav at SevenForums.com.

Microsoft Fingerprint Readers and 64-bit Windows

Microsoft first fell short in its support of the fingerprint reader when it promised drivers for Windows Vista 64-bit, then failed to deliver them. The company eventually acknowledged its broken promise by quietly offering a refund to device owners who were unable to use the fingerprint reader with Vista 64-bit.

If you were affected by Microsoft's failure to fully support its fingerprint readers, you should request this refund. Follow the instructions at FatWallet to call Microsoft and claim your refund check. Mention that you were unable to use the device with Windows Vista 64-bit. Microsoft will ask for the PID number from the bottom of your fingerprint reader, but will not verify your copy of Windows Vista. Hopefully the expense of paying refund checks to disappointed users will motivate Microsoft and other vendors to fully honor their product support obligations.

Sunday, October 18, 2009

How to Stream Full-Length Songs from Lala

I've used several online music download stores in the past and I've found that Lala.com has some distinct advantages over competitors like iTunes and Amazon. For one thing, many full MP3 albums are significantly cheaper at Lala, often $7.49 for albums that cost $9.99 elsewhere. What's more, Lala allows webmasters to embed a music player in any web page (for example, an album review) that allows web site visitors to stream full-length tracks right there on the spot, for free. The Lala player allows one play-through per song and then you're asked to sign up for the service and pay for additional streams or downloads.

This is a great feature. In fact, I often find the embedded mini-player to be a better way to try out music than loading up the full Lala web site. With that in mind, this post will show you an easy way to find and play full-length streaming tracks from Lala, without having to create an account at Lala.com.

Option 1: Play tracks from Lala right here

Below you'll find a form with Artist and Album search fields. Just enter an artist and album of your choice and click "Load tracks from Lala." An embedded music player will appear with the corresponding songs (keep in mind that not all artists are carried by Lala). Click the Play button to stream full-length tracks.


Option 2: Create your own Lala player

You can save your own copy of the custom Lala player seen above. Just create a text file called lala.html (use Notepad in Windows or TextEdit in MacOS). Then copy and paste the following lines into the file. (When you hover over the code below, a "copy to clipboard" icon will appear.)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Lala Player</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="http://www.lala.com/external/widgets/LalaWidgets.js"></script>
<script type="text/javascript">
function loadLala() {
  $('div#embedLalaPlaylistWidget').remove();
  lala._loaded = false;
  $('<div id="embedLalaPlaylistWidget"></div>').appendTo('div#lalaSeparator');
  $('div#embedLalaPlaylistWidget').attr('widgetArtistName', $('input#widgetArtistName').attr('value'));
  $('div#embedLalaPlaylistWidget').attr('widgetAlbumName', $('input#widgetAlbumName').attr('value'));
  $('div#embedLalaPlaylistWidget').attr('widgetPartnerId', 'blogfeld');
 lala.onload();
}
$(document).ready(function() {
  $('input#widgetArtistName').select();
  $('input#widgetArtistName').focus();
});
</script>
</head>
<body>
<form method="get" action="#" onsubmit="loadLala();return false">
<label for="widgetArtistName">Artist keywords</label>
<input name="widgetArtistName" id="widgetArtistName" value="" /><br />
<label for="widgetAlbumName">Album keywords</label>
<input name="widgetAlbumName" id="widgetAlbumName" value="" />
<input type="submit" value="Load tracks from Lala" />
</form>
<div id="lalaSeparator"><hr /></div>
</body>
</html>

You can now open the HTML file in your web browser to easily find and play songs from Lala.

Replaying a Song

As mentioned, the Lala player will normally allow only one play per song. However, if you need to replay a track (for example, the phone rang and you missed it the first time) you've got a couple of options.

  1. Load up the Lala player in a different web browser (for example, Firefox instead of Internet Explorer)
  2. or Delete your browser cookies for the domain lala.com, then refresh the web page and load the tracks again
  3. or Enable Privacy Mode in your web browser, then load the Lala player. (Instructions are available for Internet Explorer, Firefox, Google Chrome and Safari.) You'll need to disable and then re-enable Privacy Mode to play the song again.

If you like the tracks, definitely consider signing up for Lala. So far, iTunes and Amazon haven't matched Lala's MP3 prices or full-length streaming offerings.