我正在开发一个使用一些自定义32位dll与USB设备通信的C#/ WPF应用程序。它是作为x86应用程序开发的,并与WIX一起安装。当我在64位计算机上安装软件包时,程序文件将按照我的预期安装到Program Files(x86)。
使用WIX将dll安装到SystemFolder。在32位计算机上,这意味着C:\ Windows \ System32。在64位上,它们最终位于C:\ Windows \ SysWOW64中。这没关系,但是当我运行我的应用程序时,它无法找到dll(它通过[DllImport ...]使用它们。)
那么,让我的应用程序找到dll的正确方法是什么,无论它们是在System32还是SysWOW64中?
由于 汤姆
答案 0 :(得分:1)
如果它是默认的C#应用程序,它将自动成为64位Windows上的64位应用程序(在32位Windows上C3默认为32位)。进入开发应用程序中的项目属性,并将架构(我认为;我现在没有Studio)显式设置为32位。如果它作为64位应用程序运行,它将无法使用您的32位DLL。