如何更新 Windows 中显示的应用程序大小 控制 panel/Settings 应用程序与 Inno Setup 中额外下载的大小

How to update application size shown in Windows Control panel/Settings app with size of additional downloads in Inno Setup

我试图创建一个可执行文件,所以我包含了包含可执行文件、数据文件等的整个文件夹... 它当前的大小约为 39 MB,然后当我 运行 可执行文件时,它会下载一些文件(其名称很难猜到)并扩展到 399 MB,但大小没有得到更新,它仍然是显示为 39 MB。

有没有办法让 InnoSetup 识别那些外部文件,然后显示准确的大小?

[Files]
Source: "C:\Users\_\Documents\sample\{#MyAppExeName}"; DestDir: "{app}"; \
  Flags: ignoreversion; Permissions: users-modify
Source: "C:\Users\_\Documents\Python Files\sample\*"; DestDir: "{app}"; \
  Flags: ignoreversion recursesubdirs createallsubdirs external; \
  Permissions: users-modify

我设法查看了其他问题,但找不到确切的解决方案。所以我决定post这个。很抱歉,如果这已经解决了。

如果您指的是“控制面板”或“设置”应用中显示的应用程序大小,请使用 ExtraDiskSpaceRequired directive

[Setup]
ExtraDiskSpaceRequired=418381824

Inno Setup 没有动态设置值的机制。您所能做的就是在安装后以编程方式更新应用程序卸载条目中的 EstimatedSize 值。例如。来自 CurStepChanged(ssPostInstall) event.


如果在运行时值不能改变,但源文件的大小不断变化,你可以使用预处理器在编译时计算ExtraDiskSpaceRequired的值。