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

Cas*_*per 1 windows windows-installer contextmenu wix

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

在此处输入图片说明

Mic*_*man 5

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

如果您的需求比 7-zip 情况更简单,您可能只需注册一个动词或文件关联

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

有关 WiX 创作的更具体示例,请参阅如何使用 WiX 安装程序注册文件类型/扩展名的答案以及如何使用 WiX 安装程序将应用程序与现有文件类型相关联?