Installation 如何获取包含在inno安装程序exe文件中的文件(exe';和dll';s)的版本?

Installation 如何获取包含在inno安装程序exe文件中的文件(exe';和dll';s)的版本?,installation,inno-setup,fileversioninfo,Installation,Inno Setup,Fileversioninfo,和主题一样,有可能吗?并且,如果参数(例如传递到exe文件的参数)设置为true,我想在安装程序的一页上显示它们 我知道如何显示某些页面: 如果是,那么 PageWersjePlikow:= CreateOutputMsgMemoPage( 1,“Wersje plików zawarte w instalatorze”, “Lista plików niewidoczna dla klienta”, “Pliki:”,“TU WPISAĆWERSJE PLIKÓW”); 我有一些想法,但每个

和主题一样,有可能吗?并且,如果参数(例如传递到exe文件的参数)设置为true,我想在安装程序的一页上显示它们

我知道如何显示某些页面:

如果是,那么
PageWersjePlikow:=
CreateOutputMsgMemoPage(
1,“Wersje plików zawarte w instalatorze”,
“Lista plików niewidoczna dla klienta”,
“Pliki:”,“TU WPISAĆWERSJE PLIKÓW”);
我有一些想法,但每个想法都是基于编译exe安装程序时生成的.txt文件,然后从中读取…

使用或支持函数

GetVersionNumbersString
Major.Minor.Rev.Build
格式返回版本

如果需要不同的格式,则需要使用
GetVersionNumbers
并按照需要的方式格式化版本组件(如
Major.Minor.Rev
):

函数MyGetVersionNumbersString(常量文件名:String;变量版本:String):布尔;
变量
MS,LS:红衣主教;
大调、小调、Rev、Build:红衣主教;
开始
结果:=GetVersionNumber(文件名,毫秒,LS);
如果结果是这样的话
开始
主修:=MS shr 16;
小调:=MS和$FFFF;
版次:=LS shr 16;
构建:=LS和$FFFF;
版本:=格式(“%d.%d.%d”,[Major,Minor,Rev]);
结束
结束;

谢谢!我找到了检查cmd参数的解决方案:

function GetParam: Boolean;
var
   param: string;
   i: integer;
begin
   Result := False;
   for i:= 0 to ParamCount do
   begin   
      param := ParamStr(i);
      if (param = '-p') then
      begin
         Result := True;
         break;
      end;      
   end;   
end; 

使用我的函数,我可以使用'-p'参数运行我的安装程序,它将显示包含我想要的信息的页面:-)

您不需要检查
ParamStr(0)
,因为有应用程序的完整路径。此外,如果该
param
变量只使用一次,则不需要它。最好是
从函数中退出
,而不仅仅是
中断
循环(它更好地解释了意图)。最后,对于检查(区分大小写)是否传递了
-p
命令行参数的函数,使用名称
GetParam
是错误的。