Mac OSX Installer/Start Up Investigation




Shell Integration
14 years ago
7 years ago


(Reporter: marcia, Unassigned)


Mac OS X

Firefox Tracking Flags

(Not tracked)



(1 attachment)

Creating this bug to investigate Mac OSX Installer/Start Up. Need to
investigate the routine needed to set us as the default browser as well as the
process to uninstall and put the user's system back to its original state.


14 years ago
QA Contact: firefox.general → marcia

Comment 1

14 years ago
Looking at some of the comments and questions on the Mozillazine forums, and
then seeing the Firefox installation instructions, OSX documentation is sorely
lacking. A nice job has been done with the Mozilla install/uninstall
documentation, this would be a good place to start, as well as the Camino FAQ.

Comment 2

14 years ago
There have literally been dozens of posts in the Firefox Support forum at
Mozillazine from Mac users, most of which are the result of improper
installations. Seems a lot of "switchers" or those just not overly familiar with
Macs are not aware that the contents of the Disk Image is the actual
application, not an installer. Would there be any way to include a text file
with installation instructions in the disk image as part of the Mac download

Comment 3

14 years ago
We should put one of those backgrounds on the disk image so when you see it in
the finder, it has a big "Drag this to your Applications folder or Desktop"
instruction visible.
Flags: blocking-aviary1.0mac+

Comment 4

14 years ago
(In reply to comment #3)
> We should put one of those backgrounds on the disk image so when you see it in
> the finder, it has a big "Drag this to your Applications folder or Desktop"
> instruction visible.

That's bug 257854
IMHO it would be better to use a Mac OS X Installer Package (pkg).  That way you
can foolproof the process.  

Remember:  not all users can touch the Application Folder, only privilaged
users.  So they get a permission denied... if we use a Installer, it asks for an
admin user/password, then allows if approprate.  

If there is just that dmg background, it would have to be rather wordy:
1.  If Administrator, drag and drop to the Applications Folder
2.  If non-Administrator, drag and drop to your Desktop, Home Directory or any
directory where you have write privilages.

Users are already familiar with the Mac OS X installer interface, so the
learning curve is minimal.  Since our install is already drag/drop... it's not a
complex installer either, so the technology is already there to be used.

Assignee: asa → bugs
Component: General → OS Integration
QA Contact: marcia → firefox.os-integration
Depends on: 233871
see bug 233871 for setting Mac Firefox as default browser.

Comment 7

14 years ago
See also bug 268794 for an alternative - automatic installation on the desktop.
This is similar to an installer without any user interface at all.
The disadvantage is that an administrator has to move the application manually
into the Applications directory, and he/she isn't prompted for that (like with a
background on the dmg).
If we have a real installer, then this can be used to place the installer itself
on the desktop, without bothering the user with details like mounting and
unmounting the dmg.

Comment 8

14 years ago
I disagre with Robert, the general rule is to use the pkg installer only when
there is a need for it in terms of files being put in different places all over
the system. With FF and Mozilla this is not the case. The usual thing to do is
to make a background with text "Drag this to the application folder". If the
user does not have administrator privilages he/she will not be able to install
the application even using the pkg installer as it asks for admin pass. To ease
the process of instalation we may also add a readme file in the same window that
should have the "Drag..." background text. This way if somethnig goes wrong with
dragging the app to your app folder, you will read the readme file and find the

Comment 9

14 years ago
moving blocking1.0mac bugs to Firefox1.1 Target Milestone.
Target Milestone: --- → Firefox1.1

Comment 10

14 years ago
Cannot make Firefox start on my computer it crashes on startup.

 This is a 17' Powerbook running Mac OS 10.3.6, everything else is 
 fine  on my machine.

 Below is the Crash report:

 Date/Time:      2004-12-13 18:36:18 +0100
 OS Version:     10.3.6 (Build 7R28)
 Report Version: 2

 Command: firefox-bin
 Path:    /Applications/
 Version: 1.0 (1.0)
 PID:     2379
 Thread:  0

 Exception:  EXC_BAD_INSTRUCTION (0x0002)
 Code[0]:    0x00000002
 Code[1]:    0x00082cd4

 Thread 0 Crashed:
 0   org.mozilla.firefox 	0x00082cd4  
 _ZN11nsIOService10NewFileURIEP7nsIFilePP6nsIURI + 0xd4
 1   org.mozilla.firefox 	0x000b0450  
 _ZN20nsResProtocolHandler13AddSpecialDirEPKcRK10nsACString + 0x124
 2   org.mozilla.firefox 	0x000b055c _ZN20nsResProtocolHandler4InitEv +  0xb8
 3   org.mozilla.firefox 	0x00074094 _ZN18nsCSecurityContextD4Ev +  0x1700
 4   libxpcom.dylib      	0x0703a7a0  
 tsRK4nsIDPPv + 0xc4
 5   libxpcom.dylib      	0x0703b3e4  
 _ZN22nsComponentManagerImpl22GetServiceByContractIDEPKcRK4nsIDPPv + 
 6   org.mozilla.firefox 	0x00082920  
 _ZN11nsIOService18GetProtocolHandlerEPKcPP18nsIProtocolHandler + 
 7   org.mozilla.firefox 	0x00082ba8  
 _ZN11nsIOService6NewURIERK10nsACStringPKcP6nsIURIPS6_ + 0xf0
 8   org.mozilla.firefox 	0x000e30fc  
 _ZN8nsJARURI7SetSpecERK10nsACString + 0x27c
 9   org.mozilla.firefox 	0x000b0054  
 _ZN20nsJARProtocolHandler6NewURIERK10nsACStringPKcP6nsIURIPS6_ + 
 10  org.mozilla.firefox 	0x00082bd4  
 _ZN11nsIOService6NewURIERK10nsACStringPKcP6nsIURIPS6_ + 0x11c
 11  org.mozilla.firefox 	0x00121018 
 _ZN20RDFXMLDataSourceImpl4InitEPKc  + 0x104
 12  org.mozilla.firefox 	0x00653244  
 _ZN16nsChromeRegistry15InstallProviderERK10nsACStringS2_iii + 0x12c
 13  org.mozilla.firefox 	0x006551c8  
 _ZN16nsChromeRegistry14InstallPackageEPKci + 0x84
 14  org.mozilla.firefox 	0x006583a0  
 _ZN16nsChromeRegistry22ProcessNewChromeBufferEPci + 0x54c
 15  org.mozilla.firefox 	0x00657e04  
 _ZN16nsChromeRegistry17CheckForNewChromeEv + 0x3b4
 16  org.mozilla.firefox 	0x0064f298 _ZN16nsChromeRegistry4InitEv +  0x8d8
 17  org.mozilla.firefox 	0x0064e18c  
 _ZN17nsDocLoadObserver7ObserveEP11nsISupportsPKcPKt + 0x408
 18  libxpcom.dylib      	0x0703a7a0  
 tsRK4nsIDPPv + 0xc4
 19  libxpcom.dylib      	0x0703b3e4  
 _ZN22nsComponentManagerImpl22GetServiceByContractIDEPKcRK4nsIDPPv + 
 20  libxpcom.dylib      	0x07065a00  
 _ZNK24nsGetServiceByContractIDclERK4nsIDPPv + 0x94
 21  libxpcom.dylib      	0x07065670  
 _ZN13nsCOMPtr_base18assign_from_helperERK15nsCOMPtr_helperRK4nsID + 
 22  org.mozilla.firefox 	0x00659918  
 _ZN23nsChromeProtocolHandler6NewURIERK10nsACStringPKcP6nsIURIPS6_ + 
 23  org.mozilla.firefox 	0x00082bd4  
 _ZN11nsIOService6NewURIERK10nsACStringPKcP6nsIURIPS6_ + 0x11c
 24  org.mozilla.firefox 	0x0062a8d8  
 _ZN17nsAppShellService18CreateHiddenWindowEv + 0x2e0
 25  org.mozilla.firefox 	0x007eb8c8 _Z8xre_mainiPPcPK12nsXREAppData +  0x770
 26  org.mozilla.firefox 	0x0000f54c start + 0x1b0
 27  org.mozilla.firefox 	0x0000f3cc start + 0x30

 Thread 1:
 0   libSystem.B.dylib   	0x9000b20c select + 0xc
 1   libnspr4.dylib      	0x0301f7d8 poll + 0x188
 2   libnspr4.dylib      	0x0301c024 PR_OpenDir + 0x3b0
 3   org.mozilla.firefox 	0x000b8814  
 _ZN24nsSocketTransportService3RunEv + 0x198
 4   libxpcom.dylib      	0x07044990 _ZN8nsThread4MainEPv + 0x38
 5   libnspr4.dylib      	0x0301d46c PR_Select + 0x33c
 6   libSystem.B.dylib   	0x900246e8 _pthread_body + 0x28

 PPC Thread State:
   srr0: 0x00082cd4 srr1: 0x0008f930                vrsave: 0x00000000
     cr: 0x44000224  xer: 0x20000001   lr: 0x00082cd4  ctr: 0x030217bc
     r0: 0x00082cd4   r1: 0xbfffdf20   r2: 0x0099b930   r3: 0x00000001
     r4: 0x00000002   r5: 0xbfffe000   r6: 0x00000240   r7: 0x00000003
     r8: 0xfe6392d0   r9: 0x009f7878  r10: 0x0705b0cc  r11: 0x03033a2c
    r12: 0x030217bc  r13: 0xbfffefa0  r14: 0xbfffe7f0  r15: 0xbfffe7e0
    r16: 0x008289a8  r17: 0x008289a0  r18: 0xbfffe800  r19: 0x00000000
    r20: 0x00990000  r21: 0xbfffef00  r22: 0x0208ee00  r23: 0x0708a0b0
    r24: 0x00823f98  r25: 0xbfffdff0  r26: 0x019c6aa0  r27: 0xbfffe000
    r28: 0x019c6ae0  r29: 0x00000000  r30: 0xbfffdf60  r31: 0xbfffdf70

 Binary Images Description:
     0x1000 -   0x971fff org.mozilla.firefox  
 1.0	/Applications/
   0xf28000 -   0xf39fff libinspector.dylib  
   0xf3f000 -   0xf48fff libnegotiateauth.dylib  
   0xf4c000 -   0xf55fff libqfaservices.dylib  
   0xf59000 -   0xf6efff libjsd.dylib  
   0xfb3000 -   0xfe7fff libxpinstall.dylib  
  0x1808000 -  0x182ffff talkback.dylib  
  0x1888000 -  0x18affff talkback.dylib  
  0x3000000 -  0x3032fff libnspr4.dylib  
  0x4000000 -  0x400dfff libplds4.dylib  
  0x5000000 -  0x500efff libplc4.dylib  
  0x6000000 -  0x6068fff libmozjs.dylib  
  0x7000000 -  0x7083fff libxpcom.dylib  
  0x8000000 -  0x801afff libssl3.dylib  
  0x9000000 -  0x905dfff libnss3.dylib  
  0xa000000 -  0xa01dfff libsmime3.dylib  
  0xb000000 -  0xb079fff libsoftokn3.dylib  
  0xc000000 -  0xc019fff libxpcom_compat.dylib  
 0x8fe00000 - 0x8fe4ffff dyld 	/usr/lib/dyld
 0x90000000 - 0x90122fff libSystem.B.dylib 	/usr/lib/libSystem.B.dylib
 0x90190000 - 0x9023dfff 6.3.5  
 (299.32)	/System/Library/Frameworks/CoreFoundation.framework/Versions/ 
 0x90280000 - 0x904f9fff 10.3.6  
 (10.3.5)	/System/Library/Frameworks/CoreServices.framework/Versions/A/ 
 0x90570000 - 0x905dffff 1.3.6  
 (???)	/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
 0x90610000 - 0x9069afff  
 3.0.1	/System/Library/Frameworks/CoreServices.framework/Versions/A/ 
 0x90700000 - 0x90700fff 10.3  
 (???)	/System/Library/Frameworks/CoreServices.framework/Versions/A/ 
 0x90720000 - 0x90787fff  
 2.1.2	/System/Library/Frameworks/CoreAudio.framework/Versions/A/ 
 0x907f0000 - 0x907f9fff  
 2.0.4	/System/Library/PrivateFrameworks/DiskArbitration.framework/ 
 0x90810000 - 0x90810fff 1.0  
 (???)	/System/Library/Frameworks/ApplicationServices.framework/ 
 0x90830000 - 0x9089ffff libobjc.A.dylib 	/usr/lib/libobjc.A.dylib
 0x90910000 - 0x90983fff  
 1.2.3	/System/Library/PrivateFrameworks/DesktopServicesPriv.framework/ 
 0x909f0000 - 0x90b4bfff 6.3.5  
 (500.56)	/System/Library/Frameworks/Foundation.framework/Versions/C/ 
 0x90d00000 - 0x90d1bfff 1.7.1  
 (???)	/System/Library/Frameworks/SystemConfiguration.framework/ 
 0x90d40000 - 0x90d40fff 10.3  
 (???)	/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
 0x90ec0000 - 0x90ec0fff 6.3  
 (???)	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
 0x910b0000 - 0x91101fff 1.2.5  
 (63.2)	/System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom
 0x912a0000 - 0x912bdfff  
 3.8	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ 
 0x912e0000 - 0x912f7fff  
 1.5.4	/System/Library/Frameworks/ApplicationServices.framework/ 
 0x91320000 - 0x913defff ColorSync  
 0x91460000 - 0x91473fff  
 3.2	/System/Library/Frameworks/ApplicationServices.framework/Versions/ 
 0x914a0000 - 0x91509fff  
 1.1.2	/System/Library/Frameworks/Carbon.framework/Versions/A/ 
 0x91560000 - 0x91619fff 3.4.65  
 (???)	/System/Library/Frameworks/ApplicationServices.framework/ 
 0x91670000 - 0x916a8fff  
 1.4	/System/Library/Frameworks/ApplicationServices.framework/Versions/ 
 0x916e0000 - 0x91773fff  
 3.3	/System/Library/Frameworks/ApplicationServices.framework/Versions/ 
 0x917e0000 - 0x917f0fff  
 3.3	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ 
 0x91810000 - 0x9182afff 1.2.1  
 (???)	/System/Library/Frameworks/Carbon.framework/Versions/A/ 
 0x91850000 - 0x91860fff  
 2.1.5	/System/Library/Frameworks/Carbon.framework/Versions/A/ 
 0x91890000 - 0x9189cfff  
 1.0.1	/System/Library/Frameworks/Carbon.framework/Versions/A/ 
 0x918c0000 - 0x918cdfff 1.2.1  
 (1.0)	/System/Library/Frameworks/Carbon.framework/Versions/A/ 
 0x918f0000 - 0x9193efff  
 3.3	/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ 
 0x91990000 - 0x9199bfff 1.2  
 (90)	/System/Library/Frameworks/Carbon.framework/Versions/A/ 
 0x919c0000 - 0x91a33fff  
 3.3.2	/System/Library/Frameworks/Carbon.framework/Versions/A/ 
 0x91a90000 - 0x91a90fff  
 1.3.2	/System/Library/Frameworks/AudioUnit.framework/Versions/A/ 
 0x91ab0000 - 0x91ac4fff libCGATS.A.dylib  
 0x91ae0000 - 0x91aebfff libCSync.A.dylib  
 0x91b10000 - 0x91b2afff libPDFRIP.A.dylib  
 0x91b50000 - 0x91b5ffff libPSRIP.A.dylib  
 0x91b80000 - 0x91b93fff libRIP.A.dylib  
 0x91bb0000 - 0x91d45fff  
 6.5.2	/System/Library/Frameworks/QuickTime.framework/Versions/A/ 
 0x92070000 - 0x92096fff 1.4  
 (1.2)	/System/Library/Frameworks/ApplicationServices.framework/ 
 0x920c0000 - 0x922a7fff 2.4  
 (177)	/System/Library/Frameworks/Security.framework/Versions/A/ 
 0x92430000 - 0x92468fff 10.3.5  
 (98.4)	/System/Library/Frameworks/ApplicationServices.framework/ 
 0x92740000 - 0x92777fff 1.2.1  
 (7)	/System/Library/Frameworks/CoreServices.framework/Versions/A/ 
 0x927d0000 - 0x92b54fff 1.3.5  
 (???)	/System/Library/Frameworks/Carbon.framework/Versions/A/ 
 0x92d30000 - 0x92d80fff 1.4.1  
 (0.0.1d1)	/System/Library/Frameworks/ApplicationServices.framework/ 
 0x92dc0000 - 0x932bffff 6.3.5  
 (743.27)	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
 0x935d0000 - 0x938a8fff 1.203.26  
 (???)	/System/Library/Frameworks/ApplicationServices.framework/ 
 0x939a0000 - 0x939b4fff libcups.2.dylib 	/usr/lib/libcups.2.dylib
 0x939d0000 - 0x939d4fff libmathCommon.A.dylib  
 0x93b50000 - 0x93bf3fff  
 1.3.2	/System/Library/Frameworks/AudioToolbox.framework/Versions/A/ 
 0x94060000 - 0x94078fff 1.1.1  
 (1.1.0)	/System/Library/Frameworks/CoreServices.framework/Versions/A/ 
 0x94310000 - 0x94448fff 5.0.22  
 (5.0.1)	/System/Library/Frameworks/Kerberos.framework/Versions/A/ 
 0x945b0000 - 0x945b9fff libz.1.dylib 	/usr/lib/libz.1.dylib
 0x94610000 - 0x9462afff libresolv.9.dylib 	/usr/lib/libresolv.9.dylib
 0x94650000 - 0x946affff  
 1.0.2	/System/Library/Frameworks/CoreServices.framework/Versions/A/ 
 0x94a30000 - 0x94af5fff libxml2.2.dylib 	/usr/lib/libxml2.2.dylib
 0x94b20000 - 0x94badfff 101.1.3  
 (55.10)	/System/Library/Frameworks/Carbon.framework/Versions/A/ 
 0x968d0000 - 0x969b2fff libicucore.A.dylib 	/usr/lib/libicucore.A.dylib
 0x96a20000 - 0x96ae2fff libcrypto.0.9.7.dylib  
 0x96b40000 - 0x96b6efff libssl.0.9.7.dylib 	/usr/lib/libssl.0.9.7.dylib
 0x96bf0000 - 0x96c7ffff ATS  
 0x96cb0000 - 0x96d9efff libiconv.2.dylib 	/usr/lib/libiconv.2.dylib
 0x97510000 - 0x97518fff libbsm.dylib 	/usr/lib/libbsm.dylib

Comment 11

13 years ago
(In reply to comment #3)
> We should put one of those backgrounds on the disk image so when you see it in
> the finder, it has a big "Drag this to your Applications folder or Desktop"
> instruction visible.

Only problem is, dragging the disk image or the file to the applications folder
in my case (iMac PowerPC G4  (3.3); system version: Mac OS X 10.3.9 (7W98);
Kernel Version: Darwin 7.9.0) only produced an alias in the apps folder.  To
actually place Firefox in the applications folder, I had to copy and paste it to
the applications folder.  

I have another, almost identical iMac (Mac OS 10.3.8) at my office which
experienced the same problem when I installed Firefox and it required the same

Comment 12

13 years ago
(In reply to comment #11)
> Only problem is, dragging the disk image or the file to the applications folder
> in my case (iMac PowerPC G4  (3.3); system version: Mac OS X 10.3.9 (7W98);
> Kernel Version: Darwin 7.9.0) only produced an alias in the apps folder.  To
> actually place Firefox in the applications folder, I had to copy and paste it to
> the applications folder.  

I do this every day (using Mac OS X 10.2.8), and it never failed to copy (not
counting writing errors when the old version can't be removed because ti was
still running).

Dragging a folder should always copy or move, never produce an alias. In this
case, since it comes from a diskimage, it should always be a copy.
Jan, you have to double click the disk image to reveal the contents in a finder window. That package 
can then be move by drag and drop.  see comment #2
Assignee: bugs → nobody
Flags: blocking-aviary1.0mac+

Comment 14

13 years ago
Created attachment 201720 [details]
example install background image

Example of one accepted way to provide install instructions.

Comment 15

13 years ago
Comment on attachment 201720 [details]
example install background image

attached to wrong bug,f (supposed to comment on closed bug 257854) was just going to suggest the addition of the 'eject and discard' style image based on experience supporting users.

Comment 16

12 years ago
(In reply to comment #8)
Well, the idea behind making a real pkg installer for FF may be that even though the application itself is a single package and does not require many files installed to different / particular locations, using installer provides a way to:
1. Copy to Applications even if the user didn't login with admin rights (an actual admin can come to the user's machine, enter admin password and install FF without rebooting).
2. After copying files is complete, the installer can run a script to set FF as default browser (probably having asked the user before), back-up previous system settings, do whatever else needs to be done.
3. Installing via an installer provides more flexibility. The user may choose optional components to install (such as ChatZilla, DivX support(?), etc. - I'm new to the topic and don't know good enough what else can be optional for FF), default configuration, etc.
Resolving this bug as invalid as it dates back to the early Firefox days and we have made significant improvements in this area.
Last Resolved: 9 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.