2010-12-17 3 views
0

MsmqExtension을 사용하여 개인 메시지 큐를 만듭니다. 그러나 제거하는 동안 큐는 아무 권한없이 남겨 지므로 수동으로 삭제할 수 없습니다.Messagequeue가 제거 된 후에 남음

무엇이 누락 되었습니까?

이것은 좀 테스트 설정 작성되어

<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

제거 할 때 CustomAction을 호출 할 수 있습니다. 그리고에서 CustomAction에서이 작업에만 REMOVE에 호출됩니다

<Custom Action="DeleteMSMQ" After="InstallFinalize">REMOVE</Custom> 

MessageQueue가를 삭제하는 코드를 직접 작성할 수 있습니다.