0 out of 1 rated this helpful - Rate this topic

FileVersionInfo Class

Provides version information for a physical file on disk.

System.Object
  System.Diagnostics.FileVersionInfo

Namespace:  System.Diagnostics
Assembly:  System (in System.dll)
[PermissionSetAttribute(SecurityAction.LinkDemand, Name = "FullTrust")]
public sealed class FileVersionInfo

The FileVersionInfo type exposes the following members.

  Name Description
Public property Comments Gets the comments associated with the file.
Public property CompanyName Gets the name of the company that produced the file.
Public property FileBuildPart Gets the build number of the file.
Public property FileDescription Gets the description of the file.
Public property FileMajorPart Gets the major part of the version number.
Public property FileMinorPart Gets the minor part of the version number of the file.
Public property FileName Gets the name of the file that this instance of FileVersionInfo describes.
Public property FilePrivatePart Gets the file private part number.
Public property FileVersion Gets the file version number.
Public property InternalName Gets the internal name of the file, if one exists.
Public property IsDebug Gets a value that specifies whether the file contains debugging information or is compiled with debugging features enabled.
Public property 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.
Public property IsPreRelease Gets a value that specifies whether the file is a development version, rather than a commercially released product.
Public property IsPrivateBuild Gets a value that specifies whether the file was built using standard release procedures.
Public property IsSpecialBuild Gets a value that specifies whether the file is a special build.
Public property Language Gets the default language string for the version info block.
Public property LegalCopyright Gets all copyright notices that apply to the specified file.
Public property LegalTrademarks Gets the trademarks and registered trademarks that apply to the file.
Public property OriginalFilename Gets the name the file was created with.
Public property PrivateBuild Gets information about a private version of the file.
Public property ProductBuildPart Gets the build number of the product this file is associated with.
Public property ProductMajorPart Gets the major part of the version number for the product this file is associated with.
Public property ProductMinorPart Gets the minor part of the version number for the product the file is associated with.
Public property ProductName Gets the name of the product this file is distributed with.
Public property ProductPrivatePart Gets the private part number of the product this file is associated with.
Public property ProductVersion Gets the version of the product this file is distributed with.
Public property SpecialBuild Gets the special build information for the file.
Top
  Name Description
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method Static member GetVersionInfo Returns a FileVersionInfo representing the version information associated with the specified file.
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ToString Returns a partial list of properties in the FileVersionInfo and their values. (Overrides Object.ToString().)
Top

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:

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 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.


    public static void Main(string[] args)
    {
        // Get the file version for the notepad.
        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);
    }

}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

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.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ