我使用MsmqExtension创建私人消息队列。但在卸载期间,队列被遗忘,没有任何权限,无法手动删除。
我错过了什么?
这是我写的一个小测试设置:
<util:Group Id="Admins" Name="Administrators"/>
<util:Group Id="Everyone" Name="Everyone"/>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLLOCATION" Name="WixProject1">
<Component Id="cmpCCFCC98FF29F9839A11C5E93C1B73C3E" Guid="510DB8D1-A435-42A8-A8E8-5A4695CFBD7C" KeyPath="yes">
<msmq:MessageQueue Id='CreateTQ'
Label ='Test Queue'
PathName='.\Private$\Test_Queue'
Transactional='yes'>
<msmq:MessageQueuePermission Id='CreateTQPermissions_Admins'
QueueGenericAll='yes'
Group='Admins' />
<msmq:MessageQueuePermission Id='CreateTQPermissions_Everyone'
GetQueueProperties='yes'
GetQueuePermissions='yes'
WriteMessage='yes'
Group='Everyone' />
</msmq:MessageQueue>
</Component>
</Directory>
</Directory>
</Directory>
<Feature Id="ProductFeature" Title="WixProject1" Level="1">
<ComponentRef Id="cmpCCFCC98FF29F9839A11C5E93C1B73C3E"/>
</Feature>
谢谢!
答案 0 :(得分:0)
您可以在卸载时调用CustomAction。在习惯上,您可以编写自己的代码来删除消息队列
<Custom Action="DeleteMSMQ" After="InstallFinalize">REMOVE</Custom>
此操作仅在 REMOVE 。
上调用