README for Bill Scott's WMP9 Registry Tool Kit

Introduction:

The enclosed file, WMP9RegistryToolkit.exe, is a small VB program intended to "fix" some of the new security measures that are implemented in Windows Media Player 9 RC-1 release and allow some of the old behaviors to be reinstated to the player. When Media Player 9 released version RC-1 embedding was no longer possible with Outlook Express stationary and the ability to stream NetShow objects (Streaming audio) was also no longer possible. We have been working diligently on this issue and for a time, all appeared to be hopeless. After contacting Microsoft directly on these issues, we have found out that these changes were to be made for security reasons and to abandon some of the very old code that was acceptable by Media Player in the past. Microsoft provided some explanations and did appear to listen but the end result was rather bleak. They were not going to flex on this issue. Now we are faced with a serious dilemma, to upgrade to the new player and lose our ability to embed and stream with Outlook Express or refuse to upgrade and hang on to our existing players. This would also have its consequences in that we will be locked in the stone age and will eventually go the way of the dinosaur. All new computers will be sold with the new Media Player and thus, all new members to the Outlook Express Stationary Newsgroups will not be able to view and participate in the activities. Clearly something had to be done. A team was assembled to view and analyze the current situation and to come up with a fix or workaround for the problem.

The Program and what it does:

The program, "WMP9 Registry Took Kit" will examine your system registry and report on the state of the keys contained and show you how your Media Player is set up to run and what features are enabled and which are not. When the program is first opened it will show by way of the radio buttons how your Media Player will work as it is currently configured.

Active Movie Control: Put the check in the "Enabled for file embedding" box. This will activate Active Movie Control for your player and you will be able to embed .SWF, .EOT, and whatever files you previously used to embed with Active Movie Control. If you have this set to disabled, you will not be able to embed files nor view stationeries created with the Active Movie Control. The default setting here for Windows Media Player 9 RC-1 is Disabled.
RECOMMENDATION: Enabled for file embedding.

Windows Media Player 6.4: Windows Media Player 9 RC-1 now uses itself to play all calls to Media Player, regardless of what object you use to summon it with. When you view a post with streaming media in it, you will only see the new player in the stationary with it's green text and this will be the same for stationeries created. To "split the players apart" as was done in previous versions of Windows Media Player (Versions 6, 7, 8, and 9 beta) check "Reinstate player" in this box. Click DO IT to effect the change. You will see MOST stationaries, each with the classic Media Player box showing the smiling sun face and will be able to change the colors on the small player to suit your stationaries (see Technical Notes for exceptions). Right clicking on the player and choosing "About" will show Windows Media Player 6.4. Default Media Player 9 RC-1 setting is "WMP9 default setting". Recommended setting is a matter of personal choice at this point. Reinstating the player will allow past behavior to see the player with the colors as the author has set them if they created the stationary with 6.4 objects, but this will lock you back in time and perhaps might make you a bit too comfortable with this feature as it will no longer be supported by Microsoft. Generally not a good idea to get stuck with things that are to become obsolete. I keep mine set to "MP9 default" and if I want to see a post with the 6.4 player, I change the setting, close and reopen Outlook Express, view the stationary, then change back. Cumbersome but it works. It is strongly suggested that you embrace the future and use the tool as necessary only for backwards compatibility. DO NOT rely on the Toolkit fix to keep old generation players (NetShow & WMP6.4) going forever.
RECOMMENDATION: WMP9 default setting

NetShow Player: It is still possible to send streamed media scripts with the NetShow player, without problem, at either setting. If you reinstate the player, you can also view and hear stationaries that stream using the NetShow Player object. It is not possible to view or hear the same stationery if the WMP9 default setting is set for this player. Reinstating the NetShow player does not seem to break scripts, and it has the added benefit that it will stream NetShow content if that is what is received. However, it is strongly suggested that you embrace the future and use the tool as necessary only for backwards compatibility. DO NOT rely on the Toolkit fix to keep old generation players (NetShow & WMP6.4) going forever.
RECOMMENDATION: WMP9 default setting

Disclaimer:

This software is provided "As Is" for you to use and distribute. The developer cannot be held responsible for any undesirable effects. Use it at your own risk but at present, there seems to be very little risk. If you are unsure if you want to use this software then don't use it!

Footnote:

As you can see from the new Windows Media Player, changes are coming. Old code doesn't work anymore and it is suggested to all to update and remain in the current state of the software. This may be the time to consider moving over to the microsoft.public.windows.inetexplorer.ie6_outlookexpress.stationery newsgroup if you are able to do so. Some of us cannot move because we don't have the hardware to support the new software and some of us do have the software and hardware and are staying in the 5.5 newsgroup to remain with our friends. By not accepting the changes as they come, we will be ensuring our own obsolescence. This is a very difficult issue to get a grip on but as they say, "Time marches on".

The Team (in alphabetical order):

Bill Scott - Research, software development, beta tester
Cheryl - Research, beta tester
[Name Withheld] Research, beta tester
Donald Anadell - Observer
Ohmster - Research, beta tester, documentation
Richard Eagle - Research, beta tester, script contributions

Without the ideas and help of all these people, much of our stationery using custom media players, Flash, EOT fonts, and other specialized embedded file types would not be usable anymore with the advent of the new, "improved" Windows Media Player 9.


TECHNICAL NOTES FOR THOSE INTERESTED
------------------------------------

The Technical Problem:

The install of Windows Media Player 9 deletes path references to the old msdxm.ocx file (which is the Active Movie Control object, the WMP 6.4 and the NetShow Player) and replaces them with a reference to the wmpdxm.dll file. This effectively guts and disables the two players as they used to be, merging them with WMP9 and superimposing WMP9 over them. It also totally disables the Active Movie Control object, which disables its use for file embedding as we knew it.

A Partial Solution:

It was discovered that by replacing the deleted path references to the msdxm.ocx file for the three objects, it would reestablish the old players and the Active Movie Control object. File embedding would be possible again, and with modified scripts in some cases the old players could be again used in an e-mail or post.

Some Difficulties Caused by the WMP9 Install:

[File Embedding] File embedding using the Active Movie Control object (AMC) is no longer possible. OE detects that the AMC object is being used and strips out the <PARAM> information before sending the stationery, thus inhibiting the embedding. If an embedded file is sent correctly using the old, pre-WMP9 technology, the WMP9-based receiving OE will strip the <PARAM> info before displaying the stationery. Again, the file embedding fails. The AMC control must be reenabled using Toolkits at the sending and receiving ends of WMP9-based systems, making the registry change point back to the old ActiveX file. This seems, so far, to be a foolproof fix for file embedding, with no difficulties encountered.

[Streaming WMP 6.4] Under normal circumstances, it is not possible to send stationery which uses the old WMP 6.4 for streaming sound and video files. OE detects that the old player object is being used and strips out the <PARAM> information before sending the stationery. It will not play for the receiver (any receiver, any system) because the <PARAM> info is missing. If streamed player code is sent correctly using the old, pre-WMP9 technology, the WMP9-based receiving OE will stream the media correctly in MOST cases, showing the WMP9 player face. If the 6.4 player is reinstated using Toolkit, the media will stream and the old 6.4 player face will show. On a WMP9-based system, it is possible to send stationery which uses the old 6.4 player for streaming if Toolkit is used to reinstate the WMP 6.4. A word of caution, though. Results with this player can be erratic for both sending and receiving. At the least, you MUST insure that OE is closed down and restarted after making changes via the Toolkit. To correct the earlier <PARAM> stripping problem, scripts are being developed that will circumvent the stripping. They are a temporary measure only, until standard and custom player scripts are written for the new WMP9 player.

[Streaming NetShow Player] It is still possible to send stationery that uses the old NetShow player for streaming sound and video files. OE does not strip out the <PARAM> information before sending the stationery. However, the WMP9-based receiving OE will not stream the media. The media will stream correctly if the NetShow player is reinstated using Toolkit. If, instead, the WMP9 default is set for the receiver, the stream will fail, even though the <PARAM> info is there.

[visibility:hidden & display:none] The visibility:hidden and display:none style attributes are commonly used to hide players, and were used much when streaming audio using the 6.4 player. If a WMP9-based receiving OE receives a WMP 6.4 streamed media file with the :hidden or :none attribute specified, the stream will play successfully. If the Toolkit is used on the same system to reinstate the 6.4 player, the stream will fail, and in fact the window may not even render properly, if at all. To complicate matters, visibility:hidden and display:none are incompatible attributes for the WMP9 player, and will cause problems if used. To hide a WMP9 player, a <PARAM NAME=uiMode VALUE="invisible"> must be included in its object element. The new uiMode invisible <PARAM> has no effect on a 6.4 player. Note too, that this <PARAM> doesn't work on the earlier WMP7.1 and 8 players, apparently due to buggy player software. The players will stream, but the visuals window will remain visible.

[TIF] Make sure to keep your IE Temporary Internet Files folder clean. A full TIF may cause additional problems with OE and the new WMP9 player.

Observations:

The problem here is that not all of the old scripts will work with the new WMP9 player installed - using this toolkit or not using this toolkit. For one, Richard has had to develop some new document.write scripts that avoid the stripping <PARAM> problem when sending stationery using the old players. There are other problems too, some with incompatibilities between player parameters.

We are at a crossroads with stationery scripting. We need to develop new streaming scripts and scripts that work with the WMP9 player, like it or not. Because if we stay where we are, we are stuck forever not being able to upgrade. Microsoft has effectively "disabled" the stationery world with this new player. We can at least get file embedding back, for now anyway. The player scripts we will have to work on as we go. There are going to be people that can't see stats and can't send stats because of the two technologies fighting each other. The main thing that the Toolkit does is reenable file embedding, which is the most important thing at this point. The player situation is confusing, no doubt, but we will have some options to play with in the mean time by reinstating the old players even though it introduces the occasional error. Good luck.

