FileVersionInfo Class
Provides version information for a physical file on disk.
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.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (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. |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | 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.dll> using namespace System; using namespace System::IO; using namespace System::Diagnostics; public ref class Class1 { public: static void Main() { // Get the file version for the notepad. // Use either of the two following methods. 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); } }; int main() { Class1::Main(); }
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
