【问题标题】:32bit-64bit Installer Help32bit-64bit 安装程序帮助
【发布时间】:2011-04-01 17:03:26
【问题描述】:

寻求帮助以构建 32/64 位安装程序。我已经在这里寻求帮助,从 Mithriel 找到了一些帮助,但不幸的是我对编辑注册表项非常陌生。

我回复了他的回答并发布了我的脚本,但一个 Mod 删除了它。对于礼仪上的任何差距,我深表歉意。

我正在使用 InnoIDE 开发我的安装程序。本质上,我只是希望它能够检测芯片组架构,然后加载适当的注册表值。

据我了解,看起来很多人正在创建一个父安装程序,该安装程序运行另外两个安装程序(一个分别用于 32 和 64)。这很好,但我将复制到安装目录的文件大约是 GB。我真的不能拥有这些文件 明显重复。

我也在寻找一种在安装时删除文件夹的方法。

我可以将脚本发布/通过电子邮件发送给任何愿意帮助我的人。

J.

【问题讨论】:

  • 您是否真的需要两个安装程序,或者您可以只使用一个 32 位的安装程序,然后让它将您的应用程序粘贴到 Program Files (x86) 中?
  • 确实如此。如果应用程序只有一个“位”,那么双位安装程序就是浪费。 x64 用户将能够使用 x86 安装程序来安装 x86 应用程序。 x86 用户甚至无需担心安装 x64 应用程序。
  • 这不是一个真正的问题。这是要求某人私下通过电子邮件向您发送他们的帮助的请求。你能改写一下吗?

标签: 32bit-64bit inno-setup


【解决方案1】:

关于“为什么”需要 32/64 位安装程序。这不能回答问题,但已经发展得太大而无法发表评论。请参阅原帖中的其他 cmets。


将 32 位安装程序用于 64 位应用程序(反之亦然)的“问题”是由于 Windows Registry Virtualization

32 位安装程序将(除非它在写入注册表时使用特殊标志写入注册表的“32 位视图”并且应用程序将看到“64 位视图”)。如果应用程序本身仅以 32 位运行,那么这无关紧要,当然只需要 32 位安装程序。同样,如果它仅在 64 位中运行,则只需要 64 位版本的安装程序。

编码愉快。

【讨论】:

    【解决方案2】:

    在使用 inno 设置时,我发现写入 64 位寄存器的问题似乎是在 32 位上写入时的不同指令。 所以它需要更多的搜索,我不会为此存货。

    【讨论】:

      【解决方案3】:

      没有更具体的问题,registry section of the documentation 包含 32 位和 64 位注册表选项的特定常量。例如,请参阅本节:

      这些值的后缀可能是 32 或 64。根键值带有 后缀 32(例如 HKLM32)映射到 32 位视图 登记处;后缀为 64 的根键值(例如,HKLM64) 映射到注册表的 64 位视图。

      为每个位创建一组注册表项,并在每个项中指定 32 位或 64 位注册表根,并为 64 位注册表项添加 Check: IsWin64 参数。您应该能够反转对 32 位条目的检查。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-06
        • 2018-03-13
        • 2012-01-16
        • 1970-01-01
        • 2010-11-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多