安装和注册shell扩展上下文菜单来自wix安装程序
本文关键字:安装 wix 程序 菜单 上下文 注册 shell 扩展 | 更新日期: 2023-09-27 18:26:21
我使用.Net创建了sharp shell扩展,用于自定义窗口的右键菜单上下文。项目的结果是一个.dll。我尝试使用与sharp shell工具一起存在的服务器管理器工具安装和注册它,它成功地工作了。现在我需要从我的wix项目中安装并注册这个shell扩展,因为我需要用户安装我的应用程序,并在安装后自定义窗口的右键上下文菜单。
我需要详细的步骤,因为我是新使用Wix安装程序。
以下是如何从wix:注册扩展
首先,您需要定义(在产品范围内)自定义操作来注册/注销您的扩展:
<Product>
<!-- ... -->
<CustomAction Id="InstallShell" FileKey="srm.exe" ExeCommand='install "[INSTALLFOLDER]'MyExtension.dll" -codebase' Execute="deferred" Return="check" Impersonate="no" />
<CustomAction Id="UninstallShell" FileKey="srm.exe" ExeCommand='uninstall "[INSTALLFOLDER]'MyExtension.dll"' Execute="deferred" Return="check" Impersonate="no" />
</Product>
然后,您需要自定义安装执行序列来启动这些自定义操作:
<Product>
<!-- ... -->
<InstallExecuteSequence>
<Custom Action="InstallShell" After="InstallFiles">NOT Installed</Custom>
<Custom Action="UninstallShell" Before="RemoveFiles">(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>
</InstallExecuteSequence>
</Product>
"MyExtension.dll"是wix项目中扩展dll资源的id:
<Component Guid="*">
<File Id="MyExtension.dll" KeyPath="yes" Source="bin'$(var.Configuration)'MyExtension.dll" />
</Component>
srm.exe相同:
<Component Guid="*">
<File Id="srm.exe" Source="packages'SharpShellTools.2.2.0.0'lib'srm.exe" KeyPath="yes" />
</Component>
您需要检索与您使用的Sharpshell版本相关联的srm.exe(我建议您使用nuget包)。您可以在此处找到相关信息:http://www.codeproject.com/Articles/653780/NET-Shell-Extensions-Deploying-SharpShell-Servers
希望它能帮助你;)