我正在尝试使用heat来创建必要的注册表项。该程序集是一个简单的伪外壳上下文处理程序它将上下文菜单添加到.txt结尾。
如果我使用Regasm进行注册,则会在此处添加一个注册表项(不是唯一的注册表项,而是不同的注册表项)。请注意,它位于txtfile。
[HKEY_CLASSES_ROOTtxtfileshellex]
[HKEY_CLASSES_ROOTtxtfileshellexContextMenuHandlers]
[HKEY_CLASSES_ROOTtxtfileshellexContextMenuHandlers{1e25bcd5-f299-496a-911d-51fb901f7f40}]
@="VBShellExtContextMenuHandler.FileContextMenuExt Class"
如果我使用热量,则不使用此txtfile。它使用.txt
[HKEY_CLASSES_ROOT.txtshellex]
[HKEY_CLASSES_ROOT.txtshellexContextMenuHandlers]
[HKEY_CLASSES_ROOT.txtshellexContextMenuHandlers{1e25bcd5-f299-496a-911d-51fb901f7f40}]
@="VBShellExtContextMenuHandler.FileContextMenuExt Class"
regasm制作的其他键似乎与Heat相同,但这一个不同,这意味着菜单使用Heat键失败。
这是已知的热问题吗?
我知道我可以简单地更改它,但这是一个测试,我需要添加大约15个扩展。
查看帮助主题Regasm.exe(程序集注册工具)中的gotcha。
请注意,.reg文件不包含任何可以由用户定义的寄存器函数生成。请注意/regfile选项仅发出托管类的注册表项。此选项不发出TypeLibID或InterfaceID的条目。
我不能100%确定Heat与Regasm的交互,但我知道InstallShield的.NETCom Interop调用Regasm/regfile,所以这个问题会适用。
就我个人而言,我只使用这些工具作为我可以使用的众多工具之一来收集需求,整理所有需求,然后手工编写。