Closed Bug 299989 Opened 19 years ago Closed 13 years ago

XULRunner installer stubs for windows

Categories

(Toolkit Graveyard :: XULRunner, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: benjamin, Unassigned)

References

()

Details

Attachments

(2 files, 4 obsolete files)

There should be installer stubs that can package an application or an
application+xulrunner into a windows installer.exe. See the installation story
at http://wiki.mozilla.org/XUL:Installation_Story . If you want to help with
this, please contact bsmedberg for more information about technical specifications.
Blocks: 299986
Blocks: 317491
As per (short) discussion on IRC, this is my current NSIS wrapper script for installing an xulapp. it's customised for ChatZilla at the moment both as a proof of concept (this is working and being used by a few people in the wild now) and because XULRunner doesn't currently provide all the installation support an xulapp needs (shortcut icons, registry keys, uninstallation).

The XUL_APP_ defines at the top are edited by the packager to point to info pertinent to the app itself. Most of this could be obtained automatically from the package.

The PRODUCT_ defines are used to locate an existing XULRunner instance on the client machine should one exist (I'm using a hard-coded registry path for this; it shouldn't be much work to change it).

Basically the installer path is simple: intro screen, XULRunner check, optional net install of XULRunner (see next attachment; hard-coded here to download from my own server in XRE_URL) and product registration with XULRunner's --install-app. Shortcuts can be optionally created and an uninstaller is dropped into the xulapp directory (which is hard-coded from info in the application.ini by XULRunner).

Aside from the initial defines the only thing which isn't obviously generic is the additional registry key the example adds to make irc:// URLs work. There needs to be a better way of handling this in XULRunner itself.
This is a wrapper script for XULRunner itself which complements the above patch. If this isn't already present on the client (the check is the regkey Software\Mozilla\XULRunner) then this installer is downloaded and run automatically. No configuration, simply dropped into Program Files\Common Files and registered with --register-global. Uninstaller added for final removal via Windows Add / Remove Programs.

 - Chris
Attached file Updated stub installer for Firefox (obsolete) —
Now that Firefox works under XULRunner, I updated the script to match. This is the installer script I'm currently dogfooding.

Still to come: non-hardcoded install path.
Limitations: NSIS wants to be pointed at a .ico file for Add/Remove Programs etc and Firefox no longer provides one in chrome\icons\default. Adding that path to the app-bundle (which is just a zip of the xulapp directory) will enable the icon.

 - Chris
Attachment #212517 - Attachment is obsolete: true
More work on the on-demand XULRunner installer. Now properly cleans up after itself on uninstall.

TODO: remove the "close" button so that this requires no user interaction at all.
Attachment #212519 - Attachment is obsolete: true
Attached file Updated Firefox stub installer (obsolete) —
Slight update to Firefox stub installer, fixes some paths.

TODO: Add back the path selection, which is possible with trunk XULRunner builds.

To use this, simply drop it into the same directory as a zip file containing a Firefox XULapp and set XUL_APP_BUNDLE to point to said zip file. For the time being, if you want the XULapp to have an icon in the start menu, Add/Remove Programs etc. it's necessary to manually add a /chrome/icons/default/main-window.ico to the XULapp directory structure first.
Attachment #220147 - Attachment is obsolete: true
New version of the xulapp installer. Now allows the user to enter whatever directory path they want and correctly generates all required entries. With a little voodoo to ensure people don't go deleting %programfiles% this will be good to go: as-is, it already does most everything the old installer does.

This has been tested to work with four different xulapps now. Current issues:

1. Vendor is still mandatory, although its use is now limited to contact information and the default install directory.
2. Values must still be manually input in the consts section at the top. Ideally the script could pull them from the application.ini as part of its own build process.
3. There's no idiot-checking which would remove only the install directory is deleted. This should be trivial, it's only being blocked by some NSIS scope issues.
4. Still some polish needed on the on-demand xulrunner install section.

 - Chris
Attachment #220161 - Attachment is obsolete: true
nsisdl::download don't work for files served chunked without Content-Length on the http header, replacing it for the InetLoad::load (using the InetLoad plugin available at http://nsis.sourceforge.net/InetLoad_plug-in ) seems to fix the issue.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
Product: Toolkit → Toolkit Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: