我正在使用 VS2008 安装程序(加上自定义 Orca 操作)为我的 .NET 产品创建安装程序。
我最近才发现我使用的第三方程序集之一是特定于 x86 的(因为它包含一些本机代码);因此,x64 客户在启动时遇到了关于程序集不适合他们的平台的错误。
我向这样的客户发送了一份该第三方程序集的 x64 版本的副本,并告诉他只需将其复制到现有的 x86 版本上即可。成功了,甜!所以现在我只需要让安装程序为我做这件事。
这实际上看起来很重要:(。理想情况下,我只希望安装程序(它将是 x86,因为它可以在两个平台上运行)包含此第三方程序集的 x86 和 x64 版本,并安装适当的一个。在换句话说,我想要一个让我的用户生活更轻松的安装程序。
我以为我已经解决了这个问题,使用 MSI 条件语句等等。但显然不是……除非您指定“x86”或“x64”,否则 VS2008 安装项目将无法编译。如果您指定 x86,它会给出一个编译错误,指出它不能包含 x64 程序集。如果指定 x64,则结果无法在 x86 计算机上执行。该死!
以前一定有人遇到过这个问题。不幸的是,谷歌没有帮助,所以我求助于 StackOverflow!