我正在使用VS2008安装程序(加上自定义Orca操作)为我的.NET产品创建安装程序.
我刚刚发现我使用的第三方程序集之一是x86特定的(因为它包含一些本机代码); 因此,x64客户在启动时遇到崩溃,错误的是程序集不适合他们的平台.
我向这样的客户发送了这个第三方程序集的x64版本的副本,并告诉他只需将其复制到现有的x86版本上.它工作,甜蜜!所以现在我只需要让安装程序为我做这个.
这实际上看起来很重要:(.理想情况下,我只是希望安装程序(可能是x86,因为它可以在两个平台上运行)包含此第三方程序集的x86和x64版本,并安装相应的安装程序.换句话说,我想要一个让用户生活更轻松的安装程序.
我以为我已经解决了这个问题,使用MSI条件语句等等.但显然没有......除非指定"x86"或"x64",否则VS2008安装项目将无法编译.如果指定x86,则会出现编译错误,指出它不能包含x64程序集.如果指定x64,则无法在x86计算机上执行结果.该死的!
以前有人必须遇到这个问题.不幸的是谷歌没有帮助,所以我转向StackOverflow!
当我在一年前研究这个时,我得出的结论是,这是不可能的.值得注意的是,许多Microsoft提供的MSI文件都有单独的x86和x64版本 - 据推测,如果可能的话,它们只会提供单个文件.