本文介绍了如何进行 RegAsm 以使其涵盖 32 位和 64 位?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 C# 准备的 DLL 文件,我的系统是 Windows 7 64 位.当我应用 RegAsm 时,它不会将注册表添加到 64 位路径,而只会将其添加到 32 位路径.

I have a DLL file prepared by C# and my system is Windows 7 64-bit.When i apply the RegAsm its not adding the registry to 64-bit path but only adding it to 32-bit path.

"C:WindowsMicrosoft.NETFramework64v4.0.30319RegAsm.exe" /register /codebase "C:o.dll"

然后,如果我在 regedit.exe 中检查我的 GUID,我会发现它只存在于 32 位注册表路径中:HKEY_CLASSES_ROOTCLSID{...我的 guid 在这里找到 ....}

then if i check my GUID in regedit.exe i see that i have it only in 32-bit registry path: HKEY_CLASSES_ROOTCLSID{... my guid is found here ....}

而不是 HKEY_CLASSES_ROOTWow6432NodeCLSID{... not found my guid ...}

因此,我对此还有其他问题.谁能建议发生了什么以及为什么它不生成 32 位和 64 位注册表项?"

As a result i have other issues for this. Can anyone please suggest what is going on and why its not making 32-bit and 64-bit registry entries?"

推荐答案

你有它倒退.Wow6432Node 是 32 位特定数据所在的位置.使用 32 位 regasm(来自 Framework 目录,而不是 Framework64 目录)在 Wow6432Node 中注册您的组件.

You have it backwards. The Wow6432Node is where the 32-bit specific data goes. Use the 32-bit regasm (from the Framework directory, not the Framework64 directory) to have your component registered in the Wow6432Node.

这篇关于如何进行 RegAsm 以使其涵盖 32 位和 64 位?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 03:05