I encountered this problem while working a couple of days ago.

A new installation of Dragon NaturallySpeaking had a warning window about "known" issues with version of the file C:WindowsSystem32pdm.dll.

An error message relating to this problem was displayed with Dragon NaturallySpeaking 10 Preferred (yes, that is the latest version, and yes, that is one of the editions). It was already installed and functioning properly, but the error message communicated that their were known conflicts with pdm.dll and to access technote #4096 at http://knowledgebase.nuance.com.

Problems: the error message is itself quite cryptic, not clearly communicating the nature of the problem. Furthermore, a search for 4096 at http://knowledgebase.nuance.com returns zero matches.

The only way I could find the solution, located at http://knowledgebase.nuance.com/view.asp?60VQ=IDGD, was to go to google.com and search for “site:knowledgebase.nuance.com 4096” (without quotes). Are normal users going to think of that? No. Should users have to think of that? No.

Even more interesting is that the article in Nuance's Knowledge Base mentions that the pdm.dll error affects versions 7, 8, and 9 of the software. The installation was a version 10 product. The "solution" proposes changing the name of a Windows sytem file (for users that do not have Visual Studio version 6.0 installed). Bad idea.

From the Knowledge Base article:

Complete the following steps:

1. After receiving the message, close all windows and return to the Windows Desktop.

2. Find/Search for "pdm.dll"

3. After you locate this file, rename the file from "pdm.dll" to "pdm.old."

4. Reboot the computer and try to use Dragon NaturallySpeaking again.

If "the file is in use" error is triggered, it may be necessary to rename the file in Windows Safe Mode. To restart the computer in Safe Mode, reboot the computer and press "F8" when the Windows Loading screen appears. Select "Safe Mode" from the list of choices. Reboot the computer normally once the change has been made.

Should the developers of Dragon NaturallySpeaking have avoided the problem in the first place? Yes.

The library is required by Visual Studio, which most users do not have installed on their machines. The installation routine could automatically check for the presence of Visual Studio. If a version of the software is installed that could pose compatibility issues, the installation routine could present clear notice on the issue (along with direct links to the knowledgebase entry and Microsoft’s download center for Visual Studio).

If Visual Studio is not installed, the installer could offer to automatically resolve the issue by renaming the file.

Better yet, why not write the software in such a way as to eliminate any dependence on the state of the existence or non-existence of a particular Windows DLL that it cannot install by itself?

It is not my intention to single out the developers of Nuance's Dragon NaturallySpeaking. The software is powerful, and enjoys significant popularity. However, examples like this should serve to encourage all developers to be more careful. There are, of course, many other examples that could be cited.

One-time developer convenience should not take precedence over the quality of the experience of end users.