与regasm /基本代码生成regasm /基本代码的作品,但文件/ REGFILE不(regas

2019-09-26 11:33发布

我有适合我用的菜单项添加到Windows资源管理器右键菜单32个和64位architechtures一个COM DLL可见。 使用“regasm MyAssembly.dll程序/代码库”我注册的dll,看到了新的菜单项。 大。 注销工作正常也。

现在,我想创建一个.reg文件,这样我就可以在菜单项添加到非开发机器。 我用“regasm MyAssembly.dll程序/代码库/ REGFILE”产生,我可以用注册表编辑器导入.reg文件。 问题是,在导入该.reg后,我无法看到的菜单图标。 为什么会注册失败? 注意:我是一个64位系统上。

Answer 1:

登记一个外壳扩展需要编写比通常所需的注册多个注册表项[ComVisible] .NET组件。
您也可以写键是浏览器读取发现扩展。
你没有提到在所有你如何照顾的是,这通常需要一个自定义[ComRegisterFunction] 但肯定的是,.reg文件是不会包含这些按键,因为一个自定义的注册功能,需要运行的代码。



Answer 2:

你应该知道,这是一个非常,非常,坏主意。 请阅读关于这个问题的这个经典的文章。

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