我将我的项目构建为64位(不是任何CPU),特别是64位。所有的dll都是64位的,其中大部分是托管代码(C#),一些文件是非托管的(C++代码)。
我在Installshield中创建了一个安装程序,我需要注册dll。我在网上读了很多书,我很困惑。
发布于 2014-10-03 12:34:59
在64位系统上,由64位应用程序查看:
在64位系统上,由32位应用程序查看:
在64位系统上,文件系统重定向被禁用(请参阅IntallScript的WOW64FSREDIRECTION或Wow64DisableWow64FsRedirection),如果您碰巧有到System32文件夹的路径,它将访问64位文件。
Regasm不在这个位置;相反,32位构建在Windows\Microsoft.NET\Framework\<version>中,64位构建在Windows\Microsoft.NET\Framework64\<version>中。这里没有奇怪的文件夹名,但不是系统文件夹。
备注:注册文件需要正确的比特性和正确的应用程序。此外,如果您正在创建一个Windows包(例如,一个基本的MSI项目),您不应该在安装时调用这样的工具;您应该使用构建时工具,如本地DLL的COM提取和托管程序集的COM Interop,将它们的自注册转换为MSI数据:正确标记组件的64位设置,并假定InstallShield处理其余的设置。
https://stackoverflow.com/questions/26168654
复制相似问题