Closed Bug 74690 Opened 24 years ago Closed 18 years ago

We shouldn't allow themes to be installed anywhere but the profile directory.

Categories

(Core Graveyard :: Installer: XPInstall Engine, defect)

x86
Windows NT
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: Peter, Assigned: dveditz)

Details

Mozilla/5.0 (Windows; U; WinNT4.0; en-US; 0.8.1), 2001-04-03 We shouldn't allow themes to be installed anywhere but the profile directory, since the unistall of themes only works for that scenario. BTW, how does one get rid of all the themes already installed into the install directory - most themes currently install there?
Confirming, from bug 71194
Status: UNCONFIRMED → NEW
Ever confirmed: true
how do you tell whether it's a theme or just some random XPI file? I think this should be an XPI installer bug....
Should anything get installed into the installation directory? Probably program updates and the sort, I guess. I think this should be installer as well.
Currently it is not possible from an XPI file to correctly install a theme in such a way that it is 'un-installable'. The current xpi themes at x.themes.org (lopburi, decklin, alfred, graymodern) use an install script that can install in the profile directory. But this is apparently not enough. Installing using the HTML javascript statements as in themepark is (probably) not possible from XPI. How to reproduce: install 'alfred' from x.themes.org. It arrives in the profile directory, but still is not 'uninstallable'. How to fix: make it possible to install from XPI in such a way that it can be uninstalled: i.o.w.: make it possible to use the themepark javascript statements from the install.js script in XPI.
I see that too. Very interesting. Alfred, can you add your comments to bug 71194, so that Hyatt sees them and hopefully can help out.
this is an installer issue
Assignee: hewitt → ssu
Component: Themes → Installer
QA Contact: pmac → gemal
Taking bug, you're talking about the engine not the Mozilla Installer. XPInstall has no idea what it's installing so I don't see any way to enforce that themes should only go into the profile. You could put skins in the OS directory if you wrote an installer to do that. You could install a virus, too. Installing should not be taken lightly, which is why we discourage using it for themes in favor of the safer method used by Netscape's theme park. Anyway, I just checked the Alfred theme, and although it will put the chrome physically in the profile directory it does not register it there, it still writes to the global all-skins.rdf -- you need to specify PROFILE_CHROME to write to the profile .rdf files At the top you could put "var chrome_type = SKIN;" and then in the block for installing into the profile you could do "chrome_type |= PROFILE_CHROME;" getFolder("Current User") is deprecated, getFolder("Profile") would be more future-proof.
Assignee: ssu → dveditz
Component: Installer → Installer: XPInstall Engine
QA Contact: gemal → jimmylee
Status: NEW → ASSIGNED
This one can be closed, skins are now installed from a .jar with some javescript: function installMe(name,file,version) { InstallTrigger.installChrome(InstallTrigger.SKIN,file+'.jar',name+"/"+version) } So a long as themers do this, all is well. A even better solution is to create a new mimetype able to install themes (eg .thi, like .xpi, triggers the theme install, instead of a xpi install) This enables theme installation from javascript-less sites (hosted or javascript haters).
The xpinstall script engine has been removed from the trunk, bugs in it are obsolete.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → WONTFIX
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.