An administrative tool for enabling and disabling the Windows 2000 "Media Sensing" feature. MediSen is free software distributed under the terms of the GNU General Public License.
I have discussed this problem with Microsoft Support (case SRZ010305000785), which does not consider this to be an implementation error. During this discussion I was presented with two work-arounds for this issue which are to:
MediSen implements the first option of disabling the Media Sensing feature
via a registry setting. More information regarding editing the registry
to disable the Media Sensing feature can be found here:
http://support.microsoft.com/support/kb/articles/q239/9/24.asp
The second option of installing a "Virtual Network Device" is a simple solution that is easily done. In order to install this device, double click the Add/Remove Hardware item in the control panel, choose to add a device, choose to pick the device from a list, choose Microsoft from the vendor list, and then select Microsoft Loopback Adapter from the device list. This will install a second loopback adapter on your Windows 2000 workstation (your network adapter also has one, but it is not usable for multicast when the network is "down"). When the protocols for a "down" network adapter are unbound, all multicast traffic will be routed through this secondary loopback adapter. This is a very viable solution, however, at the time that this application was written there was a bug with the Microsoft Loopback Adapter that resulted in the Microsoft Loopback Adapter not actually routing incoming multicast datagrams to the loopback address (typically "127.0.0.1"). The datagrams are being sent, but where they are actually being sent to is a mystery. To make an application send multicast datagrams to the loopback address via the Microsoft Loopback Adapter, the application needs to be explicitly set to route outgoing traffic to the "127.0.0.1" interface. This could require a modification to an existing multicast application, which negates the viability of this option. Microsoft Support has informed me that there will be a "hot fix" for this bug in the Windows 2000 Service Pack 2.
At the current time, I've found disabling the Media Sensing feature
to be the best solution to the problem, and that writing a simple application
to edit the registry for the local and remote registry(s) makes this easier
for a network administrator to accomplish this task. Because MediSen
is capable of remote registry administration, it is possible for a network
administrator to disable the Media Sensing feature for all machines on
a network from a single workstation.
*Please note that Administrative privileges may be required to use this software.*
The "Options" menu has an option to connect to a remote network registry. When this option is selected, the user will be presented with a dialog for entering the name of the remote workstation to connect to. The user may either cancel the operation, enter the computer name by hand, or select a workstation from the network neighborhood with the "Browse" option. Loading the contents of the Network Neighborhood and connecting to a remote registry can sometimes be a slow procedure.
If using MediSen on Windows 9x to remotely administer Windows 2000 workstations,
in some situations, connecting to a remote workstation's registry may fail
with the error ERROR_DLL_INIT_FAILED indicating that "A dynamic link library
(DLL) initialization routine failed." In order to obtain remote access
to a registry from Windows 9x you must install the Microsoft Remote Registry
Service. Here is the procedure for doing this with Windows 95.
Windows 95: To use RegConnectRegistry on Windows 95, you must install the Microsoft Remote Registry service. If you don't do this, calls to RegConnectRegistry return ERROR_DLL_INIT_FAILED. Perform the following steps to install the Microsoft Remote Registry service.The procedure for Windows 98 is the same except that step 4 is as follows:To install the Microsoft Remote Registry service
1. In the Network option in Control Panel, click Add.
2. In the Select Network Component Type dialog box, double-click Service.
3. In the Select Network Service dialog box, click the Have Disk button.
4. In the Install From Disk dialog box, type the path to the ADMIN\NETTOOLS\REMOTREG directory on the Windows 95 compact disc, and then click OK.
5. In the Install From Disk dialog box, click OK.
6. In the Select Network Service dialog box, click Microsoft Remote Registry, and then click OK.
4. In the Install From Disk dialog box, type the path to the TOOLS\RESKIT\NETADMIN\REMOTREG directory on the Windows 95 compact disc, and then click OK.
Windows 2000 binary executable: MediSen-exe.zipMediSen source: MediSen-1.0.zip
Here is a screen shot of MediSen, selecting a remote computer from
the Network Neighborhood:
If you are a programmer interested in editing the registry remotely,
rebooting a workstation from within in an application, or enumerating the
Network Neighborhood you may be interested in taking a look at the MediSen
source, even if you don't need to modify the Media Sensing setting for
your computer.
This software uses the FOX Platform Independent GUI Toolkit Library. The FOX Library is Copyright (C) 1997,2000,2001 Jeroen van der Zijp and is available freely under the GNU Lesser Public License at the following site:
http://www.cfdrc.com/FOX/fox.html