The purpose of this site is to help Developers and IT Professionals better handle file version conflict problems - a situation commonly referred to as DLL Hell. This tool provides a list of file names and versions, along with other information, from major Microsoft products.
Searching by Product
This search method returns all DLL, EXE, and other versioned files that ship
with a particular product . To use it, select By Product Only in the Search
list. Two additional lists, titled Product and Version, will
appear. Select your product and version from these lists and click Submit.
Note: You can search on only one product at a time.
Searching by File Name
This search method returns all versions of a particular file. To use
it, select By File Only in the Search list. A text box labeled File
Name appears. Type the file name you need and click Submit.
For example, to see all versions of msvcrt.dll, type msvcrt.dll in the edit box.
Note: To search for a file name using wildcards, type at least the first letter of the file name followed by a '*' character. The '*' character must be the last character in the search string.
Searching by Product + File
This search method returns all versions of a particular file that
ships with a particular Product . To use this search method, select By
Product + File in the Search list. Two lists (one titled
Name, another titled Version) and an edit box (titled File Name)
appear in the input form. Select your product and version, type the file name
and click Submit.
For example, to perform a search for all msvcrt.dll files that ship with Office 2000, select Office in the product field, select Office 2000 in the Version field, and type msvcrt.dll in the edit box.
Note: Wildcard searching for file names, as detailed above, will also work with this search type.
Searches on Product or File Name will return one or more pages of data (each page is 50 records). Wildcard searches on File Name or Product + File Name will return a single page of data that may have more than 50 records.
The information that is returned by a search is in the same format regardless of the search type performed. The following list contains a description of contents of each field:
Name: The name of the file as it appears on the distribution media or as it appears in Windows Explorer.
Version: The version of the file extracted from the version resource of the file.
More Information: A link to a separate page with more information about the file.
Description: The description as it appears in the Description field on the property sheet for the file in Windows Explorer.
Additional information is available when you click on the More Information link in the search results. This action will bring up a popup window titled “Information for <filename> Version <version>”. This window will provide the above information plus the following details:
DLLSelfRegister: If this field contains Yes, it means that you can register the file using Regsvr32.exe.
Products Containing This Version: This sub-section provides a list of all the Products that ship with this particular version of your selected file. For each listed, you will also see the following information relevant to your selected file:
Filename: The name of the Product that the file shipped with.
Size:The size of the file in bytes.
Mod. date: The modified date as it appears in the Modified field on the property sheet for the file in Windows Explorer.
CAB/IExpress: The self-extracting executable file or cabinet file on the distribution media that contains the file. If there are several values separated by a backslash (\ character), the self-extracting executable file or cabinet file has archive files nested in it, and the file can be found in this nested archive file.
Relative path: The path where the file can be found on the distribution media. For example, if a is installed from a CD, the file could be found in this folder on the CD.
CoClasses: This sub-section lists the CLSID and CoClass name for each creatable class in the file.
You can print the results of your searches using the standard Print command from your browser. This will print the search list selections as well as the results set. For multiple-page results sets, you will need to print each page separately.
If you have problems viewing the file descriptions in languages other than the default language of your browser, you may need to change your browser settings or install separate system fonts.
To change your browser's language settings, consult your browser's Help or related documentation.
New system fonts for Windows operating systems can be installed using the Windows Update site at http://windowsupdate.microsoft.com/default2.htm. Under the Updates option, go to the International Language Support section. (It's near the bottom of the Updates page).
To install new system fonts for operating systems other than Microsoft Windows, check the documentation and/or Web site of the operating system's manufacturer for instructions. Some common non-Windows operating system manufacturer sites include the following:
This site is intended as a troubleshooting tool to assist developers, system administrators, and other IT professionals who face file version conflicts with Microsoft software. Created by Microsoft Developer Support Professionals, it provides a searchable database of the names, versions, and related information on most files that ship with selected Microsoft products. Use this site when you want to know which version of a file shipped with a particular Microsoft product , or as a way to track the source of a file on your system that you think might have shipped with a Microsoft product. Please note that this tool does not provide file dependency or interdependency information, nor does it provide direct links to download the files listed in the database.
While our development team has made every effort to
ensure that all relevant files are included, there is a small percentage of
error due to the difficulty of extracting file information from certain
Iexpress and Cabinet packages (see question #12 for more details). As
such, Developer Support recommends that the tool be used primarily as a
troubleshooting aid, and should not be considered product documentation.
To ensure the value of our data, we do not include those products in the
database where the percentage of error in the extraction process is greater
than 5%.
To limit database size as well as avoid unnecessary duplication, we also use a systematic process
to select certain unnecessary directories for exclusion from any given product. Typically, the directories for Alpha, MIPS, and
PPC are excluded. In addition, where Internet Explorer is provided as an optional component on
a CD, that directory is also excluded.
We have created an internal tool that recursively scans the directories in each CD. This tool identifies all files that contain the appropriate extensions (such as .dll or .exe) and version resources, then inserts these files into a database.
The information is as accurate as the information contained in the files themselves. It is gathered directly from the VERSIONINFO resource of the file by calling the GetFileVersionInfo and VerQueryValue API’s. Results may appear skewed at times due to the complexity of the data, but you can usually clarify any apparent discrepancies by examining the relative path and Cabinet/Iexpress package details contained in the More Information link for that file. For instance, many products contain DCOM95.EXE or MDAC_TYP.EXE files as Iexpress packages in subfolders that appear to be distributed as part of the main product. This can be deceiving, and the situation is only made clear by determining if the file was part of another, smaller, installation.
The Dependency Walker (Depends.exe) recursively scans all dependent modules required by a particular file and detects missing dependent files, invalid files, and import/export mismatches. The File Version Information Center simply provides information on which files shipped with which products, and does not contain any information regarding the dependencies of modules. See the MSDN article "Redistributing Microsoft Visual C++ 6.0 Applications " to get the most recent version of the Dependency Walker.
The database includes most major Microsoft products along with a selection of smaller products and updates of interest to developers and IT professionals. Our list of included products gets updated regularly. If there is a specific product that you would like to see added, please e-mail us and we will put it on our list for consideration.
Currently, the only way to sort by columns is to copy and then paste the information into Excel or another spreadsheet application. Then highlight the results section of the output in your browser and select Copy by right-clicking. Finally, paste the data into that application and sort by columns.
We are aware that this is a cumbersome process, particularly with paged data, and a mechanism to sort or export data directly from this page is a popular request. The development team is considering options for providing this functionality in our next release.
This is usually due to files being targeted for installation on different operating systems or possibly compiled using slightly different compiler settings. Some files are re-aligned for optimization on Windows 98.
The file was most likely modified or simply recompiled by a particular group before distribution. The date information on this site is given primarily as a reference when the file contains no other version information.
Some files do not contain version resources. In cases where such files are of certain types we feel are important to developers, we have chosen to include them. This allows our customers the benefit of more, rather than less, information about the files included with our products.
There are two potential reasons for this.
A. A product typically installs a slightly different file for a different target operating system. You can see this by looking at the Iexpress/Cabinet column when obtaining more information for a version of a file. The output shows that the file either is contained in a different cabinet file or located at a different path on the setup media.
B. A duplicated file can also be contained in an auxiliary or utility setup of a smaller application on the CD. Our population tool does not have a way to determine which files are part of the initial setup and which are included in the secondary or utility application setup.
There are several reasons that this could happen.
A. The file/version combination you are looking for did not ship with the product you are reviewing.
B. The product or service pack that includes the file is not yet included in the database.
C. The file is in one of the directories that we normally exclude (see question #2).
D. The file is in one of the few un-extractable Cabinet formats encountered during our population process (see note).
Note: The population tool scans a CD to extract the version information directly from a file. Specifically, it extracts from Cabinet files and IExpress packages along the way. Some Microsoft applications use InstallShield for their setup. This Cabinet format is proprietary to InstallShield and the population tool cannot extract from these specific Cabinet files. For this reason, as mentioned in the General Questions item #2 above, a few applications (DirectX 7.0 and Visual C++ 6.0 in particular) are missing a small percentage (3-5%) of files. Also, products that make heavy use of the InstallShield format, such as Site Server 3.0, are not included in the database because we cannot guarantee the completeness of the extracted data within 5%.
It is possible to find a version of a file on your computer that does not match the version in the database. This is either because another product has overwritten your original file with a newer version, or the product containing that file/version combination has not yet been entered into the database. If there is a specific product you would like added to the database, please e-mail us with your request.
It is possible that your computer has multiple versions of a file in different locations on your hard drive or the particular file has been updated by another application on your system. For example, even though you have Windows NT 4.0 SP4 installed on your computer, you probably have an updated version of a file from another product that you installed prior to or after installing this service pack.
Another explanation is that Explorer or the shell on Windows 95, Windows 98,and Windows NT 4.0 displays the version information in the File Properties dialog box. All of these operating systems show the fileversion string from the StringFileInfo block of the VERSIONINFO resource. Windows 2000 shows the actual binary FILEVERSION key from Fixed-info section of the Version Resource, which is the same version that the File Version Information Center displays. Typically, this version data is the same, but sometimes the version in the StringFileInfo block is shorter or is not synchronized with the other value. See the next question if you wish to examine your system's file information directly.
If you have access to Microsoft Visual Studio, open the resources for a file and obtain the VERSIONINFO resource as described in the following steps: