Closed
Bug 40708
Opened 24 years ago
Closed 24 years ago
Mozilla installer should not install files into a subfolder
Categories
(SeaMonkey :: Installer, defect, P4)
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: ssu0262, Assigned: ssu0262)
References
Details
Attachments
(4 files)
532 bytes,
patch
|
Details | Diff | Splinter Review | |
536 bytes,
patch
|
Details | Diff | Splinter Review | |
837 bytes,
patch
|
Details | Diff | Splinter Review | |
841 bytes,
patch
|
Details | Diff | Splinter Review |
The mozilla installer for windows should not install Seamonkey into a subfolder from where the user chooses to install it. It should install into what the user has chosen as the destination path. This is essentially undoing the following bug: http://bugzilla.mozilla.org/show_bug.cgi?id=39783 but only for Mozilla installers, not N6. The fix is a simple 3 line change in Mozilla installer's config.ini. This will not affect the N6 installer. I copied the relavent comments from bug #39783 below: **** Additional Comments From Gervase Markham 2000-05-26 01:32 **** I'm reopening this bug, because this new behaviour breaks my nicely organised QA system. I posted in n.p.m.builds about this, and was directed here. Here follows my post, explaining why the old behaviour was useful: <snip> I've been working on Mozilla for several months now, and have built up a collection of builds I use for tracking down regressions, and reproducing old bugs. They are in my C:\Program Files\Mozilla\2000-XX-XX directories. There is also a C:\Program Files\Mozilla\Users50 directory which contains a profile which they all share. This is very useful, as it means I can delete my profile and *.dat using a batch file, whenever I want (for testing reasons) without having to worry about "which" profile I'm deleting, because they all share one, and it's always in the same place. This was made possible by the fact that, up until the 22nd of this month, if I told the installer to put Mozilla in "C:\Program Files\Mozilla\2000-XX-XX", that's exactly where it put it. It also put the Users50 directory at the same level as 2000-XX-XX. Now, it seems to have been changed so that it doesn't put it where I ask it to any more, but in a subdirectory of the one I request called "Seamonkey", at the same level as a Users50 of its very own. This obviously breaks the above very useful facility, and also means the installer doesn't do what I tell it to, which is generally a bad thing. Can anyone explain why the behaviour was changed? And can we please change it back? :-) <snip> It seems what you are saying is that you are changing this behaviour to deal with clueless lusers (on Windows only) who accidentally install in C:\, then install a new version - the current installer would detect the old C:\netscp6.exe and nuke the entirety of C:\. I admit this is bad. But why must everyone else have to put up with the installer not doing what is expected because a few people (on Windows) are so stupid? Surely we just need to cope with this one special case by making a subdirectory if the root is chosen as the install directory. If Netscape wish to add this "feature" to their development tree, that's their business - it's their tree :-) But Mozilla is targeted at _developers_, and this change in functionality is _not_ required and also inconvenient for QA people like me who keep multiple builds. Please consider changing it back, or having it as an installer config pref (off for Mozilla) or _something_. <jumps up and down and tears out hair> Gerv **** Additional Comments From Simon Lucy 2000-05-26 02:12 **** Surely the fix is to detect installations that would be in stupid places and warn before deleting anything, adding superfluous levels of sub-directories is just irritating. All that needs to be done is to check for the path not ending in ':' or ':\' and if it does append something suitable, not 'Netscape 6' though, using embedded spaces in file systems even when the user understands them is asking for trouble. **** Additional Comments From Henrik Gemal 2000-05-26 04:23 **** I agree 150%, it's insane! The uninstaller should uninstall the files installed by the installer and nuthing else! An advanced feature could be that the uninstaller asked the user to delete the entire installation directory after deleting the known installed files (http://bugzilla.mozilla.org/show_bug.cgi?id=40544) **** Additional Comments From Gervase Markham 2000-05-26 06:04 **** ssu@netscape.com - please could you back out the changes from this bug, and keep them in hand for applying to the nb2b tree, after the branch? That would be fantastic :-) Gerv
Comment 1•24 years ago
|
||
ssu@netscape.com - thank you very much for filing this bug :-) But I'm unsure as to what happens now - are you going to be fixing this, or do we have to find someone to do it? In addition, lxr tells me that there is not a "config.ini" file in the Windows installer. However, I found mozilla/xpinstall/packager/windows/config.it, which has: 18 Sub Path=Seamonkey which seems like a good candidate for removal, or turning to ""... Is it this simple? You said a "three" line change... Anyway, enough of my musings. Gerv
Henrik, This is not necessarily an uninstaller issue. This problem is with how to upgrade users to a new build. The correct method is to figure out all the files/directories all the previous installers ever created and only hand pluck them. This will eliminate the problem of deleting c:\ and any other files the users copied into the Seamonkey folder. Normally, the installer could simply run the previous installation's uninstaller, then continue the installation. However, the uninstaller was just recently added to the installer. Running the uninstaller to remove the old files do not work for the builds that did not have an uninstaller. The correct method could not be applied at this time due to time constraints, so a intermediate solution needed to be in place, which is to warn the user that a deletion of the entire Seamonkey folder is necessary, or chose a different installation path. In any case. I don't agree that we should install directly to the folder the user (whether a developer or a newbie) choses. I see it as keeping our installation directory selection simple and clean by installing into a subfolder of the chosen folder (in addition to preventing a disaster). I could detect for ":\" given the example I provided in the bug, but that doesn't take into account any other "unintended" paths the user happens to chose by accident (whatever they could be by anyone's definition). The fix to revert the original fix is simple, but not necessarily the right thing to do. Gervase, Reverting the fix to alleviate a QA process is not a good enough reason for me. The fix was done to deal with a serious problem. However, there are things that could be done to work with your QA process, like: ** renaming the ...\mozilla\Seamonkey dir before running the installer ** copying the users50 dir to the new ...\mozilla dir ** setup an automation system to modify config.ini in the installer so that it will do exactly what you want it to do before you start the installation. I can help you with the last option.
Comment 3•24 years ago
|
||
OK, so this bug is worksforme then, right?
Comment 4•24 years ago
|
||
> The fix was done to deal with a serious problem.
I partly understand the need for the fix where clueless users are involved;
however, Mozilla is a product for _developers_, who aren't clueless. This is why
I suggested the fix be backed out, and made to a Netscape 6-specific tree. A
clueful person such as a developer will expect software to be installed where
they ask for it to be installed.
As for your other suggestions, I'm not sure I understand. I download pre-built
nightlies for smoketesting (and other QA things) on a regular basis. Are you
saying I can in some way "poke" that copy of mozilla-win32-installer.exe before
I run it so that it will Do The Right Thing?
Regarding for your comments to Henrik, I'm not quite clear there either. Are you
saying that the final solution to this problem will be to run the old version's
uninstaller, and the new behaviour I don't like is merely a temporary thing?
[ Samir - not yet, we are still discussing this issue ;-) ]
Gerv
Gervase, I can help you automate a process that will let you modify how the installer behaves, then launch setup.exe. It sounds to me like you're doing the installation by hand right now. There are parameters you can currently pass to the installer that can make things easier: -ma :Mode Auto - runs the installer in a hands free mode (showing only non interactive dialogs) using all defaults from its config.ini. -ms :Mode Silent - runs the installer in a silent mode (not showing *any* dialogs) using all defaults from its config.ini. The problem now is how to change the defaults in the config.ini file to your liking. What I'm going to do is to add a new parameter so that the self-extracting .exe file can simply uncompress its contents into the current directory without launching setup.exe. This way you can modify the config.ini (I can help you with this one too) so it'll install exactly the way you want it, then launch setup.exe when you're done. I have the fix on hand to the self-extracting code. It's reviewed and tested, but I still need approval before I can checkin. The new parameter is (will be): -u :uncompress - this will simply tell the self-extracting .exe file to uncompress its contents into the current working directory and do nothing else.
Status: NEW → ASSIGNED
Comment 6•24 years ago
|
||
Right... I am currently doing installs by hand, but that's because each install has to go into a different directory depending on its build ID. One can't always work this out from the current date, as I sometimes install older builds, and it's not part of the filename either. So, the plan would be to write a Perl script to do: C:\> mozinstall 2000-XX-XX cd \temp C:\download\mozilla-win32-installer.exe -u <munge config.ini using command line param> C:\temp\setup.exe -ma ? Would -u do a hands-free overwrite "clobber"? I do appreciate your help, but would still prefer the old way ;-). Just as a side note, please don't think that the dialog I've started in the newsgroups (about checking in "novice user" changes into the Moz tree) is getting at you, because it isn't. Gerv
Comment 7•24 years ago
|
||
I think we should start a discussion on this in n.p.m.xpinstall -- not many will stumble accross this bug. Once started we can forward the post to newsbot@mozilla.org to get a little more visibility. Could someone with ready access to Henrik's e-mail CC him on this bug -- he was quoted in the other bug and may not be following this one.
Comment 8•24 years ago
|
||
dveditz: Would you please start the discussion on n.p.m.xpinstall? CCing Henrik. Gerv
Comment 9•24 years ago
|
||
I completely agree with Gervase. Do exactly what I say. When I ran Windows, I had a perfectly layed out file system. I actually used the application dirs to some extend, so this behaviour required me to open one more folder. Bug 40865 is related.
Assignee | ||
Comment 10•24 years ago
|
||
The -u parameter has been added to the self-extracting code. Automation instructions have been send to Gerv. Marking this bug fixed. Grace, here's the test case: 1) download NetscapeSetup.exe or mozilla-win32-installer.exe into a save folder. 2) from the save folder, run the .exe file from the command line and pass in -u: NetscapeSetup.exe -u it should uncompress its contents into the directory you ran the .exe from.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Comment 11•24 years ago
|
||
I don't think, this is the correct way to fix this. I don't want this bug been fixed, because of a testing problem, but because it creates an unnecessary hierarchy level for users. REOPENing. When bug 6464 is fixed, "SeaMonkey" will be the only child of the install dir. This is silly. Please find a better way around the "uninstalling all of C:" problem. How do other apps solve this? Mozilla is no exception here.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 12•24 years ago
|
||
Ben - if you want something different done, you need to explain why Mozilla should not continue with the practice of Communicator. That is to say, Communicator installs like this: Give it: C:\Program Files\Netscape It installs in: C:\Program Files\Netscape\Program and C:\Program Files\Netscape\Users Mozilla currently installs like this: Give it: C:\Program Files\Mozilla It installs in: C:\Program Files\Mozilla\Seamonkey and C:\Program Files\Mozilla\Users50 These seem to be exactly analogous. Gerv
Comment 13•24 years ago
|
||
Gerv, as I said, Users50 will go, leaving "SeaMonkey" alone. Anyway, Communicator is not a perfect application either.
Comment 14•24 years ago
|
||
The main fault is in deleting the entire content of the installed directory. It doesn't matter what directory an application is installed into, any uninstall or re-install should only mess with files the application itself creates. Blowing away random files is just wrong.
Comment 15•24 years ago
|
||
Adding selmer and racham because they were asking about this behavior
Comment 16•24 years ago
|
||
I'm now happy (following some help from Sean Su) so I'm removing myself from the CC list :-) Gerv
Comment 17•24 years ago
|
||
I think the depends on is a mistake, or at least I can't remember why I connected these two bugs.
No longer depends on: 31821
Comment 18•24 years ago
|
||
dveditz: The subfolder critizised in this bug was a workaround for bug 31821, to avoid overwriting an existing installation, IIRC. Readding dep.
Depends on: 31821
Comment 19•24 years ago
|
||
*** Bug 67025 has been marked as a duplicate of this bug. ***
Comment 20•24 years ago
|
||
Another reason this is important is that once the path gets to be too long, there are reported errors associated with it (forgot the bug#). It is the first time i used the installer, as opposed to the mozilla-win32-talkback.zip file, and like the smaller footprint and java installer. Nevertheless, the user should have the final say as to where his programs are installed to. Adding an unwanted and unneeded directory is just annoying - clueless lusers will just have to learn how to use a PC, that's it. Why suject the normal majority of users to unwanted subdirectories? Why don't you just disable the delete key while you're at it! :(
Assignee | ||
Comment 21•24 years ago
|
||
*** Bug 67185 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 22•24 years ago
|
||
Assignee | ||
Comment 23•24 years ago
|
||
Comment 24•24 years ago
|
||
r=dveditz
Assignee | ||
Comment 25•24 years ago
|
||
Assignee | ||
Comment 26•24 years ago
|
||
Comment 27•24 years ago
|
||
r=dveditz for second patch set
Comment 28•24 years ago
|
||
this is a terrible habbit to have programs create a company name directory and then sneak in the product name beneath it. My hard drive is no place for companies to advertize. I want the program name to be my directory and I want control over what directories my programs are installed to. The proposed pathes sneak in a directory name that the user is not being told about. This practice should ceise right now!
Assignee | ||
Comment 29•24 years ago
|
||
The patches should do exactly what you wanted to have the installer do in the first place. I'm not sure why you think the patch will be "sneaking" in a directory name and the user not being notified about it. The patch will essentially make visible the currently hidden subdirectory that gets created, namely the "Mozilla" subdirectory. This will allow the user to change the final folder name. What the installer used to show and create: shows : [Program Files]\Mozilla.org creates: [Program Files]\Mozilla.org\Mozilla What it will do after the patch is applied: shows : [Program Files]\Mozilla.org\Mozilla creates: [Program Files]\Mozilla.org\Mozilla (the user can change the entire path now) As for having installers create default folders of: [Program Files]\[Company Name]\[Product Name] it is the norm in a Windows environment to do so (according to the Windows setup guidelines). It makes more sense this way because the [Company Name] could have more than one [Product Name], in which case the folders would look like: [Program Files]\[Company Name]\[Product1 Name] [Program Files]\[Company Name]\[Product2 Name] [Program Files]\[Company Name]\[Product2 Name] and so on...
Status: REOPENED → ASSIGNED
Comment 30•24 years ago
|
||
> it is the norm in a Windows environment to do so (according to the Windows > setup guidelines). Really? I never liked that. I like [Program Files]\[Company Name][SPACE][Product1 Name]. In other words, IMO, the windows guide is broken. > It makes more sense this way because the [Company Name] could have > more than one [Product Name] Yes, but that case is very uncommon (unless you count Microsoft). At least for me, it is the expection that I install 2 software packages from the same company at the same machine (/ OS installation). Which means that most directories in [PROGRAMFILES] have exactly one child, unless I prevent that manually. *That* doesn't make sense to me. I'd prefer an uncommon [Program Files]\[Company Name] [Product1 Name] [Program Files]\[Company Name] [Product2 Name] but I'll probably forsee that and manually adjust the path in the installer in this case. So, I vote for "Path=[PROGRAMFILESDIR]\$CompanyName$ $ProductName$" > creates: [Program Files]\Mozilla.org\Mozilla Bug 67238.
Comment 31•24 years ago
|
||
s/expection/exeption/
Comment 32•24 years ago
|
||
sr=mscott for patch #1 (ns tree) and the 1/31/01 10:57 patch 2
Comment 33•24 years ago
|
||
I really like: [Program Files]\Mozilla.org\Mozilla this is also the normal windows way to do it.
Comment 34•24 years ago
|
||
Users don't think of their programs in terms of company names but rather in trms of the program's name they are using. The idea of having the company name as the main program directory is ludicrous and was thought out by marketing executives and not programmers interested in the user's way of thinking. For application suites that all use common files - isn't that what the windows\application direstory is for? - although i do think that the rule should apply: one program -> one directory. Also, the installer is currently so narrow, that the whole path is currently not visible - this is annoying. The window with should be at least wide enough to show the full default path plus 50% in case a user chooses a longer directory tree. Better would be to show the full path as tooltip when hovered over, or to wrap the tree onto multiple lines.
Assignee | ||
Comment 35•24 years ago
|
||
patches checked in. Marking this bug fixed.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago → 24 years ago
Resolution: --- → FIXED
Comment 36•24 years ago
|
||
Peter: two separate issues here. If you don't like the default install path drum up support in the newsgroups, and if the staff@mozilla.org folks tell us to change it we will. As you can see from the patch it's now just a single string in a non-compiled text file. Your UI ideas about the field too narrow and the tooltips are good user-experience feedback; we'll keep that in mind. It is, however, off-topic in this particular bug.
Comment 37•24 years ago
|
||
sub folders not present - build 2001020204 of both Mozilla and N6 Installers
Status: RESOLVED → VERIFIED
Updated•20 years ago
|
Product: Browser → Seamonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•