我正在使用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个不同的安装程序,如何将这种依赖关系添加到每个安装程序中?
提前谢谢!
答案 0 :(得分:1)
位数 :Different Packages are Required for Different Processor Architectures。 64位安装程序可以同时安装32位 和64位组件,则32位设置只能安装32位 组件。 32位设置在64位系统上运行,但是64位程序包不在32位系统上运行。换句话说,您需要两个不同的安装程序,一个用于 32位,一个为64位。
文件包含 :我不使用此项目类型(原因将在下面明确说明),但是您应该可以通过< strong> 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(底部)来实现相同的目的。
链接 :