我有适合我用的菜单项添加到Windows资源管理器右键菜单32个和64位architechtures一个COM DLL可见。 使用“regasm MyAssembly.dll程序/代码库”我注册的dll,看到了新的菜单项。 大。 注销工作正常也。
现在,我想创建一个.reg文件,这样我就可以在菜单项添加到非开发机器。 我用“regasm MyAssembly.dll程序/代码库/ REGFILE”产生,我可以用注册表编辑器导入.reg文件。 问题是,在导入该.reg后,我无法看到的菜单图标。 为什么会注册失败? 注意:我是一个64位系统上。
登记一个外壳扩展需要编写比通常所需的注册多个注册表项[ComVisible]
.NET组件。
您也可以写键是浏览器读取发现扩展。
你没有提到在所有你如何照顾的是,这通常需要一个自定义[ComRegisterFunction]
但肯定的是,.reg文件是不会包含这些按键,因为一个自定义的注册功能,需要运行的代码。
你应该知道,这是一个非常,非常,坏主意。 请阅读关于这个问题的这个经典的文章。
http://blogs.msdn.com/b/oldnewthing/archive/2006/12/18/1317290.aspx
那么这个新的更新:
http://blogs.msdn.com/b/oldnewthing/archive/2013/02/22/10396079.aspx
即使你坚持要尝试这种(或者,如果大会的目的是为其他的东西,一个外接),它仍然是一个坏主意,尝试使用一个.reg文件来注册程序集。
还有就是需要除了用于装配工作的COM注册发生了很多。 最有可能你就必须把它添加到GAC使.NET能够找到它。 此外,.NET的未来版本可能需要更多的信息,或不同的信息,要在注册表中添加。 即使在今天,(我怀疑),REGASM可能需要放在不同的环境不同的信息(86对64)。
文章来源: regasm /codebase works but file generated with regasm /codebase /regfile does not