Last Comment Bug 67027 - Having int chars in install folder name doesn't uninstall anything
: Having int chars in install folder name doesn't uninstall anything
Status: VERIFIED FIXED
: intl
Product: Core
Classification: Components
Component: Internationalization (show other bugs)
: Trunk
: x86 Windows 2000
: -- major (vote)
: Future
Assigned To: Sean Su
: Yuying Long
: Makoto Kato [:m_kato]
Mentors:
Depends on:
Blocks: 101606 123821
  Show dependency treegraph
 
Reported: 2001-01-30 04:17 PST by Henrik Gemal
Modified: 2003-05-06 13:33 PDT (History)
11 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
patch #1 (2.06 KB, patch)
2001-07-10 16:48 PDT, Sean Su
no flags Details | Diff | Splinter Review
patch v2.0 (2.25 KB, patch)
2003-04-30 00:49 PDT, Sean Su
dveditz: review+
Details | Diff | Splinter Review
patch v2.1 (3.60 KB, patch)
2003-05-03 22:39 PDT, Sean Su
no flags Details | Diff | Splinter Review
patch v2.2 (4.39 KB, patch)
2003-05-04 23:37 PDT, Sean Su
dveditz: review+
jag-mozilla: superreview+
sspitzer: approval1.4b+
Details | Diff | Splinter Review
patchv 2.3 (4.28 KB, patch)
2003-05-05 17:34 PDT, Sean Su
dveditz: review+
dmose: superreview+
sspitzer: approval1.4b+
Details | Diff | Splinter Review

Description Henrik Gemal 2001-01-30 04:17:07 PST
If I choose to install mozilla into:
c:\program files\mozillaæ.org
and choose "Mozillaæ" as folder in Program Folder

and then after choose to uninstall Mozilla via control panel, then nothing is 
uninstalled.

The folder:
"c:\program files\mozillaæ.org"
and the Program folder "Mozillaæ" are not deleted!

installer build 20010129
Comment 1 Jon Rubin 2001-05-07 17:01:29 PDT
Changing component to Internationalization.  Checked this against build 05-04-06 
trunk on WinME-Ja. This build had been installed in a folder that was named 
using Japanese characters; choosing to uninstall via the Control Panel results 
in Netscape 6(6.5) being removed from the list of programs in the Add/Remove 
list, but nothing is actually uninstalled.
Comment 2 Andreas Becker 2001-05-07 17:09:47 PDT
Adding keyword intl.
Comment 3 Jon Rubin 2001-05-07 17:44:32 PDT
Nominating for nsbeta1
Comment 4 Jaime Rodriguez, Jr. 2001-05-16 15:47:30 PDT
SSU - All users should be able to uninstall the product, especially beta 
software. Pls accept for nsbeta.
Comment 5 Daniel Veditz [:dveditz] 2001-05-16 16:23:10 PDT
I can't see this is a beta stopper--especially not such an old bug that wasn't 
even nominated until after the ramp-down has started--given the other stuff 
that's been thrown overboard. Mac and Linux users don't even get an uninstall.
Comment 6 Jon Rubin 2001-05-16 16:49:35 PDT
Mac and Linux users don't need an uninstall.  A lot of Windows users will not 
know what to do without an automatic uninstall, because of registry and dll 
worries.  If this bug isn't fixed, we should at least include notes for 
uninstalling manually.
Comment 7 Jaime Rodriguez, Jr. 2001-05-16 17:48:32 PDT
Keeoing this one on my list for those Win32 users. I will review with the PDT 
tomorrow or Friday.
Comment 8 Jaime Rodriguez, Jr. 2001-05-18 14:09:12 PDT
As good citizens, we need to do a good job of cleanup, especially for a beta.
Comment 9 Jaime Rodriguez, Jr. 2001-05-21 17:26:45 PDT
Per i18n meeting with PDT this afternoon, this is a RTM stopper, but not a beta 
stopper.

SSU - Pls assign the milestone M0.9.2 for this one.
Comment 10 Sean Su 2001-06-25 18:02:09 PDT
moving this over to 0.9.3
Comment 11 Jaime Rodriguez, Jr. 2001-06-27 11:40:41 PDT
SSU - Can we get a nsBranch on this one?
Comment 12 Sean Su 2001-06-27 14:18:02 PDT
I just took a quick look at where the problem might be coming from.  The 
solution does not look trivial.  Still looking though...
Comment 13 Jaime Rodriguez, Jr. 2001-07-10 14:43:58 PDT
AndreasB/Msanz - What's your take on this one? I think some international users
might users extended or double-byte characters for their install folder.

SSU - Any idea on how long this will take to fix, yet?
Comment 14 msanz 2001-07-10 15:55:41 PDT
We need input from Sean as to how difficult it is to fix it. I agree it's very
ugly and undesirable, but at this late in the game we may have to defer it. In
any case, Sean, please advise.
Comment 15 Sean Su 2001-07-10 16:48:03 PDT
Created attachment 41874 [details] [diff] [review]
patch #1
Comment 16 Sean Su 2001-07-10 16:49:49 PDT
the attached patch does fix this particular bug, but might create other problems 
for other character sets.

I'll let Dan explain the consequences since he understands this much better than 
I do.
Comment 17 Daniel Veditz [:dveditz] 2001-07-12 01:38:31 PDT
The toString() on install queue objects returns char*, which gets blindly 
expanded to double-bytes and passed around as pseudo-Unicode. The intent was to 
do an honest conversion to Unicode and then store the data in lossless UTF8. 
But since that's not happening any time soon (it's a big change) Sean's patch 
to do lame Unicode->ASCII by byte stripping turns out to successfully 
reconstruct the correct file name.

Two wrongs *do* make a right, apparently
Comment 18 Daniel Veditz [:dveditz] 2001-07-12 01:47:10 PDT
r=dveditz
Comment 19 Jaime Rodriguez, Jr. 2001-07-12 08:17:12 PDT
Looks like we have a patch, and R? Thanks Dan and Sean. Can we get a SR?
Comment 20 Scott MacGregor 2001-07-12 11:42:42 PDT
rs=mscott
Comment 21 Sean Su 2001-07-12 12:04:47 PDT
Jaime, you need to lobby for PDT+ for this bug to be checked into the branch. I 
can't check in to the branch without it.
Comment 22 Jaime Rodriguez, Jr. 2001-07-13 08:02:18 PDT
Trying, but the CLayton is concerned about this comment by you, "but might
create other problems for other character sets."

Should we see how it does on the trunk, so we can assess the risk? What's your
feeling on this one? How risky is it?
Comment 23 Sean Su 2001-07-13 11:34:53 PDT
adding dveditz.  I'll let him try to explain your concern.
Comment 24 Daniel Veditz [:dveditz] 2001-07-13 12:03:48 PDT
This patch won't cause any additional problems. It also doesn't fix the 
fundamental brokenness in the nsInstallObject API. It does band-aid the 
situation in this particular case.
Comment 25 msanz 2001-07-13 13:51:01 PDT
so, we can summarize saying that this is a safe fix? If so, I will send the mail
to PDT. Let me know.
Comment 26 Jaime Rodriguez, Jr. 2001-07-13 16:45:21 PDT
soudns like that is what dan is saying to me. maybe, we sound let it hang out on
the trunk for a while, before we have it checked into the branch . . . just a
suggestion.
Comment 27 Sean Su 2001-07-13 16:56:18 PDT
patch checked in on the trunk only.
Comment 28 Jon Rubin 2001-07-17 21:16:53 PDT
Tested this using 07-17-07-trunk build on WinMe-Ja.  Uninstall sometimes still
does not work, depending on the chars. used in the folder name.  In all cases,
uninstall removes "Netscape 6 (6.1b1)" from the Add/Remove Programs list.  Also,
the program icons always successfully get removed from the Start menu.  But
depending on the chars used, the program files sometimes still remain in the
install folder.  I originally tested this using ????????????? for
the folder name; files remained in the install folder after uninstall, so I then
tested using variations of this name and single-byte numbers.  I narrowed down
the problem chars to the following:

Program files remain when install folder contains these chars:

? (double-byte 7) 
? (double-byte 1)
? (katakana "ku")

All program files were successfully removed when the install folder contained
only these chars (singly or combined):

? (kanji "gatsu")
? (kanji "nichi")
? (hiragana "no")
? (katakana "to")
? (katakana "ra")
? (katakana "n")
? (katakana "bi")
? (katakana "ru")
? (katakana "do")
? (kanji 7 "shichi")
1 (single-byte 1)
7 (single-byte 7)
Comment 29 Jon Rubin 2001-07-17 21:30:54 PDT
Sorry, that looks like my chars didn't get encoded properly.  Let's try that 
again:

The original folder: $B#77n#1#7F|$N%H%i%s%/%S%k%I(B

Program files remain when install folder contains these chars:

$B#7(B (double-byte 7) 
$B#1(B (double-byte 1)
$B%/(B (katakana "ku")

All program files were successfully removed when the install folder contained
only these chars (singly or combined):

$B7n(B (kanji "gatsu")
$BF|(B (kanji "nichi")
$B$N(B (hiragana "no")
$B%H(B (katakana "to")
$B%i(B (katakana "ra")
$B%s(B (katakana "n")
$B%S(B (katakana "bi")
$B%k(B (katakana "ru")
$B%I(B (katakana "do")
$B<7(B (kanji 7 "shichi")
1 (single-byte 1)
7 (single-byte 7)
Comment 30 Jaime Rodriguez, Jr. 2001-07-18 09:42:20 PDT
SSU/Ftang - I liked to TM this one for 0.9.4, if possible (i.e. eMojo release).
Comment 31 Jaime Rodriguez, Jr. 2001-07-18 09:43:21 PDT
Request P2 priority.
Comment 32 Daniel Veditz [:dveditz] 2001-07-18 10:21:59 PDT
Fixing the underlying problem (and some other installer i18n problems) as 
opposed to the band-aid "two wrongs make a right" hack we stuck in here will 
take some significant work, from an install staff of one. Unlikely to be 
improved for 0.9.4 given other more pressing problems.
Comment 33 Jaime Rodriguez, Jr. 2001-07-18 16:56:26 PDT
Dan - I understand, band-aid "two wrongs make a right"
, but its the only thing we have in the short term. Shouldn't we fix the problem
for the user ASAP, and then fix it, the better way later? I'd hate to see tthe
work already done slip to the side, and this issue not addressed for an
indefinite amount of time (i.e. The right fix, might not make your planned list
of work for the next couple of releases).
Comment 34 Daniel Veditz [:dveditz] 2001-07-18 17:17:02 PDT
The band-aid proposed here has been checked into the tree (trunk and branch), 
and it goes a long way toward solving the problem. I can't think of an 
additional band-aid to fix the remaining problems described, we'll have to go 
for the complete restructuring to do that.
Comment 35 Jaime Rodriguez, Jr. 2001-07-18 17:28:16 PDT
Ah! Should we close this one based on its summary, and open other bugs for the
other related issues?
Comment 36 Jon Rubin 2001-07-18 17:44:16 PDT
"Doesn't uninstall anything" doesn't seem to apply anymore.  Even when
problematic chars are used in the folder name, it looks like everything but the
program files are getting removed (registry entries get removed also).  I'll
write a new bug if everyone agrees that's the way to go.
Comment 37 Jon Rubin 2001-07-25 12:53:43 PDT
Added this to the RTM Branch Release Notes Tracking bug (bug 90577).
Comment 38 Blake Ross 2001-07-31 09:44:14 PDT
Missed 0.9.3.
Comment 39 Jon Rubin 2001-08-01 14:09:28 PDT
The original problem seems to have returned.  In 07-27-branch US (on WinMe-Ja), 
I cannot uninstall anything if the install folder contains Japanese chars.  In 
my comments on 7-17, I said that certain chars do not cause a problem; this no 
longer is the case.  The only thing that gets removed is the entry in 
"Add/Remove Programs"; everything else remains, including the Start Menu icons.
Comment 40 Andreas Becker 2001-08-28 19:06:23 PDT
mass change, switching qa contact from jonrubin to ruixu.
Comment 41 Syd Logan 2001-09-01 18:30:19 PDT
Moving to 0.9.5, getting rid of keyword soup
Comment 42 Cindy Roberts 2001-09-11 13:34:05 PDT
Marking nsbranch- as it was decided in the August bug triage that we wouldn't
have enough time in eMojo to fix this.  Let's revisit for MachV.
Comment 43 elaineking 2001-09-14 13:25:35 PDT
removed keyword nsbranch since it now has nsbranch-, per pdt mtg.
Comment 44 Jaime Rodriguez, Jr. 2001-09-23 12:45:45 PDT
--> I forget who is doing install on Sol's team.
Comment 45 sol 2001-09-24 09:59:17 PDT
GreggL is PM for installer.

Question - must the user change the default installation location in order to
see the effects of this bug?
Comment 46 Asa Dotzler [:asa] 2001-10-12 17:28:02 PDT
0.9.5 is out the door. bumping TM up by one.
Comment 47 Syd Logan 2001-11-21 16:51:20 PST
Can someone hint to as what the rewrite to better support i18n would entail?
Comment 48 Syd Logan 2001-11-29 22:02:14 PST
over to curt
Comment 49 Jaime Rodriguez, Jr. 2002-03-18 17:33:56 PST
nsbeta1- ADT/XPInstall triage.
Comment 50 selmer (gone) 2002-04-03 13:59:29 PST
Please update this bug with an [adt1] - [adt3] impact rating (or take it off the
list if it doesn't even rate adt3.)  Thanks!
Comment 51 Andrew Hagen 2002-06-05 15:41:51 PDT
See also bug 137656.
Comment 52 Sean Su 2003-04-30 00:49:23 PDT
Created attachment 122083 [details] [diff] [review]
patch v2.0
Comment 53 Daniel Veditz [:dveditz] 2003-05-01 15:55:31 PDT
Comment on attachment 122083 [details] [diff] [review]
patch v2.0

r=dveditz
Comment 54 Daniel Veditz [:dveditz] 2003-05-01 15:57:29 PDT
Sean is writing patches for this, over to him
Comment 55 Sean Su 2003-05-03 22:39:29 PDT
Created attachment 122419 [details] [diff] [review]
patch v2.1

In addition to fixing this bug, this patch might also fix bug 137656.
Comment 56 Sean Su 2003-05-04 23:37:36 PDT
Created attachment 122469 [details] [diff] [review]
patch v2.2
Comment 57 Daniel Veditz [:dveditz] 2003-05-04 23:46:42 PDT
Comment on attachment 122469 [details] [diff] [review]
patch v2.2

r=dveditz
Comment 58 jag (Peter Annema) 2003-05-05 09:19:46 PDT
Comment on attachment 122469 [details] [diff] [review]
patch v2.2

sr=jag
Comment 59 Sean Su 2003-05-05 10:33:32 PDT
Comment on attachment 122469 [details] [diff] [review]
patch v2.2

more string cleanup stuff.  not regression.

Tested on a JA XP machine to make sure it worked.
Comment 60 (not reading, please use seth@sspitzer.org instead) 2003-05-05 13:25:02 PDT
Comment on attachment 122469 [details] [diff] [review]
patch v2.2

a=sspitzer
Comment 61 Sean Su 2003-05-05 17:34:12 PDT
Created attachment 122528 [details] [diff] [review]
patchv 2.3

previous patch causes crash under a true JA system.  this one does not, and
also fixes the uninstaller problem.
Comment 62 Daniel Veditz [:dveditz] 2003-05-05 19:59:30 PDT
Comment on attachment 122528 [details] [diff] [review]
patchv 2.3

r=dveditz

Please comment the AssignWithConversion() in ::OnFinalizeProgress that the
apparently Lossy conversion is safe because the input source came from a
similar fake-ascii-to-not-really-unicode conversion.
Comment 63 Dan Mosedale (:dmose) 2003-05-05 22:28:29 PDT
Comment on attachment 122528 [details] [diff] [review]
patchv 2.3

sr=dmose@mozilla.org
Comment 64 Sean Su 2003-05-05 22:32:09 PDT
Comment on attachment 122528 [details] [diff] [review]
patchv 2.3

trivial fix.  already tested in a JA winXP system.
Comment 65 (not reading, please use seth@sspitzer.org instead) 2003-05-05 22:38:19 PDT
Comment on attachment 122528 [details] [diff] [review]
patchv 2.3

a=sspitzer
Comment 66 Sean Su 2003-05-05 23:17:41 PDT
patch checked in.
Comment 67 Yuying Long 2003-05-06 13:33:46 PDT
Verified fixed on 05-06 trunk build on WinXP-JA, Win98-JA with Japanese
characters and Win2000-EN , Win98-German with Latin 1 accent characters.

Note You need to log in before you can comment on or make changes to this bug.