FileVersionInfo与Explorer中的Details选项卡不匹配

时间:2011-12-21 01:49:50

标签: c# fileversioninfo

我正在尝试使用C#System.Diagnostics.FileVersionInfo从文件列表中提取版本信息。我这样做的目的是跟踪唯一的文件路径和版本组合。当文件发生变化时,我会根据确切的变化发生各种事情。

我已使用FileVersionProductVersionFileVersionInfo属性无效。两者都报告的版本号不同于资源管理器中报告的版本号。

使用explorer.exe的示例

Explorer Details tab reports: "6.1.7601.17567" (for both File and Product)
FVI.ProductVersion reports: "6.1.7600.16385"
FVI.FileVersion reports: "6.1.7600.16385 (win7_rtm.090713-1255)"

1 个答案:

答案 0 :(得分:4)

由于某种原因,ProductVersion属性与ProductMajorPart / MinorPart / BuildPart / PrivatePart不匹配...要获得实际版本,您可以执行此操作:

var fvi = FileVersionInfo.GetVersionInfo(path);
var productVersion = new Version(
                           fvi.ProductMajorPart,
                           fvi.ProductMinorPart,
                           fvi.ProductBuildPart,
                           fvi.ProductPrivatePart);
var fileVersion = new Version(
                           fvi.FileMajorPart,
                           fvi.FileMinorPart,
                           fvi.FileBuildPart,
                           fvi.FilePrivatePart);