Closed Bug 11682 Opened 25 years ago Closed 24 years ago

Version Registry: components with non-ASCII names not registered

Categories

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

x86
Windows NT

Tracking

(Not tracked)

VERIFIED FIXED
mozilla0.8

People

(Reporter: jimmykenlee, Assigned: dveditz)

References

Details

(Whiteboard: [xpibug])

Attachments

(1 file)

Build: 8/11/99 SeaMonkey build

1. From http://jimbob/trigger2.html, trigger
   http://jimbob/jars/r_an8bitscript_program.jar

function add(name) {
   err = Install.AddSubcomponent(name, null, "smrtupdt.txt", f, name, true);
}

err = Install.StartInstall("Charset Test: Program", "program/test/Charset",
null, 1);

if ( err != 0 ) {
    alert("Error "+err+" from StartInstall");
}
else {
    f = Install.GetFolder("Program", "charset");
    if ( f != null ) {
        add("ch128-Ç");
        add("ch129-ü");
        add("ch130-é");
        add("ch131-â");
        add("ch132-ä");
        add("ch133-à");
        add("ch134-å");
        add("ch135-ç");
        add("ch136-ê");
        add("ch137-ë");
        add("ch138-è");
        add("ch139-ï");
        add("ch140-î");
        add("ch141-ì");
        add("ch142-Ä");
        add("ch143-Å");
        add("ch144-É");
        add("ch145-æ");
        add("ch146-Æ");
        add("ch147-ô");
        add("ch148-ö");
        add("ch149-ò");
        add("ch150-û");
        add("ch151-ù");
        add("ch152-ÿ");
        add("ch153-Ö");
        add("ch154-Ü");
        add("ch155-¢");
        add("ch156-£");
        add("ch157-¥");
        add("ch158-¤");
        add("ch159-–");
        add("ch160-á");
        add("ch161-í");
        add("ch162-ó");
        add("ch163-ú");
        add("ch164-ñ");
        add("ch165-Ñ");
        add("ch166-ª");
        add("ch167-º");
        add("ch168-¿");
        add("ch169-¨");
        add("ch170-¬");
        add("ch171-½");
        add("ch172-¼");
        add("ch173-¡");
        add("ch174-«");
        add("ch175-¯");
        add("ch176-—");
        add("ch177-˜");
        add("ch178-™");
        add("ch179-þ");
        add("ch180-³");
        add("ch181-´");
        add("ch182-µ");
        add("ch183-¸");
        add("ch184-¹");
        add("ch185- ");
        add("ch186-¦");
        add("ch187-©");
        add("ch188-­");
        add("ch189-»");
        add("ch190-¾");
        add("ch191-À");
        add("ch192-Á");
        add("ch193-Â");
        add("ch194-Ã");
        add("ch195-È");
        add("ch196-ý");
        add("ch197-Ê");
        add("ch198-Ë");
        add("ch199-Ì");
        add("ch200-®");
        add("ch201-Ð");
        add("ch202-×");
        add("ch203-Ý");
        add("ch204-Þ");
        add("ch205-Í");
        add("ch206-ð");
        add("ch207-Î");
        add("ch208-Ï");
        add("ch209-Ò");
        add("ch210-Ó");
        add("ch211-Ô");
        add("ch212-Õ");
        add("ch213-Ø");
        add("ch214-Ù");
        add("ch215-Ú");
        add("ch216-Û");
        add("ch217-ã");
        add("ch218-õ");
        add("ch219-š");
        add("ch220-›");
        add("ch221-œ");
        add("ch222-�");
        add("ch223-ž");
        add("ch224-€");
        add("ch225-ß");
        add("ch226-‚");
        add("ch227-ƒ");
        add("ch228-„");
        add("ch229-…");
        add("ch230-†");
        add("ch231-‡");
        add("ch232-ˆ");
        add("ch233-‰");
        add("ch234-Š");
        add("ch235-‹");
        add("ch236-Œ");
        add("ch237-�");
        add("ch238-Ž");
        add("ch239-�");
        add("ch240-");
        add("ch241-±");
        add("ch242-ø");
        add("ch243-");
        add("ch244-Ÿ");
        add("ch245-");
        add("ch246-÷");
        add("ch247-•");
        add("ch248-°");
        add("ch249-·");
        add("ch250-”");
        add("ch251-“");
        add("ch252-’");
        add("ch253-²");
        add("ch254-‘");
        add("ch255-�");
        add("ch166-\u2122");
    }
}

    err = Install.FinalizeInstall();

RESULT:
Macintosh and Linux install the files fine.  Bug 11646 describes a crash on
Windows.  The Version Registry is incorrect on Macintosh and Linux and likely
incorrect on Windows as well.  The following dump from the Macintosh version
registry shows what was registered:

Subtree Dump of /version registry/netscape/communicator #8/program/test/charset
--------------------------------
ch166-.
    RefCount (S)=1
    Path (F)=Webbies:moz811:mozilla-mac-M9.1:charset:ch166-.
ch243-?
    RefCount (S)=1
    Path (F)=Webbies:moz811:mozilla-mac-M9.1:charset:ch243-?
--------------------------------

The Version Registry on Linux is similar except that the Path is different.

EXPECTED RESULT:
All the components are registered and not just ch166 and ch243.
Assignee: cathleen → dveditz
Summary: Version Registry: Not all components registered when many files installed → Version Registry: components with non-ASCII names not registered
Target Milestone: M11
Version Registry only handles UTF8 and we're not converting.  Any non-ascii
characters (ascii is 7-bits!) will cause the file to not register.  In the past
Java did the UTF8 conversion for us but JS doesn't have the same feature, we'll
have to do it ourselves
Target Milestone: M11 → M14
Bulk move of XPInstall (component to be deleted) bugs to Installer: XPInstall
Engine
Depends on: 23859
Status: NEW → ASSIGNED
Target Milestone: M14 → M17
tao, do you guys need non-ASCII char support in version registry?
This is out for this release, unless there is a compelling reason to do it, and 
we may need some resources to help out...

set target mileston to M30
Target Milestone: M17 → M30
Taking advantage of new "Future" target milestone.
Target Milestone: M30 → Future
Resetting milestone for reconsideration, but probably won't do it this time -- 
the workaround is too easy. Especially since we don't use individual filenames 
as keys anymore.
Keywords: nsbeta1
Target Milestone: Future → ---
The registry is UTF8, and our calls fail when non-UTF8 is passed in (there is 
error-checking that prevents mis-use of 8-bit charsets). Currently we're doing 
lame Unicode-to-Latin1 conversion.
Whiteboard: [xpibug]
Moz 0.8 tasks 
Target Milestone: --- → mozilla0.8
We're past time to cut these low priority bugs from mozilla0.8.  Please update
these bugs today. 
Patch from my tree attached to the bug. The attached patch includes the 
one-line change from bug 64835 as well.

There are additional VR_ calls in nsInstallDelete.cpp, nsInstallUninstall.cpp 
and nsInstallFile.cpp that I did not touch, since they are either not used, or 
the registry calls are commented out. I will fix those occurances of this 
problem when the reg calls are activated with the fix to bug 28896
Keywords: patch
Looks good Dan.  r=dbragg
sr=mscott

thanks for sending me such a good explanation about what was going on and your fix. 
Fix checked in
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Build: 2001-02-21-09-Mtrunk(WIN), 2001-02-21-04-trunk(MAC), 
2001-02-20-21-Mtrunk(LINUX)

This is fixed now.  http://jimbob/jars/f_addfile_intl_regname.xpi

This fix is for supporting int'l chars in the registry name only.  Int'l chars 
in the file name depend on the OS.
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: