Closed Bug 286743 Opened 19 years ago Closed 18 years ago

Plugin .xpt files missing in second installation when using multiple firefox versions

Categories

(Firefox :: Installer, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: mikx, Unassigned)

References

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6) Gecko/20050317 Firefox/1.0.2
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6) Gecko/20050317 Firefox/1.0.2

When installing multiple Firefox versions (e.g. 1.0.1 and 1.0.2) the installer
does not properly copy the plugin .dll and .xpt files into the second installation.

The plugin itself keeps working (seems the location of the .dll's doesn't matter
and is picked from the first installation), but since the .xpt files are missing
scriping support is broken (you can not start/stop the player via javascript for
example).

For some reason this only affects real player (nsJSRealPlayerPlugin.xpt), the
QuickTime file (nsIQTScriptablePlugin.xpt) gets copied to the plugins folder of
the second installation.

Reproducible: Always

Steps to Reproduce:
1. Install Firefox 1.0.1
2. Install Real Player and QuickTime Player
3. Install Firefox 1.0.2
4. Compare the "plugins" folders
Summary: Plugin .xpt files missing in second installion when using multiple firefox versions → Plugin .xpt files missing in second installation when using multiple firefox versions
Assignee: bugs → nobody
QA Contact: bugzilla → installer
*** Bug 323426 has been marked as a duplicate of this bug. ***
This bug's phenomenon is a result of nexts.

(1) Plugin installer of Quick Time installs his plugin related files in Plugins directory(and components direcoory) of current version of Firefox only. 

Firefox puts next entries in Windows registry(Win-2K,Firefox 1.5,plug in related only).
(See C:\Program Files\Mozilla Firefox\uninstall\install_wizard1.log for detail)
 
 (A) HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox
     : Name=CurrentVersion, Data=1.5
 (B) HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\1.5
 (C) HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox 1.5
     HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox 1.5\Extensions
      (C-1) Name=Components,
            Data=Path of components directory pf Firefox's program directory
      (C-2) Name=Plugins,
            Data=Path of Plugins directory pf Firefox's program directory
Please note that (B) and (C) are created for each version(1.0.1, 1.0.2, ...), but (A) is common for all installations of Firefox thru installer. 

Installer of Quick Time or Real Player seems to look (A), and seems to install(copy) plugin related files to (C-1)/(C-2) of current version only.
(In contrast to it, Mocromedia's installer of "Flash for Directer" plugin seems to seach above (C-2) of all Firefox versions.)  

(2) Plugin installer of Quick Time kindly copies his ".xpt" files to components directory instead of Plugins direcory, by looking above (C-1).
(Needless to say, ".dll" and ".class" are copied to Plugins directry.)
However, installer of Firefox copies all files including ".xpt" to Plugins directry from Quick Time's program direcory(C:\Program Files\QuickTime\Plugins when my Quick Time on Win-2K).
(This mismatch is reported as Bug 309496.)
See C:\Program Files\Mozilla Firefox\uninstall\install_wizard1.log for detail.

(3)When ZIP build of Firefox, (1) will never be executed because install information of Firefox is not registered to Windows registry, and (2) will never be executed because installer of Firefox doesn't exist.
In this case, ".dll"(I don't know about ".class") is loaded from Quick Time's program direcory(C:\Program Files\QuickTime\Plugins when my Quick Time) by "Plugin Search" feature of Firefox.
(This "Plugin Search" is enabled as default for Sun Java, Adobe (Acrobat) Reader, Quick Time, Real Player and Windows Media Player.) 
However, "Plugin Search" doesn't load ".xpt" files from Quick Time's program direcory, because "Plugin Search" has no responsibility to initialize additional components.
Since ".xpt"s are loaded from both components direcory and Plugins directry on startup of Firefox, no problem if (1) or (2) is executed. (When Firefox 1.5. I don't know behaviour of Firefox 1.0.x)
But ".xpt" will never be loaded when ZIP build.
See xpti.dat in your Firefox's profile directry for detail.
This is applicable to non-current version of Firefox of installer build.

Workaround: Copy ".xpt" manualy to components directory.
*** Bug 323426 has been marked as a duplicate of this bug. ***
To resolve problem of (3) in my previous comment, I think following changes(enhancements) will be required.
 (1) Execute "Plugin Search" before component initialization in start up.
 (2) "Plugin Search" copies ".xpt" files to temporary directry,
     if and only if the file is not found in components nor Plugins directory, 
     even when ".dll" files are found(already installed) in Plugins directry.
 (3) "Component Initialization" logic loads ".xpt" files from the temporary
     directory.
The preferred method for installation of plugins on win32 is to use the Software\MozillaPlugins registry key. If you install a recent version of flash you will find it works fine with all installs due to it using this key.
Copying a plugins xpt files into our plugins directory is not the preferred method and the registry installation method solves this bug. Our documentation of the registry install method is in no better shape than the copy file method but that is a different issue.

Resolving -> wontfix.
Status: UNCONFIRMED → RESOLVED
Closed: 18 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.