Inno Setup 6选择安装语言对话框高DPI适配问题求助
解决Inno Setup 6.2.2语言选择对话框图标高DPI显示异常问题
这个问题源于Inno Setup 6对语言选择对话框的图标适配逻辑调整,在高DPI缩放场景下未自动适配图标尺寸,以下是几种可行的解决方式:
方法1:使用包含多分辨率的图标文件
确保你的自定义图标文件包含多种尺寸(如16x16、32x32、48x48、256x256等),Inno Setup 6在高DPI环境下会自动选取匹配缩放比例的图标尺寸。替换现有单一尺寸图标后,保持脚本中SetupIconFile的配置即可:
[Setup] SetupIconFile=YourMultiSizeAppIcon.ico
方法2:通过Pascal脚本强制适配图标尺寸
如果替换图标文件无效,可通过自定义脚本手动调整语言选择对话框的图标控件尺寸,适配当前DPI缩放比例:
[Code] procedure InitializeWizard; var LangForm: TForm; IconImage: TImage; ScaleFactor: Double; begin LangForm := WizardForm.LanguageForm; if Assigned(LangForm) then begin IconImage := TImage(LangForm.FindChildControl('Image1')); if Assigned(IconImage) then begin ScaleFactor := WizardForm.ScaleFactor; // 32为基础图标尺寸,可根据需求调整 IconImage.Width := Round(32 * ScaleFactor); IconImage.Height := Round(32 * ScaleFactor); IconImage.Stretch := True; end; end; end;
将上述代码添加到安装脚本的[Code]段即可生效。
方法3:升级至Inno Setup更高版本
该高DPI适配问题已在Inno Setup 6.3及后续版本中被官方修复,若允许升级,直接更新到最新稳定版即可解决问题。
内容的提问来源于stack exchange,提问作者Xel Naga
相关产品推荐
相关产品推荐

