是否可以在“开始”菜单中更改卸载程序快捷方式的图标而不存储单独的图标文件(到应用程序文件夹)?
我看到了这个:Using Resource Hacker for changing the icon after the build,但我无法实现它。
我的代码:
[Icons]
Name: {group}\{cm:UninstallProgram,{#MyAppName}}; Filename: {uninstallexe}
答案 0 :(得分:0)
Windows shell快捷方式的图标可以通过外部图标文件(您不想要的)或快捷方式指向的文件来设置。所以你必须修改卸载程序的图标。
您必须在编译时修改卸载程序图标。
您无法在安装时执行此操作,因为卸载程序包含自己的校验和。如果您修改了卸载程序,它会拒绝启动,声称它已损坏。除非您了解如何修复存储在卸载程序中的校验和。
但是Inno Setup并不真正允许在编译时修改卸载程序图标。
您可以做的是滥用SignTool
"回调"。设置为SignTool
的命令甚至可以处理卸载程序。它实际上可以对卸载程序执行任何操作,而不仅仅是" sign"它。但它必须"签署"无论如何(Inno Setup明确检查可执行文件是在#34;工具"完成后签名)。
您可以通过将SignTool
设置为最终将运行实际signtool.exe
的批处理文件(或其他脚本)来实现这一目标,但在此之前,它将修改图标(例如,使用{ {3}}命令行)。
有关修改卸载程序并对其进行签名的此类批处理文件的示例,请参阅Resource Hacker
所以这是可行的,只有你进行代码签名(无论如何你应该)。您需要一个代码签名证书。
Microsoft SmartScreen - suspended using InnoSetup installer?
免责声明:将“卸载程序”的快捷方式添加到“开始”菜单是违反Windows准则的(并且创建“开始”菜单组至少符合Windows 8及更高版本的Windows指南)。