Question

does anyone knows how to create a private queue in MSMQ using installshield? My application uses one and I can't seem to get it done...

Anyone has done this before? and if so, please help me

Thanks!

Was it helpful?

Solution

It may be easier to cheat.
All private queues are loaded from text files in the MSMQ\Storage\LQS directory.
You could create a private queue on a test machine and then copy the corresponding text file to another machine. When the MSMQ service is started, the file will be read and the queue created.
Only gotcha is to ensure that the security permissions will work on the new machine as the account SIDs are stored in the file too. Giving full control to the special groups "Everyone" and "Anonymous Logon" would remove security.

Cheers
John Breakwell

OTHER TIPS

I think Installshield won't be able to do this off-the-shelf, so you will have to use Custom Actions.

I haven't worked with MSMQ, but I've had to create installers that do some Sharepoint stuff (and I will have to create one that interacts with Microsoft SQL Reporting), and I think the approach could be similar.

First thing I suggest is that you use DTF (Deployment Tools Foundation) custom actions. These are custom actions coded in .NET (C# or VB.NET) that use the DTF framework. (In order to use DTF you need to install WiX in your development machine, this will add you a new type of project in Visual Studio for custom actions). By using C# you will be able to use the existing .NET classes for MSMQ, which should provide what you need.

When you build your Custom Action project in Visual Studio, you will get a special DLL file that then you can use in InstallShield by creating a MSI DLL custom action stored in the binary table. In the properties you just need to reference your DLL file and your function name.

This is just an approach, there could be others around there but I hope it helps.

Regards.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top