Closed Bug 362285 Opened 14 years ago Closed 5 years ago

Cannot choose Sunbird as the default calendar for Windows [registry]

Categories

(Calendar :: Sunbird Only, enhancement)

x86
Windows XP
enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: hammockintahiti, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8

I need to be able to set Sunbird as the default calendar for windows in order to sync it with my moble phone.  This is done in the internet options control panel applet.  Sunbird does not show up in the list.

Reproducible: Always

Steps to Reproduce:
1.Install Sunbird
2.Go to the Internet Options control panel applet
3.Try to set Sunbird as the default calendar

Actual Results:  
Sunbird does not show up as an option.

Expected Results:  
Sunbird should have shown up as an option.
Component: General → Sunbird Only
QA Contact: general → sunbird
For QA discussion: Is this a bug or a request for enhancement? What needs to be done to put Sunbird on the list of calendar applications in Windows?
Whiteboard: [qa discussion needed]
> What needs to be
> done to put Sunbird on the list of calendar applications in Windows?
> [Internet Options control panel, Programs tab]

I'm not a windows programmer, but some web searching turned up
http://msdn.microsoft.com/workshop/browser/configuration/clientreg/clientregistrylayout.asp#IE_options

This seems to say that registry entries under
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Calendar
are important.  

There is no protocol listed.  *.ics files have MIME type text/calendar .

Next step: Someone with Outlook: what does Outlook put in those registry entries?

(Start, Run..., "regedit", navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Calendar
select Calendar node
menu Registry > Export Registry File...

The .reg file will be a 16bit unicode text file readable in notepad.exe.  Probably simplest to attach it to this bug.)

Attached file ourlook registry
Attaching the requested registry file from a winxp installation with outlook 2003
This is a request for enhancement per QA chat.

Confirmed with Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a2pre) Gecko/20070122 Calendar/0.6a1 and Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070201 Calendar/0.4a1.
Severity: normal → enhancement
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: [qa discussion needed]
Version: unspecified → Trunk
Summary: Cannot choose Sunbird as the default calendar for windows → Cannot choose Sunbird as the default calendar for Windows [registry]
Contains entries for ics and vcs files, though the vcs entries are
commented out because Sunbird currently does not support vcs files.

The vcs entries use MIME type text/x-vCalendar as recommended by 
Open Mobile Allicance: vObject Minimum Interoperability Profile 1.0 (2005).
(vCard, vCalendar 1.0, and vBookmark are part of the minimum profile.
The spec is also of interest for guidelines on how to resolve
ambiguities in vCalendar1.0, such as all-day events.)

The HKLM\SW\Clients\ entries are sufficient to get Mozilla Sunbird
to appear in "Programs" tab of the Internet Options control panel.
(Mostly follows mvl's example Clients\Calendar entries for Outlook
2003.)

The HKLM\SW\Classes\ entries are needed to allow users to double
click on a file in Windows Explorer, or double click on an .ics
attachment in an email program.  

HKEY_LOCAL_MACHINE\
  SOFTWARE\
    Clients\
      Calendar\
        @=Mozilla Sunbird
        Mozilla Sunbird\
	  Protocols\
            .ics\
              Content Type=text/calendar
              @=icsfile
            icsfile\
              @=iCalendar schedule
              EditFlags=00,00,00,00
              DefaultIcon\
                @="\...\sunbird.exe",1
              shell\
                open\
                  command\
                    @="\...\sunbird.exe" -subscribe "%1"
;           .vcs\
;             Content Type=text/x-vCalendar
;             @=vcsfile
;           vcsfile\
;             @=vCalendar schedule
;             DefaultIcon\
;               @="\...\sunbird.exe",1
;             shell\
;               open\
;                 command\
;                   @="\...\sunbird.exe" -subscribe "%1"

     
HKEY_LOCAL_MACHINE\
  SOFTWARE\
    Classes\
      .ics\
	Content Type=text/calendar
	@=icsfile
      icsfile\
	@=iCalendar schedule
	shell\
	  open\
	    command\
	      @="\...\sunbird.exe" -subscribe "%1"
;     .vcs\
;       Content Type=text/x-vCalendar
;       @=vcsfile
;     .vcsfile\
;       @=vCalendar schedule
;       shell\
;         open\
;           command\
;             @="\...\sunbird.exe" -subscribe "%1"


(For a real installation, the user's chosen program directory must be
substituted for "\...\sunbird.exe" above.  The reg file uses the default,
"C:\Program Files\Mozilla Sunbird\sunbird.exe".  If you install your nightly
Sunbird builds somewhere else, the file will have to be changed.
Right click on the file and select edit to open it in notepad, then
use Edit > Find to replace all default locations with your location.)

TO TRY IT: After downloading this file, you can import this file into the
registry in ONE of the following ways (with install/admin
privilege, or try changing HKEY_LOCAL_MACHINE to HKEY_CURRENT_USER):
* double click on it (confirm dialog will appear), or
* right click on it and select the "Merge" operation, or 
* start regedit and click "Registry" > "Import File..." and select this file.
After importing/merging the file, reboot (to get Windows Explorer to
read the new entries).

EXPECTED RESULTS: If no other calendar program was previously installed, 
then after importing this .reg file:
* In Control Panel "Internet Options", "Programs" tab, under "Calendar" field
  Mozilla Sunbird appears.
* In windows explorer, .ics files appear with icon that looks like a
  document (white rectangle) with shrunken Sunbird icon on it.
* In windows explorer, right clicking on an *.ics file gives
  the option to open the file (with Sunbird).
* In windows explorer, double clicking on an *.ics file starts Sunbird
  and subscribes to the new calendar file (see calendars tab).
* In an email program such as Thunderbird or SeaMonkey, double clicking
  on an *.ics attachment produces dialog asking what to do, including
  the default (open with Sunbird).
Result may be a little different if another calendar program was
previously installed (there may be a choice of applications to use,
and Sunbird might not be the default).  (Note: Sunbird 0.3.x does not
implement the -subscribe parameter needed for the open command to
work, so test with a nightly.)

NEXT STEP: Someone with Outlook: check to see whether there are any
additional entries in the Classes section, such as the EditFlags or
DefaultIcon that appear in the Clients section.  (If so they are
apparently unnecessary for the above expected results, but they may
have additional benefits.)

NEXT STEP: Someone with installer.nsi experience:  Create a patch to
add the above entries (with installation directory substitution) to
installer.nsi.  There seems to be a spot reserved for the
Client\Calendar entries, and maybe the Classes\ entries script can be
added nearby.  (Comments warn that order is important for getting
the uninstaller to work correctly.)

http://lxr.mozilla.org/mozilla/source/calendar/installer/windows/nsis/installer.nsi#417

(Future work: add command line parameter and registry entries for a
merge/import operation in addition to open/subscribe.  Users can
change which is default via
 Windows Explorer > Tools > Folder Options > File Types dialog.)
Blocks: 252736
Attachment #253902 - Flags: second-review?
Attachment #253902 - Flags: first-review?(ssitter)
Attachment #253902 - Flags: second-review? → second-review?(robert.bugzilla)
Assignee: nobody → lilmatt
Flags: blocking-calendar0.5+
Target Milestone: --- → Sunbird 0.5
Status: NEW → ASSIGNED
Comment on attachment 253902 [details] [diff] [review]
Addition to NSIS installer to add reg keys for windows

>--- calendar/installer/windows/nsis/installer.nsi	2 Feb 2007 18:21:39 -0000	1.8
>+++ calendar/installer/windows/nsis/installer.nsi	4 Feb 2007 00:40:52 -0000

>   ; XXXrstrong - Add registry values for HKLM\Software\Clients\Calendar here.
>   ; See Thunderbird's installer.nsi for an example.

I think this comment can be removed now


>+  ; XXXrstrong - the Calendar registry key unlike the one for StartMenuInternet
>+  ; can be the full brand name and version but software update could change this
>+  ; value and the uninstaller wouldn't find it then. To fix this the uninstaller
>+  ; would need to enumerate the keys under Calendar, find any keys that point to
>+  ; this install location, and remove that key on uninstall. This is also needed
>+  ; to support side by side installs of different versions.

We should modify uninstaller.nsi too, see comment in http://lxr.mozilla.org/mozilla/source/calendar/installer/windows/nsis/uninstaller.nsi#163
We could use the same solution as Thunderbird in http://lxr.mozilla.org/mozilla/source/mail/installer/windows/nsis/uninstaller.nsi#164


>+  GetFullPathName /SHORT $ShortPathNameToExe "$INSTDIR\${FileMainEXE}"

...warning: unknown variable/constant "ShortPathNameToExe",0" detected
Please add Var ShortPathNameToExe to declaration block above


>+  ; shell/properties/command
>+  StrCpy $0 "Software\Clients\Calendar\${BrandFullNameInternal}\shell\properties"
>+  ${WriteRegStr2} $TmpVal "$0" "" "$(OPTIONS)" 0
>+  StrCpy $0 "Software\Clients\Calendar\${BrandFullNameInternal}\shell\properties\command"
>+  ${WriteRegStr2} $TmpVal "$0" "" "$ShortPathNameToExe -options" 0

Sunbird doesn't react on -options command line switch. This should be either removed or a followup bug should be filed to add -options support.


>+  ; protocols/icsfile
>+  StrCpy $0 "Software\Clients\Calendar\${BrandFullNameInternal}\Protocols\.ics" 

Please remove trailing spaces


>+  StrCpy $0 "Software\Clients\Calendar\${BrandFullNameInternal}\Protocols\icsfile\shell\open\command

Error: unterminated string parsing line at installer.nsi:459
Add " to end of line


I did a quick test and I can select Sunbird in Internet Explorer Settings. However, I still don't know when this setting is used. As gekacheka already pointed out this will not register Sunbird as the default handler for .ics files. This should either be added or a followup bug should be filed.
Attachment #253902 - Flags: first-review?(ssitter) → first-review-
The patch does not add the HKLM\Software\Classes entries
They seem to be responsible for extension (.ics) handling. See here for a firefox example:

http://lxr.mozilla.org/seamonkey/source/browser/components/shell/src/nsWindowsShellService.cpp#139

Comment on attachment 253902 [details] [diff] [review]
Addition to NSIS installer to add reg keys for windows

clearing review. Please address comment #7 and submit a new patch
Attachment #253902 - Flags: second-review?(robert.bugzilla)
This should no longer block 0.5.
Flags: blocking-calendar0.5+ → blocking-calendar0.5-
Not going to make the 0.5 train.
Target Milestone: Sunbird 0.5 → ---
Matthew, are you still working on this bug? If not, please reassign.
Flags: blocking-calendar0.5-
Flags: wanted-calendar0.9?
Duplicate of this bug: 429464
Matt obviously does not work on this bug anymore.
Assignee: lilmatt → nobody
Status: ASSIGNED → NEW
Flags: wanted-calendar0.9? → wanted-calendar0.9+
Flags: wanted-calendar0.9+ → wanted-calendar1.0+
No longer blocks: 252736
Sunbird is discontinued and not actively developed anymore.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.