【问题标题】:Inno Setup - Post Install: replace checkboxes with radio buttons?Inno Setup - Post Install:用单选按钮替换复选框?
【发布时间】:2014-09-10 20:56:48
【问题描述】:

我编写了一个包含多个组件的 Inno Setup 脚本。脚本的 [Run] 组件包括这些行,因此 Finish 屏幕上最多可以有五个复选框。

我的问题是:我可以让这些选项互斥,让用户只能选择一个吗?换句话说,我可以用单选按钮替换复选框吗?

[Run]
Filename: "{app}\vDosWP51.exe"; Flags: postinstall skipifsilent unchecked; Description: "&Launch vDosWP51"; Components: InstallForWP51
Filename: "{app}\vDosWP61.exe"; Flags: postinstall skipifsilent unchecked; Description: "Launch vDos&WP61"; Components: InstallForWP61
Filename: "{app}\vDosWP62.exe"; Flags: postinstall skipifsilent unchecked; Description: "Launch &vDosWP62"; Components: InstallForWP62
Filename: "{app}\vDosWPO31.exe"; Flags: postinstall skipifsilent unchecked; Description: "Launch &Office 3.1"; Components: InstallShell\InstallOffice31
Filename: "{app}\vDosSH40.exe"; Flags: postinstall skipifsilent unchecked; Description: "Launch &Shell 4.0"; Components: InstallShell\InstallShell40

一个复杂的问题是这些选项中的一到五个可能可用,具体取决于用户选择安装的组件。

由于我不知道这五个选项中的哪一个可能出现在“完成”屏幕上,所以我不知道我该如何做这样的事情(尽管它似乎指向了正确的方向):

How to execute files in Inno setup with multiple radio buttons?

感谢您对此的任何帮助。

【问题讨论】:

    标签: checkbox radio-button inno-setup post-install


    【解决方案1】:

    安装后的[Run] 条目无法做到这一点。您最接近的方法是添加一个提供选项并预先显示的自定义页面,但这有几个缺点(特别是如果您的安装可能需要重新启动)。不过,如果您有兴趣追求这个,请告诉我,我会扩展这个答案。

    另一种方法是取消单独的 exe,只使用一个在所有情况下都可以启动的程序 - 或者是一个简单的启动器应用程序,询问要启动(已安装的)其他应用程序中的哪一个,或者实际上将所有应用程序的功能集成到一个应用程序中。显然我不知道您的应用实际上是什么,但是必须针对另一个应用的某个版本启动一个特定的应用似乎很奇怪——为什么应用本身不能支持所有这些?

    【讨论】:

    • 是的,我有兴趣追求这个,但我意识到我要求很多。我提供各种 exe 的原因很复杂:这是 vDos DOS 模拟器的安装程序,它运行各种版本的 WordPerfect for DOS - 5.1、6.1、6.2 - 或 WordPerfect 附带的各种 DOS shell 程序。用户可以安装一个或多个版本的设置;每个版本都由一个单独的 exe 存根启动。物理上可以同时启动多个,但这样做会很混乱,并且可能会导致与尝试访问同一文件的两个单独的 vDo 实例发生冲突。
    • 如果你很好奇(没有理由),安装程序和解释在wpdos.org/vdoswp.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    相关资源
    最近更新 更多