1
我在Install4J-Project中定义了多个屏幕。如何在向后移动时隐藏屏幕
假定i都要求3个画面:
- “画面1”
- “画面2”
- “画面3”
屏幕2是配置如下: 激活后脚本:
context.getWizardContext().setControlButtonVisible(ControlButtonType.NEXT, false);
context.getWizardContext().setControlButtonVisible(ControlButtonType.PREVIOUS, false);
context.goForward(1, true, true);
当前的行为如下:
- 我在“屏幕1”,然后单击“下一步”
- Install4J跳转到“画面2”。 Postactivationscript隐藏后退和下一步按钮,并为我点击“下一步”。
- 我在“Screen 3”中。
这就是我到目前为止的行为。
用我当前的配置描述原样和不需要的行为。
如果我现在单击“屏幕3”中的“后退”按钮,Install4J会跳回到“屏幕2”,但Postactivationscript会立即将我弹回“屏幕3”。
我现在的问题是:
我有什么改变,得到这么下列行为? *如果我现在点击“屏幕3”中的“后退”按钮,Install4J跳过“屏幕2”并返回“屏幕1”。
所以我想在前向遍历上显示“Screen 2”并将其隐藏在Backward-Traversal上。这可能吗?
根据Install4J帮助,有像isHiddenForPrevious这样的方法似乎能够完成我的任务,但我如何以及在哪里使用它们以及如何配置“屏幕2”以在向后遍历上隐藏?
我想知道为什么字段“Postactivation-Script”中的以下行阻止了Back Traversal。 context.getWizardContext()。setControlButtonVisible(ControlButtonType.NEXT,false); context.getWizardContext()。setControlButtonVisible(ControlButtonType.PREVIOUS,false); context.goForward(1,true,true); 这些行在“屏幕2”中定义。启用这些功能后,我很遗憾不能从“屏幕3”跳转到“屏幕1”,尽管我已经为“屏幕2”设置了“仅限下一个按钮”。我需要处理“屏幕2”无人看管,不能跳过它。我该怎么办? – Kaot
随着目前的构建这适用于我。使用相同的脚本。请在安装后查看日志文件.install4j \ installation.log。当你回去的时候,你会在日志中看到如[INFO] com.install4j.runtime.beans.screens.FormScreen [ID 1565]中的行:命令:使用历史记录返回1个屏幕,然后跳过的屏幕不应该被激活。您是否可以在可能在较旧版本的install4j上使用的命令行版本编译该项目? –
请道歉。似乎我使用了新的Install4J-GUI,但我的Buildscript使用了旧的。事实上,它现在适用于我这边的这个小例子。我会尝试将它用于真实的项目。再次感谢你的帮助! – Kaot