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>

ありがとうございました!

4

1 に答える 1

0

アンインストール時に CustomAction を呼び出すことができます。カスタムアクションでは、独自のコードを記述してメッセージキューを削除できます

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

このアクションはREMOVEでのみ呼び出されます。

于 2011-01-13T13:27:16.790 に答える