FileVersionInfo Class
Provides version information for a physical file on disk.
Namespace: System.Diagnostics
Assembly: System (in System.dll)
The FileVersionInfo type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | Comments | Gets the comments associated with the file. |
![]() | CompanyName | Gets the name of the company that produced the file. |
![]() | FileBuildPart | Gets the build number of the file. |
![]() | FileDescription | Gets the description of the file. |
![]() | FileMajorPart | Gets the major part of the version number. |
![]() | FileMinorPart | Gets the minor part of the version number of the file. |
![]() | FileName | Gets the name of the file that this instance of FileVersionInfo describes. |
![]() | FilePrivatePart | Gets the file private part number. |
![]() | FileVersion | Gets the file version number. |
![]() | InternalName | Gets the internal name of the file, if one exists. |
![]() | IsDebug | Gets a value that specifies whether the file contains debugging information or is compiled with debugging features enabled. |
![]() | IsPatched | Gets a value that specifies whether the file has been modified and is not identical to the original shipping file of the same version number. |
![]() | IsPreRelease | Gets a value that specifies whether the file is a development version, rather than a commercially released product. |
![]() | IsPrivateBuild | Gets a value that specifies whether the file was built using standard release procedures. |
![]() | IsSpecialBuild | Gets a value that specifies whether the file is a special build. |
![]() | Language | Gets the default language string for the version info block. |
![]() | LegalCopyright | Gets all copyright notices that apply to the specified file. |
![]() | LegalTrademarks | Gets the trademarks and registered trademarks that apply to the file. |
![]() | OriginalFilename | Gets the name the file was created with. |
![]() | PrivateBuild | Gets information about a private version of the file. |
![]() | ProductBuildPart | Gets the build number of the product this file is associated with. |
![]() | ProductMajorPart | Gets the major part of the version number for the product this file is associated with. |
![]() | ProductMinorPart | Gets the minor part of the version number for the product the file is associated with. |
![]() | ProductName | Gets the name of the product this file is distributed with. |
![]() | ProductPrivatePart | Gets the private part number of the product this file is associated with. |
![]() | ProductVersion | Gets the version of the product this file is distributed with. |
![]() | SpecialBuild | Gets the special build information for the file. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() ![]() | GetVersionInfo | Returns a FileVersionInfo representing the version information associated with the specified file. |
![]() | ToString | Returns a partial list of properties in the FileVersionInfo and their values. (Overrides Object.ToString().) |
Typically, a version number is displayed as "major number.minor number.build number.private part number". A file version number is a 64-bit number that holds the version number for a file as follows:
The first 16 bits are the FileMajorPart number.
The next 16 bits are the FileMinorPart number.
The third set of 16 bits are the FileBuildPart number.
The last 16 bits are the FilePrivatePart number.
Use the GetVersionInfo method of this class to get a FileVersionInfo containing information about a file, then look at the properties for information about the file. The FileVersion property provides version information about the file. The ProductMajorPart, ProductMinorPart, ProductBuildPart, ProductPrivatePart, and ProductVersion properties provide version information for the product that the specified file is a part of. Call ToString to get a partial list of properties and their values for this file.
The FileVersionInfo properties are based on version resource information built into the file. Version resources are often built into binary files such as .exe or .dll files; text files do not have version resource information.
Version resources are typically specified in a Win32 resource file, or in assembly attributes. For example the IsDebug property reflects the VS_FF_DEBUG flag value in the file's VS_FIXEDFILEINFO block, which is built from the VERSIONINFO resource in a Win32 resource file. For more information about specifying version resources in a Win32 resource file, see "About Resource Files" and "VERSIONINFO Resource" in the Platform SDK. For more information about specifying version resources in a .NET module, see the Setting Assembly Attributes topic.
Note |
|---|
This class makes a link demand at the class level that applies to all members. A SecurityException is thrown when the immediate caller does not have full trust permission. For details about link demands, see Link Demands. |
The following example calls GetVersionInfo to get the FileVersionInfo for the Notepad. Then it prints the file description and version number in a text box. This code assumes textBox1 has been instantiated.
using System; using System.IO; using System.Diagnostics; class Class1 { public static void Main(string[] args) { // Get the file version for the notepad. // Use either of the two following commands. FileVersionInfo.GetVersionInfo(Path.Combine(Environment.SystemDirectory, "Notepad.exe")); FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(Environment.SystemDirectory + "\\Notepad.exe"); // Print the file name and version number. Console.WriteLine("File: " + myFileVersionInfo.FileDescription + '\n' + "Version number: " + myFileVersionInfo.FileVersion); } }
- SecurityAction.LinkDemand
for full trust for the immediate caller. This class cannot be used by partially trusted code.
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.



Note