Closed Bug 222542 Opened 21 years ago Closed 21 years ago

delayed profile install fails

Categories

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

x86
Windows 2000
defect

Tracking

(Not tracked)

VERIFIED FIXED
mozilla1.6alpha

People

(Reporter: mnyromyr, Assigned: mnyromyr)

Details

Attachments

(1 file)

The installed-chrome.txt mechanism ("delayed chrome") in nsChromeRegistry
(CheckForNewChrome, ProcessNewChromeBufferns) is meant to be able to install
into the user profile - but it isn't.

If you have a line like this in your installed-chrome.txt:

content,profile,url,jar:file:///E:/kddev/kk4zd57d.slt/chrome/mess.jar!/content/mess/

the respective package won't be installed and hence not show up in chrome.rdf or
overlayinfo in the profile's chrome directory.

Reason:
WriteInfoToDataSource::1690 tries to get a datasource for a
overlayinfo/<somewhere>/overlays.rdf needed by the new package, hence calling
GetDynamicDataSource. This in turn should load the datasource via LoadDataSource
(with aProfilePath=nsnull), but can't:

LoadDataSource::1265
  // Try the profile root first.
  if (aUseProfileDir) {
    // use given profile path if non-null
    if (aProfilePath) {
      key = aProfilePath;
      key += "chrome/";
    }
    else
      key = mProfileRoot;

    key += aFileName;
  }
  else {
    key = mInstallRoot;
    key += aFileName;
  }

mInstallRoot is always initialized at the beginning of CheckForNewChrome, but
mProfileRoot has never been initialized! And without the profile chrome path, no
overlay info can be computed.

I can see two possible solutions:
1) Always initialize mProfileRoot when initializing mInstallRoot (at the
beginning of CheckForNewChrome)
2) Stall the initialization of mProfileRoot until we're sure we have to deal
with a delayed profile chrome (in ProcessNewChromeBuffer)

Since delayed profile installations are quite rare, I'll provide a (very simple,
actually) patch for #2.
Init mProfileRoot in ProcessNewChromeBuffer as soon as it's clear that we may
need it
Attachment #133463 - Flags: superreview?(shaver)
Attachment #133463 - Flags: review?(waterson)
Priority: -- → P2
QA Contact: bsmedberg
Target Milestone: --- → mozilla1.6alpha
Comment on attachment 133463 [details] [diff] [review]
init mProfileRoot if it's needed

I will get to reviewing this soon.
Attachment #133463 - Flags: superreview?(shaver)
Attachment #133463 - Flags: superreview?(alecf)
Attachment #133463 - Flags: review?(waterson)
Attachment #133463 - Flags: review?(bsmedberg)
Comment on attachment 133463 [details] [diff] [review]
init mProfileRoot if it's needed

Looks good.
Attachment #133463 - Flags: review?(bsmedberg) → review+
Comment on attachment 133463 [details] [diff] [review]
init mProfileRoot if it's needed

sr=alecf
Attachment #133463 - Flags: superreview?(alecf) → superreview+
checked in
Assignee: xpi-engine → mnyromyr
.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: