Uninstalling msmq causes msi created using Wix to fail

2

I have a component in my wix project which installs a message queue on installation. When trying to uninstall it fails with the error in the log:

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

My Wix code looks like the following:

<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'/>

I'm running the install/uninstall under the same user that is having the permissions set on the queue.

Anywone have any ideas what I'm doing wrong?

wix
msmq
uninstall
asked on Stack Overflow Aug 5, 2011 by gouldos • edited Aug 5, 2011 by gouldos

1 Answer

0

Try this code.. The only change is pathname. I think you need to use variable name instead of 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>
answered on Stack Overflow Aug 9, 2011 by Sunil Agarwal

User contributions licensed under CC BY-SA 3.0