inno setup打包exe根据用户选择设置开机启动 亲自测试有效

需求:inno setup打包exe,在执行程序安装时,根据用户选择设置开机启动,如果用户选了开机启动才设置开机启动。

先吐槽下,这里有个坑要特别注意,一开始对innosetup 不熟悉,拿到这个需求的时候就去网上查到方法了,然后一股脑的复制黏贴了。结果是用户在没有选择的情况下还是开机启动了,我还再次确认下了,网上的方法都是这样的啊,不可能有问题。结果仔细研究了下,发现网上找的的代码有问题(都是些坑货):

就是这个代码,坑的一笔,关键网上的都是这样的:

[Tasks]
Name: "startupicon"; Description: "开机启动"; GroupDescription: "{cm:AdditionalIcons}"; 
[Icons]
Name: "{userstartup}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon


问题在于[Icons]段中的Tasks: desktopicon 这里的desktopicon没有对应到[Tasks]段中的name属性的值,也就是说这里的desktopicon是错误的,应该为startupicon。正确代码如下:

[Tasks]
Name: "startupicon"; Description: "开机启动"; GroupDescription: "{cm:AdditionalIcons}"; 
[Icons]
Name: "{userstartup}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: startupicon

你可能感兴趣的:(java编程)