Installation 跳过准备在Inno安装程序中安装向导页

Installation 跳过准备在Inno安装程序中安装向导页,installation,inno-setup,pascalscript,Installation,Inno Setup,Pascalscript,关于这个问题,我现在需要跳过准备安装向导页面 在我的例子中,显示此页面是因为一个或多个程序正在使用需要由安装程序替换的文件;因此,安装程序会询问用户是否希望安装程序自动关闭应用程序并在安装结束时重新启动 我需要在Basic模式下对安装过程隐藏此页面,如果使用了某些文件,安装程序会自动关闭使用这些文件的应用程序,而无需向用户询问任何问题 我已尝试将ShouldSkipPage编辑为: 函数ShouldSkipPage(PageID:Integer):布尔值; 开始 {如果选择了“基本”模式,则跳过

关于这个问题,我现在需要跳过准备安装向导页面

在我的例子中,显示此页面是因为一个或多个程序正在使用需要由安装程序替换的文件;因此,安装程序会询问用户是否希望安装程序自动关闭应用程序并在安装结束时重新启动

我需要在Basic模式下对安装过程隐藏此页面,如果使用了某些文件,安装程序会自动关闭使用这些文件的应用程序,而无需向用户询问任何问题

我已尝试将
ShouldSkipPage
编辑为:

函数ShouldSkipPage(PageID:Integer):布尔值;
开始
{如果选择了“基本”模式,则跳过目录和组件页}
结果:=
ModePage.值[0]和
((PageID=wpSelectDir)或(PageID=wpSelectComponents)或(PageID=wpReady)或(PageID=wpPreparing));
结束;
添加
(PageID=wpPreparing)
,但页面仍以基本模式显示

有没有办法使用Inno设置来实现这一点?

甚至不需要
wpPreparing
。不能跳过该页

如果你仍然想跳过它,你必须使用如下黑客:

使用第一种方法,您的代码如下所示:

[代码]
常数
BN_=0;
WM_命令=0111美元;
CN_基数=$BC00;
CN_命令=CN_BASE+WM_命令;
过程CurPageChanged(CurPageID:Integer);
变量
参数:Longint;
开始
{如果选择了基本模式,则跳过准备页面}
如果(CurPageID=wpPreparing)和ModePage.Values[0],则
开始
参数:=0或BN_单击shl 16;
PostMessage(WizardForm.NextButton.Handle,CN_命令,Param,0);
结束;
结束;
甚至没有为
wp>调用。不能跳过该页

如果你仍然想跳过它,你必须使用如下黑客:

使用第一种方法,您的代码如下所示:

[代码]
常数
BN_=0;
WM_命令=0111美元;
CN_基数=$BC00;
CN_命令=CN_BASE+WM_命令;
过程CurPageChanged(CurPageID:Integer);
变量
参数:Longint;
开始
{如果选择了基本模式,则跳过准备页面}
如果(CurPageID=wpPreparing)和ModePage.Values[0],则
开始
参数:=0或BN_单击shl 16;
PostMessage(WizardForm.NextButton.Handle,CN_命令,Param,0);
结束;
结束;

就是不要那样做。曾经如果您在不提示用户的情况下关闭任意应用程序列表,这是绝对不可接受的。同样不礼貌的做法是提前完成安装,然后在安装结束时要求重新启动。(不经请求就触发重启是不可原谅的。)


您可以在
preparetoall
[code]
功能中添加一些代码,该功能将自动关闭您的应用程序。这会在提示用户关闭应用程序之前执行,因此,如果只涉及您的应用程序,则不会提示用户关闭应用程序。

请不要这样做。曾经如果您在不提示用户的情况下关闭任意应用程序列表,这是绝对不可接受的。同样不礼貌的做法是提前完成安装,然后在安装结束时要求重新启动。(不经请求就触发重启是不可原谅的。)

您可以在
preparetoall
[code]
功能中添加一些代码,该功能将自动关闭您的应用程序。这会在提示用户关闭应用程序之前执行,因此,如果仅涉及您的应用程序,则不会提示用户关闭应用程序