我有一个32位C#应用程序与目标x86安装程序。这个应用程序可以安装在x64机器上运行没有问题。但是,当我们安装在x64系统上时,来自供应商(已集成到软件中)的第三方硬件现在需要使用64位DLL。32位C#应用程序如何利用64位DLL
目前我已经把32位DLL和64位DLL放在我的项目中。但是目标x86安装程序显然不喜欢64位DLL。
我可以创建一个解决方案,我可以部署64位DLL和/或32位DLL,但仍然只有一个安装程序项目吗? (我看了第三方软件称为高级安装程序,但我不知道这是否会帮助我实现我需要的解决方案)
或者是否可以创建一个通用的安装程序项目?
注意:两个安装程序(x86与x64)部署不可行,因为我们有一个我不想重新定义的自动更新过程。维护一个MSI文件对我很重要。
建议非常感谢。
你可以在NSIS中做到这一点。 – leppie
这里真正的问题是,您将无法使用x86应用程序中的x64 DLL。 –
您无法使用来自32位进程的64位DLL(反之亦然)。这部分是因为地址空间之间无法翻译。有关详情,请参阅[Raymond Chen的博客上的此帖](http://blogs.msdn.com/b/oldnewthing/archive/2008/10/20/9006720.aspx)。如果你想混合使用64位和32位,你必须有两个进程和一些进程间通信。 –