2010-12-17 15 views
0

私は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

アンインストール時にCustomActionを呼び出すことができます。 CustomActionにあなたがメッセージキューを削除する

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

を独自のコードを書くことができますし、このアクションは、REMOVEに呼び出されます。

関連する問題