Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

How to Create Windows Inno Setup Installer for XULRunner Application

XULRunner アプリケーションでは現在インストーラを作る仕組みがまだありません。しかし、Inno Setupを利用すれば簡単にWindows 用インストーラを作成する事ができます。 このドキュメントでは Getting_started_with_XULRunner の My App をサンプルを使ってWindowsインストーラを作成する手順を紹介します。

Step1. Install Inno Setup

Inno Setup Downloads からInno Setup をダウンロードします。単純にインストーラのコンパイラを実行するだけであれば Stable Release でも良いのですが、 Script を編集するのであれば IStools(Script Editor) が含まれる QuickStart Pack がお勧めです。ただし、 IStools は Inno Setup Third-Party Files から入手が可能です。

Step2. Create Application

XULRunner アプリケーションが単体で動作するようにXULRunner:Deploying_XULRunner_1.8 の手順に沿って配置します。My App では以下のようになります。

  • <tt><var>myapp</var>/</tt>
    • <tt>application.ini</tt>
    • <tt>chrome/</tt>
    • <tt>default/</tt>
    • <tt><var>myapp</var>.exe</tt> (<tt>xulrunner-stub.exe</tt> をコピーしてリネームしたものです)
    • <tt>xulrunner/</tt>

アプリケーションの配置が終わったらこの段階でアプリケーションの動作テストをしておきます。アプリケーションが動かなかったらインストーラもうまく動作しないでしょう ;-)

Step3. Create Inno Setup Script

Inno Setup のスクリプト(iss)を作成します。 Inno Setup Script Wizard のみでは chrome などのディレクトリの配置場所が設定できないため、必ず iss ファイルを編集してください。 AppName, AppPublisher などは application.ini の記述と同じにすると良いでしょう。

以下に My App でのサンプルを示します。

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
AppName=My App
AppVerName=My App 1.0
AppPublisher=Mark Finkle
AppPublisherURL=https://developer.mozilla.org/en/docs/Getting_started_with_XULRunner
AppSupportURL=https://developer.mozilla.org/en/docs/Getting_started_with_XULRunner
AppUpdatesURL=https://developer.mozilla.org/en/docs/Getting_started_with_XULRunner
DefaultDirName={pf}\My App
DefaultGroupName=My App
AllowNoIcons=yes
OutputDir=..\build\output
OutputBaseFilename=myapp-1.0-win32
; SetupIconFile=
Compression=lzma
SolidCompression=yes

[Languages]
Name: english; MessagesFile: compiler:Default.isl

[Components]
Name: main; Description: My App; Types: full compact custom; Flags: fixed
Name: runtime; Description: XUL Runner Runtime; Types: full custom

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked

[Files]
Source: C:\develop\XULRunnerInstaller\myapp\myapp.exe; DestDir: {app}; Components: main; Flags: ignoreversion
Source: C:\develop\XULRunnerInstaller\myapp\application.ini; DestDir: {app}; Components: main; Flags: ignoreversion
Source: C:\develop\XULRunnerInstaller\myapp\chrome\*; Excludes: .svn; DestDir: {app}\chrome; Components: main; Flags: ignoreversion recursesubdirs createallsubdirs
Source: C:\develop\XULRunnerInstaller\myapp\defaults\*; Excludes: .svn; DestDir: {app}\defaults; Components: main; Flags: ignoreversion recursesubdirs createallsubdirs
Source: C:\develop\XULRunnerInstaller\myapp\xulrunner\*; DestDir: {app}\xulrunner; Components: runtime; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: {group}\My App; Filename: {app}\myapp.exe
Name: {group}\{cm:UninstallProgram,XUL Explorer}; Filename: {uninstallexe}
Name: {userdesktop}\My App; Filename: {app}\myapp.exe; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\My App; Filename: {app}\myapp.exe; Tasks: quicklaunchicon

[Run]
Filename: {app}\myapp.exe; Description: {cm:LaunchProgram,My App}; OnlyBelowVersion: 0,6; Flags: nowait postinstall skipifsilent

また、今回のサンプルでは XULRunner が runtime として扱われていることに注意してください。

Step4. Building Installer

Inno Setup Compiler を起動して、Script ファイルを開いて Compile を実行します。Compile 後にはすぐにインストーラを実行してテストする事ができます。 インストーラ実行後にアプリケーションの動作テストをしてください。うまく起動したら成功です!

myapp.iss のサンプル をダウンロードしてください。

Original Document Information

  • Author: Taro Matsuzawa
  • Inno Setup Script Original Author: Mark Finkle
  • Japanese version is original.

ドキュメントのタグと貢献者

タグ: 
 このページの貢献者: Btm
 最終更新者: Btm,