The path of a file is incorrectly converted to a short path when you drag a file to a Microsoft Office PowerPoint 2003 slide on a Microsoft Windows 2000-based computer (907523)



The information in this article applies to:

  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Server

SYMPTOMS

When you drag a file to a Microsoft Office PowerPoint 2003 slide on a Microsoft Windows 2000-based computer, the path of the file is incorrectly converted to a short path.

You notice this problem when one or more of the following conditions are true about the file that you drag to the slide:
  • The file name extension is longer than three characters.
  • The file name extension is no longer associated with the program to which the extension was originally associated.
If you try to open the embedded file, a temporary file that has a three-letter file name extension is created. The correct program does not start.

CAUSE

This problem occurs because the Windows shell (Shell32.dll) may be invoked to incorrectly call an API to convert the path of the file to a short path.

Note This problem does not occur in Microsoft Windows XP and in latter versions of Windows.

Note This problem does not occur with all programs. Whether this problem occurs depends on the Component Object Model (COM) API that is called to access the file.

RESOLUTION

To resolve this problem, use one of the following methods:
  • Associate file name extensions that have more than three characters by using one of the following:
    • A storage object
    • A pattern in the file that is associated with the file name extension
  • Associate file name extensions that are no longer associated with the original program by using one of the following:
    • A storage object
    • A pattern in the file that is associated with the file name extension
Note For more information, see the Microsoft Developer Network (MSDN) Library documentation for the GetClassFile function.

MORE INFORMATION

Steps to reproduce the problem

To reproduce this problem, follow these steps on a computer that is running Microsoft Windows 2000.
  1. Create a file that has a file name extension that is five characters long. For example, create a file that is named Test.12345.
  2. Save the file that you created in step 1 to the desktop.
  3. Start PowerPoint 2003.
  4. Drag the file that you created in step 1 to a PowerPoint slide, and then double-click the embedded file.
  5. In the Open With dialog box, notice that the file now shows a file name extension that is three characters long.
A file name extension suggests, but does not guarantee, that a file contains a certain type of data. When you name a file, the GetClassFile function finds the Class Identifier (CLSID) that is associated with that file. For example, when the OleCreateFromFile function passes a file name, the function requires an associated CLSID. Another example is when the OLE implementation of the IMoniker::BindToObject function calls the GetClassFile function to locate the object application that can open a file.

Modification Type:MajorLast Reviewed:11/15/2005
Keywords:kbtshoot kbprb KB907523 kbAudEndUser kbAudGeneralUser