When Windows 2003 came out, Microsoft introduced the ability to broadcast messages to any machines that were listening back. All you had to do was send out a message on a particular port and IP address and any client that had set up a Multicast queue with matching port and IP address would get a copy.
Since its introduction, there have been a couple of security vulnerabilities that needed to be removed:
The second of these, MS08-036, was resolved through an undocumented change in functionality. Basically, a limit of 64kb was put on the maximum size of a message that could be broadcast using the Multicast method. Obviously this has caused a few problems for any existing MSMQ Multicast applications that expected to be able to send larger messages.
A hotfix has been developed to resolve this problem.
961605 FIX: Multicast messages larger than 64 kilobytes (KB) are not delivered as expected by using Message Queuing 3.0 after security update MS08-036 is installed
A registry change is required:
- Open the registry with Regedit
- Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RMCAST\Parameters\
- Create a DWord called MaxpacketSize
- Set the value to the desired number of bytes.
You can set it to a value between zero and 4MB.
If you specify anything above 4MB, it will default to 64K.
- A reboot is needed after adding this value.
NOTE (January 13th, 2011)
After some testing, I've found that this registry value does not yet exist in Windows 7. That probably means not in Windows 2008/2008 R2/Vista either.
If you need this registry value in these operating systems then raise a support request directly with Microsoft. Note that this is not an MSMQ change - the Multicast protocol stack is developed by a different team entirely.