gpt4 book ai didi

inno-setup - Inno Setup 卸载程序 VersionInfo

转载 作者:行者123 更新时间:2023-12-04 12:26:12 26 4
gpt4 key购买 nike

我的安装程序使用 Inno Setup。 unins000.exe 中的 VersionInfo 有问题。为了在安装程序中填充 VersionInfo,我使用了指令 AppPublisherAppCopyright 等。但它不会影响安装卸载程序 unins000.exe

Google 和帮助对这个问题一无所知。我调查了 Inno Setup 源,发现只为安装文件附加了 VersionInfo:

        { Update version info }
AddStatus(SCompilerStatusUpdatingVersionInfo);
UpdateVersionInfo(ExeFile, VersionInfoVersion, VersionInfoProductVersion, VersionInfoCompany,
VersionInfoDescription, VersionInfoTextVersion,
VersionInfoCopyright, VersionInfoProductName, VersionInfoProductTextVersion);

{ For some reason, on Win95 the date/time of the EXE sometimes
doesn't get updated after it's been written to so it has to
manually set it. (I don't get it!!) }
UpdateTimeStamp(ExeFile.Handle);
finally
ExeFile.Free;
end;
end;

{ Sign }
if SignTools.Count > 0 then begin
AddStatus(SCompilerStatusSigningSetup);
Sign(ExeFileName);
end;
except
EmptyOutputDir(False);
raise;
end;

但是我在卸载程序编译代码中找不到这个例程。

任何人都知道,是否可以将版本信息放入 unins000.exe

谢谢!

最佳答案

Inno Setup 不支持这个。

您必须在编译时自行修改版本信息。

Imo,在链接到安装程序之前访问卸载程序可执行文件的唯一方法是滥用 SignTool “打回来”。设置为 SignTool 的命令实际上可以对可执行文件执行任何操作,而不仅仅是对其进行“签名”。但它必须在任何情况下对其进行“签名”(Inno Setup 明确检查可执行文件是否在“工具”完成后已签名)。

您可以通过将 SignTool 设置为最终将运行实际 signtool.exe 的批处理文件(或其他脚本)来实现,但在此之前,它将修改版本信息(例如使用 Resource Hacker 命令行)。

关于inno-setup - Inno Setup 卸载程序 VersionInfo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47397961/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com