Installation 如何获取包含在inno安装程序exe文件中的文件(exe';和dll';s)的版本?
和主题一样,有可能吗?并且,如果参数(例如传递到exe文件的参数)设置为true,我想在安装程序的一页上显示它们 我知道如何显示某些页面: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”); 我有一些想法,但每个
如果是,那么
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
是错误的。