【问题标题】:Allow user to install 32bit version on 64bit windows允许用户在 64 位 Windows 上安装 32 位版本
【发布时间】:2012-04-18 01:58:26
【问题描述】:

我有一个简单的 inno-setup 脚本,它允许我的安装程序根据 Is64BitInstallMode 值安装我的程序的 32 位或 64 位版本。这很好用,但我想让用户选择安装 32 位版本,即使他们在 64 位 Windows 上也是如此。我希望在选择应用程序安装路径之前做出选择,以便它可以根据他们的选择默认为 32 位或 64 位程序文件文件夹。如果它们在 32 位窗口上,我也想完全避免这个问题。我一直在玩各种功能,但还没有想出办法来做到这一点。如果我不能轻松做到这一点,我将只进行两次单独的安装(我正在尝试确定最有意义的方法!)非常感谢任何建议!

【问题讨论】:

    标签: windows 32bit-64bit inno-setup


    【解决方案1】:

    我实际上还没有完成以下操作,但这是我会尝试的:

    1. 您需要一个新的安装程序页面,允许用户选择是安装 32 位还是 64 位版本(此页面应仅在 64 位 Windows 上可见)
    2. 您需要一个变量来保存用户选择的“bittyness”指标。它应该在 32 位系统上初始化为 32 位,在 64 位系统上初始化为 64 位,具体取决于 Is64BitInstallMode
    3. 在 1. 中的页面完成后,您应该将 2. 中创建的变量更新为反映用户选择的值。
    4. 将 32 位和 64 位版本的文件添加到安装程序中
    5. 添加一个新函数,如果应该安装 64 位版本,则返回 true(例如 Install64BitVersion
    6. 添加一个新函数,如果应该安装 32 位版本,则返回 true(例如 Install32BitVersion
    7. Files 部分中的File 条目更改为有条件地安装:

    这是Files 部分的示例:

    [Files]
    Source: 32bitexe.exe; DestDir: {...}; Check: Install32BitVersion
    Source: 64bitexe.exe; DestDir: {...}; Check: Install64BitVersion
    

    【讨论】:

    • 谢谢,我看到你的另一个关于制作自定义页面的回答,所以我将尝试自定义页面的想法。在显示该页面之前更改默认目标目录有什么想法吗?
    • 其实你应该考虑显示页面之后改变它。我没有提到它,因为我不确定在64位程序文件夹下安装32位应用程序时是否有问题。
    • 我发现另一个问题通过修改代码中的编辑字段来回答如何做到这一点。我只想更改初始默认值,我不想覆盖用户的选择,因为他们可能选择根本不安装在程序文件(任一版本)中。
    • 我知道 - 我的意思是:让用户选择是安装 32 位还是 64 位版本(通过新页面)。然后在让用户选择路径之前修改建议的安装路径。我并不是要更改用户的选择,但在您的问题中,您建议在让用户选择安装位置之前显示“32/64 位页面”,这就是我所指的。
    • 谢谢托尔斯滕。对不起,我应该比说“那个页面”更清楚。在玩了一会儿之后,我真的在考虑只使用两个单独的安装程序而不是组合一个。
    猜你喜欢
    • 1970-01-01
    • 2014-03-14
    • 2012-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 2016-11-08
    • 1970-01-01
    相关资源
    最近更新 更多