如何获取 Inno Setup 安装程序 exe 文件中包含的文件版本(exe 和 dll)?

vBB*_*vBB 4 installation inno-setup pascalscript fileversioninfo

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

\n\n

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

\n\n
if dev then\n    PageWersjePlikow :=\n        CreateOutputMsgMemoPage(\n            1, \'Wersje plik\xc3\xb3w zawarte w     instalatorze\',\n            \'Lista plik\xc3\xb3w niewidoczna dla klienta\',\n            \'Pliki:\', \'TU WPISA\xc4\x86 WERSJE PLIK\xc3\x93W\');\n
Run Code Online (Sandbox Code Playgroud)\n\n

我有一些想法,但每个想法都是基于编译 exe 安装程序时构建的 .txt 文件,然后从中读取......

\n

Mar*_*ryl 6

使用GetVersionNumbersGetVersionNumbersString支持功能。

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

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

function MyGetVersionNumbersString(
  const Filename: String; var Version: String): Boolean;
var
  MS, LS: Cardinal;
  Major, Minor, Rev, Build: Cardinal;
begin
  Result := GetVersionNumbers(Filename, MS, LS);

  if Result then
  begin
    Major := MS shr 16;
    Minor := MS and $FFFF;
    Rev := LS shr 16;
    Build := LS and $FFFF;
    Version := Format('%d.%d.%d', [Major, Minor, Rev]);
  end
end;
Run Code Online (Sandbox Code Playgroud)