Windows installer 忽略“目标“xxx”与项目目标不兼容”警告

Windows installer 忽略“目标“xxx”与项目目标不兼容”警告,windows-installer,setup-deployment,mismatch,vdproj,target-platform,Windows Installer,Setup Deployment,Mismatch,Vdproj,Target Platform,这个问题以前问过,但从来没有回答过。 如何抑制MS installer部署项目中的警告/错误 谢谢它提醒您做了错误的事情,因为32位MSI不能包含64位组件: 不同的体系结构需要不同的设置: 因此,如果目标计算机是x64,那么为什么还需要64位Dll?可以通过将其构建为x64 MSI文件来消除警告,因为64位MSI可以同时包含32位和64位文件。我刚试过这个,它确实消除了警告。我不知道还有什么其他方法来压制这一警告 亲爱的朋友们, 如果您遵循msdn或其博客或其他安装程序供应商中给出的建议,他们

这个问题以前问过,但从来没有回答过。 如何抑制MS installer部署项目中的警告/错误


谢谢

它提醒您做了错误的事情,因为32位MSI不能包含64位组件:

不同的体系结构需要不同的设置:


因此,如果目标计算机是x64,那么为什么还需要64位Dll?可以通过将其构建为x64 MSI文件来消除警告,因为64位MSI可以同时包含32位和64位文件。我刚试过这个,它确实消除了警告。我不知道还有什么其他方法来压制这一警告

亲爱的朋友们, 如果您遵循msdn或其博客或其他安装程序供应商中给出的建议,他们将使您陷入困境

如果你读了我最初的问题,你会发现这是一个非常简单的问题——这是否是一种常见的做法是另一个问题。但我和其他人确实需要一个用于此部署场景的解决方案

因此,我发现最简单的解决方法是将x86目标平台中不允许使用x64程序集的安装程序限制压缩到文件并将其包含到项目中,安装程序无法检测到它是用于x64的。下一步是创建自定义操作以在AfterInstall事件中解压缩,并在AfterUninstall事件中删除解压缩文件。自定义操作DLL非常容易创建


我希望这有助于尝试完成类似部署场景的其他人。

更具体地说明您尝试实现的目标、设置等。您是否尝试过其他问题的答案?我已经为我的项目创建了一个安装程序,并且包含了一个需要在目标计算机上复制的特殊.dll文件。编译器显示以下警告:目标为“未知”的文件“[filename]”与项目的目标平台“x86”不兼容我不关心该dll的目标平台,因为我需要该文件用于其他目的。此外,我需要保持此文件不变,以便无法更改其目标平台。所以我需要一种方法来忽略这个警告。我知道我的程序是针对x86的,如果我们不必为x86和x64操作系统创建两个单独的msi文件,那就太好了。我偶然看到了您提到的这些msdn文章,我相信一定有一种方法可以指示安装程序在exe和dll的ext文件上禁用对目标平台的检查。微软的人能在这里提供解决办法吗?或者他们甚至不检查这个网站?我提供的博客链接是一个微软的家伙说你需要单独的MSI来实现不同的架构,当前的VS安装项目在VS 2010之后将被VS 2013中的不同内容所取代。您可以构建一个包含两个MSI的EXE引导程序,并根据平台架构启动它们。Advanced Installer在其混合包中提供了对此的预定义支持。