C# 是否有一个工具可以注册32位COM类,供64位通过COM代理使用
我们有一些C#程序集,可以使用RegAsm注册,也可以使用32位Excel从VBA访问 如果我们使用64位Excel,那么我们需要添加注册表项,例如C# 是否有一个工具可以注册32位COM类,供64位通过COM代理使用,c#,com,registry,32bit-64bit,C#,Com,Registry,32bit 64bit,我们有一些C#程序集,可以使用RegAsm注册,也可以使用32位Excel从VBA访问 如果我们使用64位Excel,那么我们需要添加注册表项,例如 [HKEY_CLASSES_ROOT\AppID\{F103997A-4B60-44BB-8935-AC85704A7960}] "DllSurrogate"="" [HKEY_CLASSES_ROOT\CLSID\{F103997A-4B60-44BB-8935-AC85704A7960}] AppID="{F103997A-4B60-44BB
[HKEY_CLASSES_ROOT\AppID\{F103997A-4B60-44BB-8935-AC85704A7960}]
"DllSurrogate"=""
[HKEY_CLASSES_ROOT\CLSID\{F103997A-4B60-44BB-8935-AC85704A7960}]
AppID="{F103997A-4B60-44BB-8935-AC85704A7960}"
[HKEY_CLASSES_ROOT\CLSID\{F103997A-4B60-44BB-8935-AC85704A7960}]
AppID="{F103997A-4B60-44BB-8935-AC85704A7960}"
这似乎足以让它发挥作用,但我们想知道是否有一个工具可以生成注册表项,并以与RegAsm register/unregister相同的方式删除它们。没有工具可以生成COM代理项,以使64位Excel能够与32位COM进行通信 我编写了一个简单的工具来生成.reg文件,安装程序使用它
当我们的类ID/prog ID更改时,将生成一个新的.reg文件没有工具生成COM代理项,以使64位Excel能够与32位COM通信 我编写了一个简单的工具来生成.reg文件,安装程序使用它
当我们的类ID/prog ID发生变化时,将生成一个新的.reg文件,而不是像那样的代理文件,您可以使用COM+组件服务提供的文件:它是完全可编程的,如果您为MSIL编译它们(与x86或x64相反),它还提供一系列附加服务(池、回收等),然后可以使用regasm为32位和64位注册相同的程序集。诀窍是使用32位regasm注册32位,使用64位regasm注册64位。64位regasm通常位于c:\windows\Microsoft.Net\Framework64\v4.0.30319或您所在的任何位置。不幸的是,32位代码仍然依赖于其他32位元素,我们正在为任何CPU工作,但还没有…而不是像这样的代理,您可以使用COM+组件服务提供的服务:它是完全可编程的,并且还提供一系列附加服务(池、回收等)。如果您为MSIL编译它们(与x86或x64相反),那么您可以使用regasm为32位和64位注册相同的程序集。诀窍是使用32位regasm注册32位,使用64位regasm注册64位。64位regasm通常位于c:\windows\Microsoft.Net\Framework64\v4.0.30319或您所在的任何位置。不幸的是,32位代码仍然依赖于其他32位元素,我们正在为任何CPU工作,但还没有。。。