【问题标题】:Create installer with dependencies for x64 and x86为 x64 和 x86 创建具有依赖项的安装程序
【发布时间】:2019-03-14 19:20:32
【问题描述】:

我正在用 C# 开发一个应用程序,它有几个依赖项,其中一个在 32 位或 64 位中是不同的。

当我编译应用程序时:here is the result of the compilation

在 x64 和 x86 文件夹中,找到了相同的依赖项 (SQLite.Interop.dll),但是一个特定于体系结构的文件(x86:1223 KB,x64:1575 KB)。

正如标题中所说,我想使用 Visual Studo Installer 为这个应用程序创建一个安装程序。

当我将程序输出添加到“应用程序文件夹”时,所有依赖项都会出现,除了 x64 或 x86 文件夹中的依赖项。如何根据计算机的体系结构添加这个著名的依赖项?如果我必须创建 2 个不同的安装程序,我如何才能将此依赖项添加到每个安装程序?

提前谢谢你!

【问题讨论】:

    标签: c# visual-studio visual-studio-2017 windows-installer installation


    【解决方案1】:

    比特度Different Packages are Required for Different Processor Architectures。 64 位安装程序可以同时安装 32 位 和 64 位组件,32 位设置只能安装 32 位 成分。 32 位安装程序在 64 位系统上运行,但 64 位软件包不在 32 位系统上运行。换句话说,您需要两种不同的安装程序,一种用于 32 位和一个 64 位。

    文件包含:我不使用这种项目类型(原因将在下面清楚说明),但您应该能够通过 Right Click Project => Add => File... 然后编译两个单独的设置。

    自定义操作:针对不同平台时,请注意自定义操作的位数问题。我通常使用 32 位代码构建自定义操作。


    部署工具There are some well-known limitations for Visual Studio Installer projects。也许可以快速查看other, common tools(不同部署工具功能的简要总结)。

    单一来源Advanced Installer 做了一些奇特的事情,允许用一个来源同时针对两种架构。老实说,我不太确定他们做了什么。 Installshield has similar constructs。 WiX 可以使用compiler variables / preprocessor constructs(底部)来实现同样的效果。


    链接

    【讨论】:

      猜你喜欢
      • 2019-12-16
      • 2012-05-19
      • 1970-01-01
      • 2014-05-19
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 2010-09-08
      • 2016-06-02
      相关资源
      最近更新 更多