我正在使用以下代码: http://www.jrsoftware.org/ishelp/index.php?topic=setup_disablereadypage
当使用DisableReadyPage
指令禁用“就绪”页面时,应将下一步按钮标题更改为安装。
[Setup]
DisableReadyPage=yes
[Code]
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpSelectProgramGroup then
WizardForm.NextButton.Caption := SetupMessage(msgButtonInstall)
else
WizardForm.NextButton.Caption := SetupMessage(msgButtonNext);
end;
但它不会改变下一步按钮标题。
答案 0 :(得分:1)
正如代码描述所示:
例如,如果新的上一个安装前向导页面是选择程序组页面:...
在您的情况下,上一个预安装页面不是选择程序组页面。它是选择目标位置页面。可能是因为您将DisableProgramGroupPage
设置为no
,或者您已将其设置为auto
并且您正在升级(已安装该应用程序)。
如果您将DisableProgramGroupPage
设置为no
,则解决方案很简单,因为选择目标位置页面始终是最后一个。只需将wpSelectProgramGroup
替换为wpSelectDir
即可。
[Code]
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpSelectDir then
WizardForm.NextButton.Caption := SetupMessage(msgButtonInstall)
else
WizardForm.NextButton.Caption := SetupMessage(msgButtonNext);
end;
使用auto
(默认值),您在升级时无法获得任何选择程序组和选择目标位置,但是您获得了即使使用DisableProgramGroupPage
,也准备安装(因为在安装之前不会有任何其他页面)。您可以使用安装两者来选择程序组页面(用于全新安装)和准备安装(用于升级)。< / p>
他们的代码的另一个问题是你应该在&#34;完成&#34;上获得完成按钮。页面(wpFinished
)。他们的代码不关心。
完整的解决方案是:
procedure CurPageChanged(CurPageID: Integer);
begin
// On fresh install the last pre-install page is "Select Program Group".
// On upgrade the last pre-install page is "Read to Install"
// (forced even with DisableReadyPage)
if (CurPageID = wpSelectProgramGroup) or (CurPageID = wpReady) then
WizardForm.NextButton.Caption := SetupMessage(msgButtonInstall)
// On the Finished page, use "Finish" caption.
else if (CurPageID = wpFinished) then
WizardForm.NextButton.Caption := SetupMessage(msgButtonFinish)
// On all other pages, use "Next" caption.
else
WizardForm.NextButton.Caption := SetupMessage(msgButtonNext);
end;
如果您有其他页面,例如 Tasks 页面,则必须相应地更改代码。
答案 1 :(得分:0)
您的屏幕快照显示了wpSelectDir
页面,而在您的代码中,您更改了wpSelectProgramGroup
页面的按钮。