单个MSI安装正确的32位或64位c#应用程序

我有一个为x86(32位)和x64(64位)平台构建的C#应用​​程序.我的构建系统目前输出两个MSI安装程序,每个平台一个.如果它有所不同,我的C#应用​​程序包括一个 Windows任务栏工具栏,这意味着安装的DLL必须由explorer.exe进程加载.

是否可以生产单个MSI安装程序,这将根据当前操作系统是否为64位操作系统安装我的应用程序的正确版本?

目前已经通过使用http://dotnetinstaller.codeplex.com/生成执行体系结构检查的EXE,然后启动正确的MSI来实现.不过,我宁愿采用基于MSI的纯粹方法.

解决方法

不,这是不可能的.参见Heath Stewart的 Different Packages are Required for Different Processor Architectures帖子.使用MSI处理这个问题的唯一方法是按照你所描述的方式进行引导.如果您只需要在64位的位置放置一个或两个或更多的文件,则可以(但不建议)在自定义操作中执行此操作,但是更改目标安装位置并使用内置的MSI文件支持,工作

相关文章

1:最直白的循环遍历方法,可以分为遍历key--value键值对以及...
private void ClearTextBox(){ foreach (var control in pnl...
原文叫看《墨攻》理解IOC概念 2006年多部贺岁大片以让人应接...
右击文件夹->安全选项卡->添加->高级-...