2011-08-05 18 views
2

インストール時にメッセージキューをインストールするwixプロジェクトのコンポーネントがあります。アンインストールしようとすると、それは、ログ内のエラーで失敗します。msmqをアンインストールすると、Wixを使用して作成したmsiが失敗する

MSI (s) (D8!C8) [15:55:10:618]: Creating MSIHANDLE (1062) of type 790531 for thread 4552 
MessageQueuingExecuteUninstall: Queue: .\private$\myqueue 
MSI (s) (D8!C8) [15:55:10:666]: Closing MSIHANDLE (1062) of type 790531 for thread 4552 
MSI (s) (D8!C8) [15:55:10:688]: Creating MSIHANDLE (1063) of type 790531 for thread 4552 
MessageQueuingExecuteUninstall: Error 0x80070032: Domain SIDs not supported 
MSI (s) (D8!C8) [15:55:10:717]: Closing MSIHANDLE (1063) of type 790531 for thread 4552 
MSI (s) (D8!C8) [15:55:10:734]: Creating MSIHANDLE (1064) of type 790531 for thread 4552 
MessageQueuingExecuteUninstall: Error 0x80070032: Failed to get SID for account name 
MSI (s) (D8!C8) [15:55:10:766]: Closing MSIHANDLE (1064) of type 790531 for thread 4552 
MSI (s) (D8!C8) [15:55:10:784]: Creating MSIHANDLE (1065) of type 790531 for thread 4552 
MessageQueuingExecuteUninstall: Error 0x80070032: Failed to remove message queue permission 
MSI (s) (D8!C8) [15:55:10:816]: Closing MSIHANDLE (1065) of type 790531 for thread 4552 
MSI (s) (D8!C8) [15:55:10:833]: Creating MSIHANDLE (1066) of type 790531 for thread 4552 
MessageQueuingExecuteUninstall: Error 0x80070032: Failed to remove message queue permissions 
MSI (s) (D8!C8) [15:55:10:867]: Closing MSIHANDLE (1066) of type 790531 for thread 4552 
CustomAction MessageQueuingExecuteUninstall returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox) 
MSI (s) (D8:3C) [15:55:10:901]: Closing MSIHANDLE (1061) of type 790536 for thread 4964 

マイウィックスコードは、次のようになります。

<util:User Id="myUser" Domain="[DOMAIN]" Name="[USERNAME]" CreateUser="no" RemoveOnUninstall="no" FailIfExists="no"/> 
<msmq:MessageQueue Id='myQueue' Label='My Queue' Transactional='yes' PathName='[QUEUE_NAME]'> 
<msmq:MessageQueuePermission Id='myQueuePermission' User='myUser' QueueGenericAll='yes' QueueGenericRead='yes' QueueGenericWrite='yes' QueueGenericExecute='yes'/> 

私が持っているのと同じユーザーでインストール/アンインストールを実行していますよキューに設定されているアクセス権。

Anywoneは私が間違っていることは何ですか?

+0

エラーは、「エラー0x80070032:ドメインSIDはサポートされていません」です。 私には、あなたがやっていることを行うためにドメインアカウントを使うことはできないと言われています。 ローカルアカウントを使用してキューを作成/削除する場合も同じエラーが発生しますか? –

+0

手動でmsmqを作成しようとしましたか?はいの場合はそれを作成することができましたか? –

+0

@Sunil手動でキューを作成して削除できます。 – gouldos

答えて

0

このコードを試してください。唯一の変更はパス名です。私はwixtestの代わりに変数名を使う必要があると思います。

<Component ... > 
    <util:User Id="GroupUsers" Domain="[LOGONDOMAIN]" Name="Users" CreateUser="no" FailIfExists="no" RemoveOnUninstall="no" /> 
    <msmq:MessageQueue PathName=".\Private$\wixtest" Label="My Test Queue" Id="MyTestQueue" > 
     <msmq:MessageQueuePermission User="GroupUsers" Id="MyTestQueuePerm" PeekMessage="yes" ReceiveMessage="yes" WriteMessage="yes" /> 
    </msmq:MessageQueue > 
</Component> 
+0

パス名に設定されているプロパティーには、指定したものと同じ値が設定されています。ログのエラーの最初の行は、\\ private $ \ myqueueというプロパティからパス名を正しく読み取ったことを示しています – gouldos

関連する問題