diff --git a/mozilla/browser/components/shell/src/nsWindowsShellService.cpp b/mozilla/browser/components/shell/src/nsWindowsShellService.cpp index bcf4805436c..3f37f6dd558 100644 --- a/mozilla/browser/components/shell/src/nsWindowsShellService.cpp +++ b/mozilla/browser/components/shell/src/nsWindowsShellService.cpp @@ -152,6 +152,12 @@ typedef struct { PREFIX MID SUFFIX static SETTING gSettings[] = { + // Extension Manager Keys + { MAKE_KEY_NAME1(CLS, "MIME\\Database\\Content Type\\application/x-xpinstall;app=firefox"), + "Extension", + ".xpi", + NO_SUBSTITUTION | NON_ESSENTIAL }, + // File Extension Aliases { MAKE_KEY_NAME1(CLS, ".htm"), "", CLS_HTML, NO_SUBSTITUTION | NON_ESSENTIAL }, { MAKE_KEY_NAME1(CLS, ".html"), "", CLS_HTML, NO_SUBSTITUTION | NON_ESSENTIAL }, diff --git a/mozilla/browser/installer/windows/browser.jst b/mozilla/browser/installer/windows/browser.jst index cdaae8f3fe7..231491e9d45 100644 --- a/mozilla/browser/installer/windows/browser.jst +++ b/mozilla/browser/installer/windows/browser.jst @@ -381,6 +381,11 @@ function updateWinReg() winreg.createKey(subkey,""); err = winreg.setValueString(subkey, "", fProgram + "$MainExeFile$"); err = winreg.setValueString(subkey, "Path", fProgram); + + // XPInstall content type mappings. + subkey = "SOFTWARE\\Classes\\MIME\\Database\\Content Type\\application/x-xpinstall;app=firefox" + winreg.createKey(subkey, ""); + winreg.setValueString(subkey, "Extension", ".xpi"); } winreg.setRootKey(winreg.HKEY_CURRENT_USER);