我正在尝试使用heat来创建必要的注册表项。程序集是一个简单的虚拟 Shell Context处理程序,它将上下文菜单添加到.txt结尾。
如果我使用 Regasm 进行注册,则会在此处添加一个注册表项(不是唯一一个但不同的注册表项)。请注意,它位于txtfile。
[HKEY_CLASSES_ROOT\txtfile\shellex]
[HKEY_CLASSES_ROOT\txtfile\shellex\ContextMenuHandlers]
[HKEY_CLASSES_ROOT\txtfile\shellex\ContextMenuHandlers\{1e25bcd5-f299-496a-911d-51fb901f7f40}]
@="VBShellExtContextMenuHandler.FileContextMenuExt Class"
如果我使用热量,则不使用此 txtfile 。它使用.txt
[HKEY_CLASSES_ROOT\.txt\shellex]
[HKEY_CLASSES_ROOT\.txt\shellex\ContextMenuHandlers]
[HKEY_CLASSES_ROOT\.txt\shellex\ContextMenuHandlers\{1e25bcd5-f299-496a-911d-51fb901f7f40}]
@="VBShellExtContextMenuHandler.FileContextMenuExt Class"
regasm制作的其他键看起来和Heat一样,但是这个键不是,这意味着菜单会因为Heat键而失败。
这是一个已知的热问题吗?
我知道我可以简单地改变它,但这是一个测试,我需要添加大约15个扩展。
答案 0 :(得分:0)
查看帮助主题Regasm.exe (Assembly Registration Tool)中的问题。
请注意,.reg文件不包含任何可以进行的注册表更新 由用户定义的寄存器功能构成。注意/ regfile 选项仅发出托管类的注册表项。这个选项 不会为TypeLibIDs或InterfaceIDs发出条目。
我对于热火与Regasm的互动并不是100%肯定,但我知道InstallShield的.NET Com Interop会调用Regasm / regfile,所以这个问题会适用。
就我个人而言,我只使用这些工具作为我可以使用的众多工具之一来收集需求,将其全部排序然后手动创作。