XULRunner installer stubs for windows

RESOLVED WONTFIX

Status

Toolkit Graveyard
XULRunner
RESOLVED WONTFIX
13 years ago
2 years ago

People

(Reporter: Benjamin Smedberg, Unassigned)

Tracking

Details

(URL)

Attachments

(2 attachments, 4 obsolete attachments)

(Reporter)

Description

13 years ago
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.
(Reporter)

Updated

13 years ago
Blocks: 299986

Updated

13 years ago
Blocks: 317491

Comment 1

13 years ago
Created attachment 212517 [details]
Sample NSIS script for installing an XULRunner-based ChatZilla

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.

Comment 2

13 years ago
Created attachment 212519 [details]
Sample NSIS script for installing XULRunner automatically if not present

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

Comment 3

12 years ago
Created attachment 220147 [details]
Updated stub installer for Firefox

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

Comment 4

12 years ago
Created attachment 220158 [details]
Updated XULRunner installer

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

Comment 5

12 years ago
Created attachment 220161 [details]
Updated Firefox stub installer

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

Comment 6

12 years ago
Created attachment 220443 [details]
Firefox stub install v3

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.
(Reporter)

Updated

7 years ago
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → WONTFIX
(Assignee)

Updated

2 years ago
Product: Toolkit → Toolkit Graveyard
You need to log in before you can comment on or make changes to this bug.