在WiX MSI安装程序中注册上下文菜单

时间:2017-09-27 05:21:58

标签: windows wix windows-installer contextmenu

我想使用C#创建一个类似7-Zip菜单的上下文菜单。如何使用WiX注册dll?

enter image description here

1 个答案:

答案 0 :(得分:4)

第一步是学习如何手工完成。这涉及创建Shell扩展和registering it。根据MSDN,您可以通过implementing IContextMenu执行此操作,并将其CLSID列在注册表项HKEY_CLASSES_ROOT \ ProgID \ ShellEx \ ContextMenuHandlers的子项中。此外,在编写该注册表项后,您必须使用 SHCNE_ASSOCCHANGED 调用SHChangeNotify,或重新启动。

如果您的需求比7-zip案例更简单,您可能只需注册一个Verb or File Association

完成此操作并在开发计算机上对其进行测试后,您已准备好进行第2步:将其作为安装程序的一部分。如果您正在创建动词或文件关联,则可以使用本机Windows Installer表,通过ProgIdExtensionVerb元素公开。如果您正在注册shell扩展,我相信您必须直接通过RegistryKeyRegistryValue元素创建注册表项。

有关WiX创作的更具体示例,请参阅How to register file types/extensions with a WiX installer?How to associate application with existing file types using WiX installer?的答案