是否可以使用一个 NSIS 安装程序在 32 位操作系统上安装 32 位二进制文​​件,在 64 位操作系统上安装 64 位二进制文​​件?

2023-11-26

目前,我维护的产品有两个 WIX 安装程序。一种适用于 32 位操作系统,一种适用于 64 位操作系统。我不想维护两个单独的安装程序,而是想将它们组合成一个 NSIS 安装程序,该安装程序可以“确定”操作系统的“位数”,然后将适当的二进制文件复制到程序目录中。有没有人有这方面的经验,并且可以提供 NSIS 可以用来制作安装程序的工作示例脚本?


x64.nsh有一些帮助宏,您可以安装到$programfiles32 or $programfiles64

Edit:

Function .onInit
StrCpy $instdir $programfiles32\MyApp
${If} ${RunningX64}
  StrCpy $instdir $programfiles64\MyApp
${EndIf}
FunctionEnd

...

Section
Setoutpath $instdir
${If} ${RunningX64}
  File /r build\64\*
${Else}
  File /r build\32\*
${EndIf}
SectionEnd
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以使用一个 NSIS 安装程序在 32 位操作系统上安装 32 位二进制文​​件,在 64 位操作系统上安装 64 位二进制文​​件? 的相关文章

随机推荐

  • CallRedirectionService 实现不起作用

    安卓Q已经介绍了CallRedirectionServiceAPI 似乎第 3 方应用程序可以使用它的方式之一是取消呼叫并通过 VoIP 重新路由它们 本质上是拦截电话呼叫 我试图按如下方式实现该类 public class CallMon
  • Facebook Connect 在个人 API 上进行身份验证

    我开发了一个简单的 API 来允许我的 Android iPhone 应用程序和我的服务器之间进行通信 在我的应用程序中 用户需要对自己进行身份验证 他们使用登录名 密码凭据和以下 API 调用来完成此操作 http api myapp c
  • 调用“选择屏幕锁定”屏幕的意图是什么?

    我找不到任何参考来调用意图屏幕 选择屏幕锁定 找不到任何东西 任何想法 您可以致电action DevicePolicyManager SET NEW PASSWORD将用户发送到锁定屏幕设置片段 首先他必须输入安全锁定类型的当前密码 模式
  • 为什么我们不能在没有 new 运算符的情况下调用 Date() 类的方法[重复]

    这个问题在这里已经有答案了 假设我定义一个这样的变量 var today Date console log today getMonth Throw Error 而其他类 如 Error 类 则在不使用 new 运算符的情况下调用其方法 f
  • 子片段到父片段的通信

    在我的子 Fragment 中 我有一个 Recyclerview 并且在我的父 Fragment 中有一个 Appbar 布局 当 Recyclerview 的第一个项目可见时 我需要更新父片段中的应用栏布局 我的界面 public in
  • 是否有更有效的方法将 char 扩展为 uint64_t?

    我想给一个充气unsigned char to an uint64 t通过重复每个位 8 次 例如 char gt uint64 t 0x00 gt 0x00 0x01 gt 0xFF 0x02 gt 0xFF00 0x03 gt 0xFF
  • 使用 UIWebView,我可以使用自定义字体吗?

    我在网上看到了所有关于在 iPhone 操作系统中使用自定义字体的困难的讨论 是否可以将我的包中的字体加载到 UIWebView 组件中 编辑 我在 Rusty Brick 的名为 Omer 的应用程序中看到了它 这似乎是一个网络视图 因为
  • 无服务器框架 - 变量解析错误

    我有 serverless yaml 脚本 用于在更新到较新版本的 SLS 2 72 0 之前 接下来工作 我开始收到警告 Cannot resolve serverless yaml Variables resolution errore
  • 是否可以在单声道下使用 Razor 2.0 视图引擎?

    我对 Razor 2 0 感兴趣条件属性功能 所以我尝试将 Razor 2 0 移植到我的 MVC3 应用程序中 我跟着这个链接并成功运行我的简单应用程序 使用一个HomeController one Index行动和一 Views Hom
  • 等待文件锁释放的正确模式是什么?

    我需要打开一个文件 但如果它当前不可用 我需要等到它准备好 最好采取什么方法 SCENARIO 我使用文件作为应用程序数据的持久缓存机制 这些数据需要经常读取和反序列化 只写入一次 偶尔删除 我有一个在单独线程上运行的清理进程 该进程确定不
  • 如何从 UserControl 访问父级的 DataContext

    我需要从我在 WPF 中创建的 UserControl 包含文本框和列表框的网格 我需要在此列表框中插入项目 访问容器的 DataContext 这是最好的方法吗 我正在考虑将 DataContext 作为参数传递给用户控件 但认为有一种更
  • Symfony2 选择学说中的一列

    我正在尝试优化查询 尝试选择更少的可能值 例如 我有一个实体 Anagrafic 其中包含您的姓名 地址 城市等 以及一个我只想更改其中一个字段的表单 例如地址 我创建了这个查询 AnagraficRepository public fun
  • 找到折线中最接近经纬度的点

    我有一条用 latlng 绘制的折线是从谷歌地图方向服务获得的 现在我想找到折线上最接近给定点的点 对我来说 明显的方法是循环遍历折线中的所有点并找到它们与给定点之间的距离 但是这是低效的 因为折线上的点可能很大 我很高兴听到任何替代方案
  • 关于 __new__ 失去参数的最佳解决方案有什么想法吗?

    所以 直到今天我才意识到 new 从 python 2 6 开始 不推荐用于接收参数 文档中没有提到 这在以下行为方面也是不正确的 new 呼叫 init 据我所知 这意味着我的功能代码已经开始发出警告 我想摆脱它们 但我看不到一种优雅的解
  • PayPal API:购物车商品金额总计与订单金额不匹配

    有很多关于这个错误的帖子 但它们都不适用于我 我真的不明白为什么金额不匹配 我有与 AMT0 QTY0 匹配的 ITEMAMT AMT 与 ITEMAMT SHIPPINGAMT 相匹配 我一遍又一遍地检查文档 它确实应该这样工作 当我完全
  • Parallel.ForEach 错误 HttpContext.Current

    这个方法 doDayBegin item BranchId 需要很长时间才能执行 所以我正在使用Parallel ForEach并行执行它 当我正常使用时foreach循环它工作正常但是当我使用时Parallel ForEach它显示这个错
  • 从 JavaScript 中的 Base64 代码获取图像宽度和高度

    我有一个 Base64 编码的图像 你可以找到here 我怎样才能得到它的高度和宽度 var i new Image i onload function alert i width i height i src imageData
  • 在 Android 中保存和读取内存中的位图/图像

    我想要做的是将图像保存到手机的内存中 不是 SD 卡 我该怎么做 我已将图像直接从相机获取到我的应用程序中的图像视图 一切正常 现在我想要的是将图像视图中的图像保存到我的 Android 设备的内部存储器中 并在需要时访问它 谁能指导我如何
  • 如何消费一条消息?

    With example在rabbitmq中 消费者一次从队列中获取所有消息 如何消费一条消息并退出 QueueingConsumer consumer new QueueingConsumer channel channel basicC
  • 是否可以使用一个 NSIS 安装程序在 32 位操作系统上安装 32 位二进制文​​件,在 64 位操作系统上安装 64 位二进制文​​件?

    目前 我维护的产品有两个 WIX 安装程序 一种适用于 32 位操作系统 一种适用于 64 位操作系统 我不想维护两个单独的安装程序 而是想将它们组合成一个 NSIS 安装程序 该安装程序可以 确定 操作系统的 位数 然后将适当的二进制文件