Inno setup Inno Setup可卸载时记住所选的安装类型=否

Inno setup Inno Setup可卸载时记住所选的安装类型=否,inno-setup,pascalscript,Inno Setup,Pascalscript,我正在创建一个有点非传统的Inno安装程序。我正在设置Uninstallable=no,但如果用户将来重新安装,我仍然需要能够记住用户选择的安装类型。我想把这个类型写进一个我能做的文件中。但是,我不知道下次运行安装程序时如何设置类型。这是我存储类型的代码 过程CurStepChanged(CurStep:TSetupStep); 开始 如果(CurStep=ssDone),则 SaveStringToFile('{app}\type.dat',WizardSetupType(false),fal

我正在创建一个有点非传统的Inno安装程序。我正在设置
Uninstallable=no
,但如果用户将来重新安装,我仍然需要能够记住用户选择的安装类型。我想把这个类型写进一个我能做的文件中。但是,我不知道下次运行安装程序时如何设置类型。这是我存储类型的代码

过程CurStepChanged(CurStep:TSetupStep);
开始
如果(CurStep=ssDone),则
SaveStringToFile('{app}\type.dat',WizardSetupType(false),false);
结束;
我知道如何读回,但我不知道如何设置类型

编辑:

这是新代码

过程CurPageChanged(CurPageID:Integer);
开始
{我们需要手动存储和还原安装类型,因为unnstallable=no}
如果(CurPageID=wpSelectComponents),则
WizardForm.TypesCombo.ItemIndex:=GetInInt('Settings','InstallType',0,0,3,ExpandConstant('{app}\Settings.ini');
如果(CurPageID=wpInstalling),则
setInInt('Settings','InstallType',WizardForm.TypesCombo.ItemIndex,ExpandConstant('{app}\Settings.ini');
结束;

保存
向导表单.TypesCombo.ItemIndex
而不是
向导设置类型
,并在恢复选择时将其设置回原位

恢复
WizardForm.TypesCombo.ItemIndex
后,必须调用
WizardForm.TypesCombo.OnChange
以更新组件选择


我还建议您使用INI文件函数,而不是
SaveStringToFile


商店:

SetIniInt('Settings','InstallType',WizardForm.TypesCombo.ItemIndex,
ExpandConstant({app}\settings.ini');
恢复:

WizardForm.TypesCombo.ItemIndex:=
GetInInt('Settings','InstallType',0,0,3,ExpandConstant('{app}\Settings.ini'));
{以编程方式设置ItemIndex时,不会自动调用OnChange。}
{我们必须调用它来更新组件选择。}
WizardForm.TypesCombo.OnChange(WizardForm.TypesCombo);

有关最后一行代码的说明,请参见