问题:
使用Inno Setup Compiler制作软件安装包时,想依据版本创建不同的快捷方式,但是在[Icons]里面不能使用if语句。
思路:
[Icons]中的 Check 字段作用和 if等同,利用自定义判断函数进行条件判断。
解决:
1、通过查阅Setup的官方帮助文档 可以发现Check字段后面的条件需要是一个自定义函数或者支持的函数。
2、另外版本号的判断还需要用到 Copy 和 StrToInt函数。先确定自定义判断函数:
function IsVerNumOver1(): Boolean;
begin
return := StrToInt(Copy('{#verNum}',1,1)) > 1;
end;
3、在Icons中创建快捷方式:
[Icons]
Name: {commondesktop}\{#Soft}; Filename: {app}\{#Soft}.exe; Tasks: MYAPP; WorkingDir: {app}; Check: IsVerNumOver1;
搞定!附上Setup的官方说明文档:https://jrsoftware.org/ishelp/index.php