Internet Explorer reports unknown type .VBD for Active Document
This article was previously published under Q167380
This article has been archived. It is offered "as is" and will no longer be updated.
You may experience problems with Active Documents that will be used on a Web server. The Active Document works on the development computer but fails on computers that try to access it over the Internet. You may receive the following error message:
Internet Explorer is opening file of unknown type:Internet Explorer reports this generic message whenever it encounters problems while processing a .vbd file.
<Name of Document>.VBD from
<Name of Document>.VBD from
This problem can be caused by one of the following scenarios:
- The registry contains a .vbd extension entry.
- You are trying to download a Microsoft Data Access Components (MDAC) component with your .vbd file.
- The wrong version of Visual Basic run-time or OLE files are referenced.
- You are using the wrong .vbd file.
- You are using an out-dated .vbd file.
- The Actxprxy.dll file is missing or is not registered properly.
- The Active Document .exe or .dll file is not registered properly.
- The Active Document is not signed or safe for scripting.
- There is a run-time error in the initialization code of the Active Document.
- Dependent files are not being downloaded.
- Other problems that can occur.
The registry contains a .vbd extension entryThe registry may contain one or all of the following keys:
Check the following registry keys on Microsoft Windows 2000 clients:
where "S-1-5-21-117609710-152049171-1957994488-500" is the identifier for your user.
HKEY_USERS S-1-5-21-117609710-152049171-1957994488-500 Software Microsoft Windows CurrentVersion Explorer FileExts .VBD "Application"="iexplore.exe" HKEY_USERS S-1-5-21-117609710-152049171-1957994488-500 Software Microsoft Windows CurrentVersion Explorer FileExts .VBD OpenWithListHKEY_USERS S-1-5-21-2127521184-1604012920-1887927527-22087 Software Microsoft Windows CurrentVersion Explorer FileExts .vbd
These .vbd extension entries in the registry cause Internet Explorer to make false assumptions. Internet Explorer assumes that if an extension for a file is registered, there is an appropriate server already installed on the system for that file. Thus, Internet Explorer does not use the CodeBaseSearchPath key information in the Active Document to perform the component download, and the .cab file is not downloaded and unpacked.
If the server is already installed on the system (like your development machine), the .vbd should work. If the server is not installed, or if the version is out of date, the newer server is not downloaded, and the process fails. To resolve this problem, remove these entries from your registry.
Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows
For more information about the CodeBaseSearchPath key, see the "Internet Component Download Implementation" article on the Microsoft Developer Network (MSDN):
You are trying to download an MDAC component with your .vbd FileIf you use Microsoft ActiveX Data Objects (ADO), MDAC does not lend itself to component-oriented installs. During component download, MDAC may install itself repeatedly and reboot the computer repeatedly. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
251325 Using MDAC with Internet component downloadsBy default, the Package and Deployment Wizard (PDW) adds the MDAC component in your package. Make sure that you clear any MDAC component check boxes that are referenced in the PDW, and instruct your users to install MDAC prior to use of your component. You can download MDAC from the following Microsoft Web site:
The wrong version of Visual Basic Run-time or OLE files are referencedWhen you package your Active Document on computers that have newer versions of these files (as included with Windows 2000 or Microsoft Office 2000), the .inf file that is created by the PDW contains information that asks for newer versions of OLE .dll files. This results in endless reboots, as well as the above-mentioned error message.
For a list of newer versions of OLE .dll files, click the article numbers below to view the articles in the Microsoft Knowledge Base:
172991 CAB files distributed with Visual Basic 5.0This problem is fixed in Microsoft Visual Studio 6.0 Service Pack 4. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
257642 Endless reboot requests occur when Internet Explorer attempts to download Visual Basic components
You are using the wrong .vbd fileTo resolve this problem, use the .vbd file that the Microsoft Visual Basic Setup Wizard creates. The Setup Wizard creates a directory of all the files that are needed for a successful Internet download. To avoid compatibility issues, do not mix and match these files with other versions on your computer.
You are using an outdated .vbd fileThe CLSID must be same in the .vbd, .htm (if used), and .exe files of your Active Document project. One of the most common sources of errors for Visual Basic Active Documents is when CLSIDs get out of synchronization. By default, Visual Basic 5.0 creates a new CLSID (and new registry entries) every time you remake your project. Most likely, you do not want this to occur. To preserve the CLSID across builds, perform the following steps:
- From the Project menu, click Project Properties.
- On the Component tab, under Version Compatibility, click Binary Compatibility.
- In the text box below that selection, put the DocObject (the .exe or .dll, depending on the Active Document) file name of your project.
To avoid this, if the project is not backwards compatible, set Binary Compatibility on your Active Document project. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
196150 Why CONFLICT directories are created during code download
The Actxprxy.dll file is missing or is not registered properlyIf the ActiveX .dll file works but the ActiveX .exe file does not, Actxprxy.dll is probably missing or not registered properly. This file is installed by IE3.0X and should be registered. If it is not, use the Regsvr32 utility to register Actxprxy.dll.
The ActiveX .exe or .dll file is not registered properlyIf your Active Document does not appear after you select Add from File on the Section menu to add the .vbd file to Office Binder, there is a registry problem or the DocObject cannot instantiate. If you can add the .vbd file to Binder, the .vbd file has the wrong CLSID. To resolve this problem, recompile and use the .vbd file that is created.
The Active Document is not signed or is not safe for scriptingAt higher security levels, an unsigned .cab file does not download. When a .vbd file is navigated to, the Save As dialog box appears. To resolve this problem, use a digital certificate to sign the .cab file. Users or enterprises that cannot sign the .cab file can also lower security settings temporarily. For example, users or enterprises can add the Web site to the Trusted Sites zone.
Note You must sign your .cab file, not the .vbd file. The .vbd file cannot be signed.
Run-time error in initialization code of Active DocumentMake sure that you perform run-time error checking in your Active Document project. You can encounter problems if you have a run-time error in either of the following routines:
- Private Sub UserDocument_Initialize()
- Private Sub UserDocument_InitProperties()
Because the Initialize event can fire multiple times under Internet Explorer, do not use this event. When the Initialize event fires, the document is not fully sited in Internet Explorer. It is recommended that you use the Show event instead. In addition, use the Hide event instead of the UnInitialize event to match the event firing sequences.For more information, click the following article number to view the article in the Microsoft Knowledge Base:
177269 Internet Explorer 4.0 keeps Active Document servers running
Dependent files are not being downloadedIf users are running Internet Explorer with a High security setting, the files are not installed on their client computer, and the Active Document does not run; this returns the above-mentioned error message. When you use PDW to repackage your .cab file, set the Visual Basic run-time and OLE files to download from default Microsoft Web Sites.
You can also download and place these .cab files on your own server as follows:
- To download the desired .cab file, type the entire .cab file URL in the address bar of Internet Explorer. Internet Explorer prompts you to Open or Save the .cab file. Save the .cab file on your Web server.
For a list of .cab file URLs, click the article numbers below to view the articles in the Microsoft Knowledge Base:172991 CAB files distributed with Visual Basic 5.0Note Do not change the file date, time, or any other attributes because this invalidates the signature.
- While creating Internet Component Setup, specify that the files be downloaded from your Web server instead of Microsoft Web site.
Note Do not create your own .cab files for Microsoft components.
Other problems that can occur
- Set the Internet Explorer security settings to allow the (signed/unsigned) ActiveX components to download.
- Turn on the version number increment in your document project, and put the version number in a field so that it appears on the main form of your downloaded page. By doing this, you can see whether your project actually downloaded or you are looking at an old version.
To change the version number for the Active Document project, perform the following steps:
- On the Project menu, click Run-Time Error in Initialization Code of Active Document.
- On the Make tab, under Version Number, update the version number manually, or select the Auto Increment check box.
- Always close and re-open Internet Explorer between component download attempts to avoid caching the old page.
- To reference remote objects, use CreateObject for debugging.
- Make your Active Document an .exe file rather than a .dll file for debugging.
- Make sure that you are using the latest versions of the controls and DLLs that ship with Visual Basic in your Active Document. You should use MSFlxGrd.ocx instead of Grid32.ocx.
- Files are not downloaded if there is a copy of that file loaded in the system. When you are downloading, make sure that you are only running Internet Explorer on your system. This minimizes the chance of a file being loaded that your Active Document needs to download.
- If the computer requires a proxy server to access the Internet, make sure that you are logged on to it before downloading the Active Document.
For more information on the Internet Component Download process, click the following article numbers to view the articles in the Microsoft Knowledge Base:
264570 WebCast available: How does Internet component download work?
252937 How to find more information about why code download failed
271594 Internet component download online troubleshooter is available
"open or save"
Article ID: 167380 - Last Review: 12/04/2015 16:53:21 - Revision: 4.4
Microsoft Internet Explorer 4.0 128-Bit Edition, Microsoft Internet Explorer 4.01 Service Pack 2, Microsoft Internet Explorer 4.01 Service Pack 1, Microsoft Internet Explorer 4.01 Service Pack 2, Microsoft Internet Explorer 5.0, Microsoft Internet Explorer 5.01, Microsoft Internet Explorer (Programming) 5.01 SP1, Microsoft Internet Explorer 5.5, Microsoft Internet Explorer (Programming) 6.0, Microsoft Internet Explorer (Programming) 6 (SP1), Microsoft Visual Basic 5.0 Professional Edition, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic 5.0 Enterprise Edition, Microsoft Visual Basic Enterprise Edition for Windows 6.0
- kbnosurvey kbarchive kbcode kbdownload kbfaq kbprb KB167380