PRB: Visual Basic UserDocuments Are Displayed as Garbage Text

Last reviewed: August 4, 1997
Article ID: Q172063
The information in this article applies to:
  • Microsoft Visual Basic Control Creation, Professional, and Enterprise Editions for Windows, version 5.0

SYMPTOMS

When the UserDocument files are placed on a UNIX or NetScape Web server, Internet Explorer (IE) will fail to display the UserDocument correctly. IE will interpret the raw binary data of the .VBD as text and will display a series of random (garbage) characters, including boxes or symbols.

CAUSE

This occurs because some Web servers often associate the incorrect content type, or MIME type, with files whose extensions are unrecognized.

.VBD files are binary files that contain the persistent properties that are exported by the UserDocument. When Internet Explorer downloads these files, it must know to treat them as binary files, not as text files.

Some Web servers will, by default, associate all files whose extensions are unrecognized with the content type "text/plain." Because .VBD is not a commonly used file-extension, .VBD files on problem servers will often get branded as "text/plain."

When Internet Explorer receives the "text/plain" content type HTTP header, it will attempt to display the .VBD file as a text file. This results in the garbage characters that appear in the window. When it receives the "application/octet-stream" content type instead, it saves the .VBD file into the Internet Explorer cache and then activates the associated Visual Basic UserDocument for that .VBD file.

This problem will not occur on Microsoft Internet Information Server (IIS) because it associates all files with unrecognized file extensions with the content type "application/octet-stream."

RESOLUTION

There are two possible ways to avoid this problem on Web servers that cause this problem:

Method 1

The Web server administrator can add a content type association manually for .VBD files so that Internet Explorer will correctly display these files. The exact steps to do this vary according to the Web server. In general, the association needs to exist for the file extension .VBD to the MIME content type "application/octet-stream."

Method 2

The actual extension for Structured Storage files is not very important. Embedded within the .VBD file is the unique identifier for the UserDocument that knows how to display and save the properties that are contained within the .VBD file. This identifier is retrieved and used regardless of the actual extension of the file. However, to avoid confusion and conflicts with other file extensions, it is recommended that an extension is chosen that is already associated with the content type "application/octet-stream" and is not associated with other content types. The extension .BIN generally works well.

However, following this method and making this change often requires a few other changes as well. The .HTM file that is generated by the Application Setup Wizard must be changed. Locate the line that causes Internet Explorer to navigate to the .VBD file, and change the extension from .VBD to .BIN. Also, if the Active Document code uses a Hyperlink object to navigate to other .VBD files, these filename extensions will need to be renamed from .VBD to .BIN as well.

STATUS

This behavior is by design.

MORE INFORMATION

"Active Document" is the term for what was once called an "ActiveX Document." When this article refers to a "UserDocument," this is taken to mean the Visual Basic 5.0 technology that allows Visual Basic forms to be hosted as Active Documents in Active Document containers such as Internet Explorer.

Keywords          : vb5all VBKBAX VBKBComp VBKBInet
Version           : 5.0
Platform          : WINDOWS
Issue type        : kbprb


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: August 4, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.