我已经使用 NSIS 编写了一个安装程序脚本,并通过VIProductVersion
和VIAddVersionKey
命令添加了版本信息。当我查看编译文件的属性时,版本信息就如我所愿。
我的问题是当我尝试通过 C# 命令获取版本信息时FileVersionInfo.GetVersionInfo(fileName).FileVersion
,它返回一个空字符串。
这是一种快速复制的方法:
NSIS 脚本
!include LogicLib.nsh
!include FileFunc.nsh
!define PRODUCT_NAME "Installer"
!define PRODUCT_VERSION "1.0.0.2"
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
VIProductVersion "${PRODUCT_VERSION}"
VIAddVersionKey ProductVersion "${PRODUCT_VERSION}"
OutFile "Setup.exe"
Section "Installer"
SectionEnd
C# 代码
class Program
{
static void Main(string[] args)
{
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo("Setup.exe");
if (fvi != null)
{
Console.WriteLine(string.Format("File Version: {0}", fvi.FileVersion));
}
else
{
Console.WriteLine("Could not load file version info");
}
Console.WriteLine("Press any key to continue...");
Console.Read();
}
}
这给出了以下输出:
File Version:
Press any key to continue...
我需要什么才能阅读FileVersion
as 1.0.0.2
?