RealPlayer Plugin Detector




A few PluginDetect commands for RealPlayer detection

PluginDetect.getVersion('RealPlayer', instantiate): [Returns string or null]
   Returns the version (as a string) of the installed RealPlayer plugin. For non-Internet Explorer browsers, you may need to specify the instantiate input argument in order to detect the plugin version.
   Returns null when the version could not be determined (when plugin is not installed/not enabled, or plugin is installed but the version information is unavailable).

By default, the returned version string is comma delimited and has the format of "A,B,C,D". If you wish to change the getVersion() delimiter, then use:
   PluginDetect.getVersion(delimiter) where delimiter is a string with exactly 1 character.

For example,
   PluginDetect.getVersion(".");   // set delimiter
   var version = PluginDetect.getVersion("RealPlayer");    // version has the format of "A.B.C.D"


PluginDetect.isMinVersion('RealPlayer', minVersion, instantiate):
[Returns number]
   Returns 1 if RealPlayer is installed (& enabled) and plugin version is >= minVersion.
   Returns 0 if RealPlayer is installed (& enabled). The plugin version is unknown, and thus we are unable to determine if version >= minVersion.
   Returns -0.1 if plugin is installed & enabled, but plugin version is < minVersion.
   Returns -1 if plugin is not installed or not enabled.
   Returns -3 if you supplied a bad input argument to the isMinVersion( ) method.


minVersion: [string or number input argument]
   This is the minimum plugin version.
   Can be a string such as  '1,5,0,0' or '1.5' or '1,5,0,1' or '1.5.0.1' etc...
   Can be a number such as 0 or 1.5 or 1.50 etc...
   If minVersion is not specified, then PluginDetect will assume minVersion is '0'.
   Strings are more versatile than numbers since '1,5,0,1' cannot be expressed as a number.

instantiate: [Boolean. Optional input argument.]
[The instantiate input argument has no effect on Internet Explorer. It only applies to non-IE browsers.]
   If instantiate is true, then an instance of the RealPlayer will be inserted into the DOM and queried to get the RealPlayer version. The disadvantage here is that your browser might show a security popup message asking for permission to run the plugin.
   If instantiate is false/undefined, then the plugin version may not be obtained for your (non-Internet Explorer) browser.



Different kinds of RealPlayers

There appear to be different kinds of RealPlayers out there:

1) Basic RealPlayer - the kind that most end users will have.

2) RealPlayer Plus - a paid version that has extra features. I believe the version numbers for the Plus are the same as the version numbers for the Basic.

3) RealPlayer Enterprise - a configurable player designed for corporate and education deployments. The version numbers for Enterprise are different from the version numbers of the basic/Plus RealPlayers.

4) Desktop vs mobile. I believe the version numbers for RealPlayer on mobile devices may be different from the version numbers for RealPlayer on desktop computers.




Detecting the Plugin Version

The RealPlayer plugin version is detected by the getVersion( ) method. The getVersion( ) method will return a value of either null or a string of 4 numbers "A,B,C,D" separated by a comma. Each of these 4 numbers is an integer >=0. When a version is detectable, then usually all 4 numbers "A,B,C,D" will be detected.

For Internet Explorer, PluginDetect will always reveal the plugin version for RealPlayer.

For certain other browsers, PluginDetect may only reveal the version if you use the instantiate input argument. The instantiate input arg will cause the RealPlayer plugin to run in your browser. But some browsers may display a security message asking for permission to run that plugin.

The version can only be detected on certain platforms. For example, PluginDetect can return a plugin version for Windows and Mac, but not Linux.



RealPlayer in Windows

The version numbers for RealPlayer under Windows are somewhat confusing to me. As near as I can tell, there are/were 4 numbers that can identify RealPlayer. They are:

1) The RealPlayer Release Version. Shown in the "About Realplayer" dialog box. This is the version of the RealPlayer parent application. [Update: in older releases, the parent application version was not necessarily exactly the same as the plugin version. In the newer releases, however, the two appear to be the same.]

2) The standalone build number. Shown in the "About RealPlayer" dialog box. This is the build of the RealPlayer parent application. [Update: in the newer releases, there no longer appears to be a build number]

3) The standalone installer version. When you look at a RealPlayer standalone installer file, right-click, and go to Properties. You will find a version #.

4) The RealPlayer browser plugin version. PluginDetect.getVersion("RealPlayer", true) will try to return the plugin version whenever possible. PluginDetect usually obtains this number by instantiating RealPlayer (either as an ActiveX control or as an embedded app in a web page), and then calling RealPlayer's GetVersionInfo( ) method. [The browser plugin makes it possible for RealPlayer to be embedded in a web page.]

The confusing part here is that the 4 numbers discussed above can be different from one another, and yet all still refer to the same RealPlayer. At least, that is what it seems like to me.

[Update: As of RealPlayer 15, the version numbers appear to be more consistent and reasonable.]

I created a table of these numbers for various RealPlayer releases (Windows only). This table is by no means complete. But hopefully it makes things a little bit easier to understand, if that is even possible. I also list the Digital Signature Timestamp for each RealPlayer standalone installer, which gives us a very rough approximation as to when that version of RealPlayer was released. Here is the table:

Release Version
Build #
Installer
Version
Plugin Version,
GetVersionInfo( )
Digital Signature
Timestamp
16.0.3.51 -- 16.0.3.51 16.0.3.51 Aug 15, 2013
15.0.0.198 -- 15.0.0.198 15.0.0.198 Nov 10, 2011
14.0.7.669 -- 12.0.1.669 14.0.7.669 Sept 28, 2011
14.0.2.633 -- 12.0.1.633 14.0.2.633 Jan 26, 2011
14.0.1.609 -- 12.0.1.609 14.0.1.609 Nov 10, 2010
SP 1.1.5 12.0.0.879 12.0.0.879 12.0.0.879 July 01, 2010
SP 1.1.4 12.0.0.756 12.0.0.756 12.0.0.756 May 03, 2010
SP 1.1.3 12.0.0.658 12.0.0.658 12.0.0.658 March 22, 2010
SP 1.1.1 12.0.0.614 12.0.0.614 12.0.0.608 March 01, 2010
SP 1.1 12.0.0.591 12.0.0.591 12.0.0.582 Feb 16, 2010
SP 1.0.5 12.0.0.343 12.0.0.343 12.0.0.297 Nov 19, 2009
SP 1.0.2 12.0.0.319 12.0.0.319 12.0.0.297 Oct 14, 2009
SP 1.0 12.0.0.297 12.0.0.297 12.0.0.297 Aug 18, 2009
SP 1.0 (Beta) 12.0.0.196 12.0.0.196 12.0.0.186 June 21, 2009
SP 1.0 (Beta)
12.0.0.173 -- -- --
11.1.3 6.0.14.995 11.0.0.674 11.0.0.663 June 26, 2009
11.1.2 6.0.14.954 11.0.0.673 11.0.0.663 June 10, 2009
11.1.1 6.0.14.944 11.0.0.663 11.0.0.663 April 24, 2009
11.1.1
-- 11.0.0.660 -- --
11.1 6.0.14.895 11.0.0.614 11.0.0.468 March 18, 2009
11.0.8 6.0.14.891 11.0.0.581 11.0.0.468 Feb 24, 2009
11.0.7.a 6.0.14.881 11.0.0.559 11.0.0.468 Feb 12, 2009
11.0.7 6.0.14.875 11.0.0.544 11.0.0.468 Jan 30, 2009
11.0.6 6.0.14.835 11.0.0.477 11.0.0.468 Nov 4, 2008
11.0.5 6.0.14.826 11.0.0.468 11.0.0.468 Sept 17, 2008
11.0.4 6.0.14.806 11.0.0.453 11.0.0.431 July 07, 2008
11.0.3 6.0.14.806 11.0.0.446 11.0.0.431 April 10, 2008
11.0.1 (Beta) 6.0.14.794 11.0.0.431 11.0.0.431 Jan 11, 2008
-- -- 11.0.0.422 -- --
11 6.0.14.738 11.0.0.372 11.0.0.372 Nov 12, 2007
11 (Beta) 6.0.14.552 11.0.0.183 11.0.0.180 Oct 23, 2007
11 (Beta) 6.0.14.55 11.0.0.181 11.0.0.180 Sept 07, 2007
11 (Beta) 6.0.14.544 11.0.0.175 11.0.0.172 Aug 09, 2007
11 (Beta) 6.0.14.543 11.0.0.174 11.0.0.172 July 31, 2007
11 (Beta) 6.0.14.536 11.0.0.167 11.0.0.167 June 26, 2007
11 (Beta) 6.0.14.484 11.0.0.114 11.0.0.114 June 5, 2007
10.5 6.0.12.1741 6.0.12.1741 6.0.12.1739 Oct 16, 2006
10.5 6.0.12.1698 6.0.12.1698 6.0.12.1698 Sept 13, 2006
10.5 6.0.12.1483 6.0.12.1483 6.0.12.1483 Feb 17, 2006
10.5 6.0.12.1465 6.0.12.1465 6.0.12.1465 Nov 29, 2005
10.5 6.0.12.1348 6.0.12.1348 6.0.12.1348 Oct 10, 2005
10.5 6.0.12.1235 6.0.12.1235 6.0.12.1212 June 30, 2005
10.5 6.0.12.1212 6.0.12.1212 6.0.12.1212 June 02, 2005
10.5 6.0.12.1059 6.0.12.1059 6.0.12.1059 Feb 16, 2005
10.5 (Beta)
6.0.12.1016 -- -- --
10.0 6.0.12.883 6.0.12.883 6.0.12.872 June 30, 2004
10.0 6.0.12.857 -- -- --
RealOnePlayer 2.0 6.0.11.872 7.0.0.2151 6.0.11.847 Jan 22, 2004
RealOnePlayer 1.0 6.0.10.505 7.0.0.1364 6.0.10.505 Aug 15, 2002
8 Update 3 6.0.9.584 -- 6.0.8.1024 --
8 Update 2 6.0.9.450 -- 6.0.7.881 --
8 Gold 6.0.9.357 -- 6.0.7.788 --
7 Update 1 6.0.8.122 -- 6.0.7.529 --
7 Gold 6.0.7.380 -- 6.0.7.407 --
G2 Update 3 6.0.6.99 -- 6.0.6.98 --
G2 Update 2 6.0.6.33 -- 6.0.6.33 --
G2 Update 1 6.0.5.27 -- 6.0.5.27 --
G2 Gold 6.0.3.128 -- 6.0.6.131 --


There are a number of observations we can make based on the table above...

1) You should note that the same plugin version can refer to more than one release version for RealPlayer. For example, plugin version 12.0.0.297 refers to RealPlayer SP 1.0 thru RealPlayer SP 1.0.5. I do not know why they did this, but it would have been much better to have a unique plugin version for each release version. So when PluginDetect.getVersion('RealPlayer') returns a value, one does not know exactly which release version / build # that it refers to.

2) The above table does not list all possible versions of RealPlayer. For example, the above table lists RealPlayer SP 1.0 and SP 1.0.2 in consecutive order, but it is possible that at least one or more versions were released in between SP 1.0 and SP 1.0.2. It's just that I was unable to find any installers or any published data for those in between.

3) The presence of a "--" in the above table for the Digital Signature Timestamp indicates that I was unable to obtain an installer for that particular RealPlayer version. In that case, the data for that version came from a published source as opposed to actually testing that RealPlayer.

4) For Internet Explorer, PluginDetect queries a RealPlayer ActiveX object via the GetVersionInfo( ) method to get the plugin version. This has worked consistently well for all RealPlayer versions tested.

5) For all other browsers (ie. Firefox, Chrome, Opera, etc...), querying RealPlayer via GetVersionInfo( ) only works for RealPlayer 12 and higher. However, some of these browsers may show a security popup message asking for permission to run RealPlayer if RealPlayer is outdated.

6) The numbers in the above table can be discontinuous from one major release to the next. For example, when going from RealPlayer 10.5 to RealPlayer 11 (release versions), the plugin version skips from 6.0.12.xx to 11.0.0.yy. Also, notice how the plugin version skips from 12 to 14. Looks like a case of triskaidekaphobia to me.

7) As of RealPlayer 14, there no longer appears to be a standalone build number. Perhaps RealNetworks decided to simplify things and just get rid of the standalone build number?

8) As of RealPlayer 15, the version numbers appear to be consistent. The RealPlayer release version is the same as the installer version, which is the same as the plugin version. All (or most) of the RealPlayer component versions also appear to be consistent. This is a very good improvement over the older versions, and should eliminate any confusion over the version numbers for RealPlayer.

9) It would still be nice if they put the RealPlayer version in the browser's navigator.plugins[ ] array. This way, we would not have to put an instance of the plugin in a web page, just to find out what version of RealPlayer is installed in the browser.



RealPlayer in other Platforms

For Macintosh, PluginDetect can obtain the RealPlayer version when you specify the instantiate input argument.

For Linux, PluginDetect cannot obtain the plugin version by any means. PluginDetect can only tell you whether RealPlayer is installed or not installed. [RealPlayer 11 is the last known version released for this platform. RealPlayer is no longer being developed for Linux.]

For mobile platforms, I have no specific data at this time.





Top of Page