1

私は WIX を学んでおり、インストーラーの実行後に手動で設定する必要がないように、既存のインストーラーが作成したメッセージ キューにアクセス許可を追加したいと考えています。

このコード スニペットを入手しましたが、Duplicate symbol 'User:UserAnonymousLogon' found のようなエラーが発生する理由がわかりません。

<util:User Id="UserLocalService" CreateUser="no" Name="LOCAL SERVICE"/>
<util:User Id="UserEveryone" CreateUser="no" Name="Everyone"/>
<util:User Id="UserAnonymousLogon" CreateUser="no" Name="ANONYMOUS LOGON"/>

<msmq:MessageQueue Id="AutoAssignMQ" Label="autoassignqueue" PathName=".\Private$\autoassignqueue">
<msmq:MessageQueuePermission Id="LocalServiceFull" User="UserLocalService" QueueGenericAll="yes"/>
<msmq:MessageQueuePermission Id="EveryoneLimited" User="UserEveryone" ReceiveMessage="yes" PeekMessage="yes" ReceiveJournalMessage="yes" GetQueueProperties="yes" GetQueuePermissions="yes" WriteMessage="yes"/>
<msmq:MessageQueuePermission Id="AnonymousLimited" User="UserAnonymousLogon" GetQueueProperties="yes" GetQueuePermissions="yes" WriteMessage="yes"/>
</msmq:MessageQueue>

このエラーは、このコード スニペットを含むプロジェクト内のファイルごとに 2 回表示されますが、MessageQueue ID は異なります。util:User Id は、msmq:MessageQueuePermission Id および User と同様に、多くのファイルで繰り返されます。ファイルごとに一意である必要がありますか?

もっと知りたいのですが、これについて理解していることは何も見つかりません。これを正しい方法で行う方法を教えてください。

4

1 に答える 1

1

一意のユーザー ID と MessageQueue ID を使用してエラーを回避しました。それは最適な解決策だとは思いませんでした。

于 2013-09-09T15:06:38.747 に答える