如何为Inno Setup的setup.exe追加AppVersion以生成带版本号的输出文件?
如何将AppVersion追加到Inno Setup输出的setup.exe文件名中
嘿,这个需求其实用Inno Setup的预处理器特性就能轻松搞定,直接在配置里把AppVersion和你想要的文件名格式拼接起来就行。
具体修改方法
你当前的[Setup]段已经通过GetStringFileInfo获取了AppName和AppVersion,只需要修改OutputBaseFilename的取值,把这两个变量组合进去:
[Setup] AppName={#GetStringFileInfo("Sample.exe", "ProductName")} AppVersion={#GetStringFileInfo("Sample.exe", "FileVersion")} ; 替换原来的OutputBaseFilename=setup为下面这行 OutputBaseFilename={#AppName}-setup-{#AppVersion} ; 保留你其他的配置项...
编译时,Inno Setup会自动把{#AppName}和{#AppVersion}替换成实际的产品名称和版本号,最终生成的安装包文件名就会是你想要的sample-setup-1.4.2.0.exe(假设你的AppName是Sample,版本号为1.4.2.0)。
额外小技巧:处理特殊字符
如果你的AppName包含空格或者其他不适合出现在文件名里的字符,可以用预处理器的StringChange函数做替换,比如把空格换成连字符:
OutputBaseFilename={#StringChange(AppName, " ", "-")}-setup-{#AppVersion}
比如AppName是"My Test App"的话,生成的文件名就会变成My-Test-App-setup-1.4.2.0.exe,更符合文件名规范。
内容的提问来源于stack exchange,提问作者Youngjae
相关产品推荐
相关产品推荐

