Table of Contents
Evergreen 2.1
This is what bshum did for 2.1-rc2 (with no auto-update)
wget http://evergreen-ils.org/downloads/previews/Evergreen-ILS-2.1-RC2.tar.gz tar xvf Evergreen-ILS-2.1-RC2.tar.gz cd Evergreen-ILS-2.1-RC2/ ./configure --disable-core --disable-web --disable-reporter cd Open-ILS/xul/staff_client/ make rigbeta make STAFF_CLIENT_STAMP_ID=rel_2_1-rc2 build make win-client #note: needed to bump xulrunner version in makefile to 1.9.2.19 mv evergreen_staff_client_setup.exe evergreen-setup-rel_2_1-rc2.exe md5sum evergreen-setup-rel_2_1-rc2.exe > evergreen-setup-rel_2_1-rc2.exe.md5
This is what bshum did for 2.1-rc1 (with no auto-update)
wget http://evergreen-ils.org/downloads/previews/Evergreen-ILS-2.1-RC1.tar.gz tar xvf Evergreen-ILS-2.1-RC1.tar.gz cd Evergreen-ILS-2.1-RC1/ ./configure --disable-core --disable-web --disable-reporter cd Open-ILS/xul/staff_client/ make rigbeta make STAFF_CLIENT_STAMP_ID=rel_2_1-rc1 build make win-client #note: issue with windowssetup.nsi file, need to change from "rc-1" back to "beta" on line 8 mv evergreen_staff_client_setup.exe evergreen-setup-rel_2_1-rc1.exe
This is what phasefx did for an unofficial 2.1 r20002 package with no auto-update
(Well, almost; instructions have been Git-ified — Galen Charlton 2011/05/14 13:31)
git clone git://git.evergreen-ils.org/Evergreen.git cd Evergreen git checkout -b pkg_for_rel_2_1 origin/rel_2_1 ./autogen.sh ./configure --disable-core --disable-web --disable-reporter cd Open-ILS/xul/staff_client/ make STAFF_CLIENT_STAMP_ID=rel_2_1 devbuild win-client mv evergreen_staff_client_setup.exe evergreen-setup-rel_2_1_r20002.exe
Evergreen 2.0
This is what bshum did for 2.0.8, 2.0.9, and 2.0.10.
Same steps as beta1 with beta1 changed to 2.0.10, and used xulrunner 1.9.2.19, Innosetup 5.4.0-unicode, and Mike Peters icon file.
Note: as of 2011-08-24, xulrunner version has been "locked" to 1.9.2.19 release for 2.0 series of Evergreen.
This is what bshum did for 2.0.7.
Same steps as beta1 with beta1 changed to 2.0.7, and used xulrunner 1.9.2.18, Innosetup 5.4.0-unicode, and Mike Peters icon file.
This is what bshum did for 2.0.6.
Same steps as beta1 with beta1 changed to 2.0.6, and used xulrunner 1.9.2.17, Innosetup 5.4.0-unicode, and Mike Peters icon file.
This is what bshum did for 2.0.5.
Same steps as beta1 with beta1 changed to 2.0.5, and used xulrunner 1.9.2.16, Innosetup 5.4.0-unicode, and Mike Peters icon file.
This is what bshum did for 2.0.3 and 2.0.4.
Same steps as beta1 with beta1 changed to 2.0.4, and used xulrunner 1.9.2.15, Innosetup 5.4.0-unicode, and Mike Peters icon file.
This is what bshum did for 2.0.2.
Same steps as beta1 with beta1 changed to 2.0.2, and used xulrunner 1.9.2.13, Innosetup 5.4.0-unicode, and Mike Peters icon file.
This is what brian_f did for 2.0.1.
Same steps as beta1 with beta1 changed to 2.0.1, and used xulrunner 1.9.2.13, Innosetup 5.4.0-unicode, and Mike Peters icon file.
This is what bshum did for 2.0 rc1, rc2, rc3, and 2.0.0.
Same steps as beta1 with beta1 changed to rc2, and used xulrunner 1.9.2.13, Innosetup 5.4.0-unicode, and Mike Peters icon file.
This is what brian_f did for 2.0 beta5.
Same steps as beta1 with beta1 changed to beta5, and used xulrunner 1.9.2.13, Innosetup 5.4.0, and Mike Peters icon file.
This is what brian_f did for 2.0 beta2, beta3, beta4.
Same steps as beta1 with beta1 changed to beta2, and used xulrunner 1.9.2.12, Innosetup 5.4.0, and Mike Peters icon file.
This is what phasefx did for 2.0 beta1.
Same sort of steps as alpha2, but used xulrunner 1.9.2.12, Innosetup 5.4.0 (u), and new icon file from Mike Peters (derived from the one from GPLS, and licensed under the GPL).
wget http://evergreen-ils.org/downloads/Evergreen-ILS-2.0-beta1.tar.gz tar xvf Evergreen-ILS-2.0-beta1.tar.gz cd Evergreen-ILS-2.0-beta1/ ./configure --disable-core --disable-web --disable-reporter cd Open-ILS/xul/staff_client/ make STAFF_CLIENT_BUILD_ID=rel_2_0_beta1 build rm -rf build/server/
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! [Setup] ; NOTE: The value of AppId uniquely identifies this application. ; Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{4857C16C-821A-4A8D-ACED-22F73D9C1FCC} AppName=Evergreen Staff Client 2.0beta AppVerName=Evergreen Staff Client v2.0beta1 AppPublisher=Evergreen Community AppPublisherURL=http://evergreen-ils.org/ AppSupportURL=http://evergreen-ils.org/ AppUpdatesURL=http://evergreen-ils.org/ DefaultDirName={pf}\Evergreen Staff Client 2.0beta DefaultGroupName=Evergreen Staff Client 2.0beta AllowNoIcons=yes OutputBaseFilename=evergreen-setup Compression=lzma SolidCompression=yes PrivilegesRequired=none [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl" Name: "french"; MessagesFile: "compiler:Languages\French.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Documents and Settings\Jason Etheridge\Desktop\staff_clients\xulrunner-1.9.2.12.en-US.win32\xulrunner\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Documents and Settings\Jason Etheridge\Desktop\staff_clients\build\*"; DestDir: "{app}\build\"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Documents and Settings\Jason Etheridge\Desktop\staff_clients\evergreen-icon.ico"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{group}\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; IconFilename: "{app}\evergreen-icon.ico"; Name: "{group}\{cm:ProgramOnTheWeb,Evergreen Staff Client}"; Filename: "http://evergreen-ils.org/" Name: "{group}\{cm:UninstallProgram,Evergreen Staff Client}"; Filename: "{uninstallexe}" Name: "{commondesktop}\Evergreen Staff Client 2.0beta"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: desktopicon; IconFilename: "{app}\evergreen-icon.ico"; Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Evergreen Staff Client 2.0beta"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: quicklaunchicon; IconFilename: "{app}\evergreen-icon.ico"; [Run] Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Description: "{cm:LaunchProgram,Evergreen Staff Client}"; Flags: nowait postinstall skipifsilent
This is what phasefx did for 2.0 alpha5.
Same sort of steps as alpha2, but used xulrunner 1.9.2.10.
This is what phasefx did for 2.0 alpha4.
Same sort of steps as alpha2.
This is what phasefx did for 2.0 alpha3.
Same sort of steps as alpha2, but I hand patched the build for http://svn.open-ils.org/trac/ILS/changeset/18082
This is what phasefx did for 2.0 alpha2.
wget http://evergreen-ils.org/downloads/Evergreen-ILS-2.0-alpha2.tar.gz tar xvf Evergreen-ILS-2.0-alpha2.tar.gz cd Evergreen-ILS-2.0-alpha2/ ./configure --disable-core --disable-web --disable-reporter cd Open-ILS/xul/staff_client/ make STAFF_CLIENT_BUILD_ID=rel_2_0_alpha2 build rm -rf build/server/
Innosetup 5.3.10-unicode xulrunner 1.9.2.8
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! [Setup] ; NOTE: The value of AppId uniquely identifies this application. ; Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{4857C16C-821A-4A8D-ACED-22F73D9C1FCC} AppName=Evergreen Staff Client 2.0alpha AppVerName=Evergreen Staff Client v2.0alpha2 AppPublisher=Evergreen Community AppPublisherURL=http://evergreen-ils.org/ AppSupportURL=http://evergreen-ils.org/ AppUpdatesURL=http://evergreen-ils.org/ DefaultDirName={pf}\Evergreen Staff Client 2.0alpha2 DefaultGroupName=Evergreen Staff Client 2.0alpha2 AllowNoIcons=yes OutputBaseFilename=evergreen-setup Compression=lzma SolidCompression=yes PrivilegesRequired=none [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl" Name: "french"; MessagesFile: "compiler:Languages\French.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Documents and Settings\phasefx\Desktop\staff client\xulrunner-1.9.2.8.en-US.win32\xulrunner\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Documents and Settings\phasefx\Desktop\staff client\build\*"; DestDir: "{app}\build\"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Documents and Settings\phasefx\Desktop\staff client\Evergreen2.ico"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{group}\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; IconFilename: "{app}\Evergreen2.ico"; Name: "{group}\{cm:ProgramOnTheWeb,Evergreen Staff Client}"; Filename: "http://evergreen-ils.org/" Name: "{group}\{cm:UninstallProgram,Evergreen Staff Client}"; Filename: "{uninstallexe}" Name: "{commondesktop}\Evergreen Staff Client 2.0alpha"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: desktopicon; IconFilename: "{app}\Evergreen2.ico"; Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Evergreen Staff Client 2.0alpha"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: quicklaunchicon; IconFilename: "{app}\Evergreen2.ico"; [Run] Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Description: "{cm:LaunchProgram,Evergreen Staff Client}"; Flags: nowait postinstall skipifsilent
This is what phasefx did for 2.0 alpha1.
Same steps as 1.6. Using Inno Setup 5.3.10-unicode and xulrunner 1.9.2.8. I also tweaked the UUID and default app directory. Trying to install over top of an existing EG1.6 installation will break things, I spent too much time trying to figure out how to clean things up correctly during install, so ended up punting.
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! [Setup] ; NOTE: The value of AppId uniquely identifies this application. ; Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{4857C16C-821A-4A8D-ACED-22F73D9C1FCC} AppName=Evergreen Staff Client 2.0alpha AppVerName=Evergreen Staff Client v2.0alpha1 AppPublisher=Evergreen Community AppPublisherURL=http://evergreen-ils.org/ AppSupportURL=http://evergreen-ils.org/ AppUpdatesURL=http://evergreen-ils.org/ DefaultDirName={pf}\Evergreen Staff Client 2.0alpha DefaultGroupName=Evergreen Staff Client 2.0alpha AllowNoIcons=yes OutputBaseFilename=evergreen-setup Compression=lzma SolidCompression=yes PrivilegesRequired=none [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl" Name: "french"; MessagesFile: "compiler:Languages\French.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Documents and Settings\Jason Etheridge\Desktop\staff_clients\xulrunner-1.9.2.8.en-US.win32\xulrunner\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Documents and Settings\Jason Etheridge\Desktop\staff_clients\build\*"; DestDir: "{app}\build\"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Documents and Settings\Jason Etheridge\Desktop\staff_clients\Evergreen2.ico"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{group}\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; IconFilename: "{app}\Evergreen2.ico"; Name: "{group}\{cm:ProgramOnTheWeb,Evergreen Staff Client}"; Filename: "http://evergreen-ils.org/" Name: "{group}\{cm:UninstallProgram,Evergreen Staff Client}"; Filename: "{uninstallexe}" Name: "{commondesktop}\Evergreen Staff Client 2.0alpha"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: desktopicon; IconFilename: "{app}\Evergreen2.ico"; Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Evergreen Staff Client 2.0alpha"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: quicklaunchicon; IconFilename: "{app}\Evergreen2.ico"; [Run] Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Description: "{cm:LaunchProgram,Evergreen Staff Client}"; Flags: nowait postinstall skipifsilent
Evergreen 1.6
This is what bshum did for 1.6.2.3, 1.6.1.8, and 1.6.1.9.
Same steps as before. Using Inno Setup 5.4.0-unicode and xulrunner 1.9.0.17.
This is what brian_f did for 1.6.2.2 and 1.6.1.7.
Same steps as before. Using Inno Setup 5.4.0-unicode and xulrunner 1.9.0.17.
This is what bshum did for 1.6.2.0 and 1.6.1.6.
Same steps as before. Using Inno Setup 5.4.0-unicode and xulrunner 1.9.0.17.
This is what phasefx did for 1.6.1.5 and 1.6.2.0.rc1.
Same steps as before. Using Inno Setup 5.3.10-unicode and xulrunner 1.9.0.17.
This is what bshum did for 1.6.1.4 and 1.6.0.10.
Same steps as before. Using Inno Setup 5.4.0-unicode and xulrunner 1.9.0.17.
This is what phasefx did for 1.6.1.1 and 1.6.0.6.
Same steps as before. Using Inno Setup 5.3.10-unicode and xulrunner 1.9.0.17.
This is what phasefx did for 1.6.1.0.
Identical to what phasefx did for 1.6.0.4, except changed references to the Evergreen version, and used Inno Setup 5.3.10-unicode.
This is what phasefx did for 1.6.0.5.
Identical to what phasefx did for 1.6.0.4, except changed references to the Evergreen version.
This is what phasefx did for 1.6.0.4.
wget http://evergreen-ils.org/downloads/Evergreen-ILS-1.6.0.4.tar.gz tar xvf Evergreen-ILS-1.6.0.4.tar.gz cd Evergreen-ILS-1.6.0.4/ ./configure --disable-core --disable-web --disable-reporter cd Open-ILS/xul/staff_client/ make STAFF_CLIENT_BUILD_ID=rel_1_6_0_4 build rm -rf build/server/
Innosetup 5.3.9-unicode xulrunner 1.9.0.17 (which is no longer available from Mozilla)
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! [Setup] ; NOTE: The value of AppId uniquely identifies this application. ; Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{9CA92222-9B1A-421A-BE6E-F18E44E40D7F} AppName=Evergreen Staff Client AppVerName=Evergreen Staff Client v1.6.0.4 AppPublisher=Evergreen Community AppPublisherURL=http://evergreen-ils.org/ AppSupportURL=http://evergreen-ils.org/ AppUpdatesURL=http://evergreen-ils.org/ DefaultDirName={pf}\Evergreen Staff Client DefaultGroupName=Evergreen Staff Client AllowNoIcons=yes OutputBaseFilename=evergreen-setup Compression=lzma SolidCompression=yes PrivilegesRequired=none [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl" Name: "french"; MessagesFile: "compiler:Languages\French.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Documents and Settings\phasefx\Desktop\staff client\xulrunner-1.9.0.17.en-US.win32\xulrunner\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Documents and Settings\phasefx\Desktop\staff client\build\*"; DestDir: "{app}\build\"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Documents and Settings\phasefx\Desktop\staff client\Evergreen2.ico"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{group}\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; IconFilename: "{app}\Evergreen2.ico"; Name: "{group}\{cm:ProgramOnTheWeb,Evergreen Staff Client}"; Filename: "http://evergreen-ils.org/" Name: "{group}\{cm:UninstallProgram,Evergreen Staff Client}"; Filename: "{uninstallexe}" Name: "{commondesktop}\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: desktopicon; IconFilename: "{app}\Evergreen2.ico"; Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: quicklaunchicon; IconFilename: "{app}\Evergreen2.ico"; [Run] Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Description: "{cm:LaunchProgram,Evergreen Staff Client}"; Flags: nowait postinstall skipifsilent
This is what phasefx did for 1.6.0.1.
This time I took the staff_client/build/ directory from Dan's virtual image build, and deleted the /server/ sub-directory.
I grabbed the 1.9.0.17 version of xulrunner.
I upgraded InnoSetup to version 5.3.7(a), the non-Unicode build. I used the same Evergreen2.ico file.
And I used this version of the installer script:
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! [Setup] ; NOTE: The value of AppId uniquely identifies this application. ; Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{9CA92222-9B1A-421A-BE6E-F18E44E40D7F} AppName=Evergreen Staff Client AppVerName=Evergreen Staff Client v1.6.0.1 AppPublisher=Evergreen Community AppPublisherURL=http://evergreen-ils.org/ AppSupportURL=http://evergreen-ils.org/ AppUpdatesURL=http://evergreen-ils.org/ DefaultDirName={pf}\Evergreen Staff Client DefaultGroupName=Evergreen Staff Client AllowNoIcons=yes OutputBaseFilename=evergreen-setup Compression=lzma SolidCompression=yes PrivilegesRequired=none [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl" Name: "french"; MessagesFile: "compiler:Languages\French.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Documents and Settings\phasefx\Desktop\staff clients\xulrunner-1.9.0.17.en-US.win32\xulrunner\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Documents and Settings\phasefx\Desktop\staff clients\build\*"; DestDir: "{app}\build\"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Documents and Settings\phasefx\Desktop\staff clients\Evergreen2.ico"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{group}\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; IconFilename: "{app}\Evergreen2.ico"; Name: "{group}\{cm:ProgramOnTheWeb,Evergreen Staff Client}"; Filename: "http://evergreen-ils.org/" Name: "{group}\{cm:UninstallProgram,Evergreen Staff Client}"; Filename: "{uninstallexe}" Name: "{commondesktop}\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: desktopicon; IconFilename: "{app}\Evergreen2.ico"; Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: quicklaunchicon; IconFilename: "{app}\Evergreen2.ico"; [Run] Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Description: "{cm:LaunchProgram,Evergreen Staff Client}"; Flags: nowait postinstall skipifsilent
This is what phasefx did for 1.6.0.0.
First, I used a Linux machine with all the prerequisites for Evergreen already installed.
mkdir eg_releases cd eg_releases wget http://open-ils.org/downloads/Evergreen-ILS-1.6.0.0.tar.gz tar xfz Evergreen-ILS-1.6.0.0.tar.gz cd Evergreen-ILS-1.6.0.0 ./configure --disable-core --disable-web --disable-reporter cd Open-ILS/xul/staff_client/ make STAFF_CLIENT_BUILD_ID=rel_1_6_0_0 install rm -rf build/server/
The build/ directory now contains the local code for the staff client, and if you were to point xulrunner to build/application.ini the client would start. Our goal however is create a Windows version of the staff client where a suitable version of xulrunner is bundled with that build/ directory together with an installation program. For this, I've been using Inno Setup on a Windows machine, though I've also used Inno Setup successfully with WINE on Linux.
So I copied build/ to a Windows machine and with Inno Setup installed (specifically, Inno Setup 5.3.4 with Unicode support).
I downloaded the latest 1.9 release of xulrunner for Windows. I also downloaded the Evergreen2.ico file.
Then I fed Inno Setup a script similar to this one and renamed the evergreen-setup.exe file it produced:
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! [Setup] ; NOTE: The value of AppId uniquely identifies this application. ; Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{9CA92222-9B1A-421A-BE6E-F18E44E40D7F} AppName=Evergreen Staff Client AppVerName=Evergreen Staff Client v1.6.0.0 AppPublisher=Evergreen Community AppPublisherURL=http://evergreen-ils.org/ AppSupportURL=http://evergreen-ils.org/ AppUpdatesURL=http://evergreen-ils.org/ DefaultDirName={pf}\Evergreen Staff Client DefaultGroupName=Evergreen Staff Client AllowNoIcons=yes OutputBaseFilename=evergreen-setup Compression=lzma SolidCompression=yes PrivilegesRequired=none [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl" Name: "french"; MessagesFile: "compiler:Languages\French.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Documents and Settings\phasefx\Desktop\staff client\xulrunner-1.9.0.13.en-US.win32\xulrunner\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Documents and Settings\phasefx\Desktop\staff client\build\*"; DestDir: "{app}\build\"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Documents and Settings\phasefx\Desktop\staff client\Evergreen2.ico"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{group}\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; IconFilename: "{app}\Evergreen2.ico"; Name: "{group}\{cm:ProgramOnTheWeb,Evergreen Staff Client}"; Filename: "http://evergreen-ils.org/" Name: "{group}\{cm:UninstallProgram,Evergreen Staff Client}"; Filename: "{uninstallexe}" Name: "{commondesktop}\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: desktopicon; IconFilename: "{app}\Evergreen2.ico"; Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: quicklaunchicon; IconFilename: "{app}\Evergreen2.ico"; [Run] Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Description: "{cm:LaunchProgram,Evergreen Staff Client}"; Flags: nowait postinstall skipifsilent
Obviously, the hardcoded "C:\Documents and Settings\phasefx\…" would not be applicable to other users. There is probably another {variable} that should be inserted there.
Evergreen 1.4
This is what phasefx did for 1.4.0.6.
First, I used a Linux machine with all the prerequisites for Evergreen already installed.
mkdir eg_releases cd eg_releases wget http://open-ils.org/downloads/Evergreen-ILS-1.4.0.6.tar.gz tar xfz Evergreen-ILS-1.4.0.6.tar.gz cd Evergreen-ILS-1.4.0.6 ./configure --disable-core --disable-web --disable-reporter cd Open-ILS/xul/staff_client/ make STAFF_CLIENT_BUILD_ID=rel_1_4_0_6 install rm -rf build/server/
The build/ directory now contains the local code for the staff client, and if you were to point xulrunner to build/application.ini the client would start. Our goal however is create a Windows version of the staff client where a suitable version of xulrunner is bundled with that build/ directory together with an installation program. For this, I've been using Inno Setup on a Windows machine, though I've also used Inno Setup successfully with WINE on Linux.
So I copied build/ to a Windows machine and with Inno Setup installed (specifically, Inno Setup 5.3.4 with Unicode support).
I downloaded the latest 1.8 contrib release of xulrunner for Windows. The 1.6 and trunk versions of Evergreen use the 1.9 series of xulrunner, but for 1.4.0.6 we're sticking with 1.8.1.3. I also downloaded the Evergreen2.ico file.
Then I fed Inno Setup a script similar to this one and renamed the evergreen-setup.exe file it produced:
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! [Setup] ; NOTE: The value of AppId uniquely identifies this application. ; Do not use the same AppId value in installers for other applications. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppId={{9CA92222-9B1A-421A-BE6E-F18E44E40D7F} AppName=Evergreen Staff Client AppVerName=Evergreen Staff Client v1.4.0.6 AppPublisher=Evergreen Community AppPublisherURL=http://evergreen-ils.org/ AppSupportURL=http://evergreen-ils.org/ AppUpdatesURL=http://evergreen-ils.org/ DefaultDirName={pf}\Evergreen Staff Client DefaultGroupName=Evergreen Staff Client AllowNoIcons=yes OutputBaseFilename=evergreen-setup Compression=lzma SolidCompression=yes PrivilegesRequired=none [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl" Name: "french"; MessagesFile: "compiler:Languages\French.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Documents and Settings\phasefx\Desktop\staff client\xulrunner-1.8.1.3.en-US.win32-20080128\xulrunner\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Documents and Settings\phasefx\Desktop\staff client\build\*"; DestDir: "{app}\build\"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Documents and Settings\phasefx\Desktop\staff client\Evergreen2.ico"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{group}\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; IconFilename: "{app}\Evergreen2.ico"; Name: "{group}\{cm:ProgramOnTheWeb,Evergreen Staff Client}"; Filename: "http://evergreen-ils.org/" Name: "{group}\{cm:UninstallProgram,Evergreen Staff Client}"; Filename: "{uninstallexe}" Name: "{commondesktop}\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: desktopicon; IconFilename: "{app}\Evergreen2.ico"; Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: quicklaunchicon; IconFilename: "{app}\Evergreen2.ico"; [Run] Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Description: "{cm:LaunchProgram,Evergreen Staff Client}"; Flags: nowait postinstall skipifsilent
Evergreen 1.2
This is what phasefx did for the tags/rel_1_2_1_1 release:
svn co svn://svn.open-ils.org/ILS/tags/rel_1_2_1_1 cd rel_1_2_1_1/Open-ILS/xul/staff_client/ make STAFF_CLIENT_BUILD_ID=rel_1_2_1_1
Then elsewhere, I made sure I had pristine copy of xulrunner:
unzip xulrunner-1.8.1.3.en-US.win32.zip
Then I used the Inno Setup Compiler version 5.1.14 with a script resembling this (I'm just changing it slightly):
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! [Setup] AppName=Evergreen Staff Client Example AppVerName=Evergreen Staff Client v1.2.1.1 Example AppPublisher=Evergreen Community AppPublisherURL=http://open-ils.org/ AppSupportURL=http://open-ils.org/ AppUpdatesURL=http://open-ils.org/ DefaultDirName={pf}\Evergreen Staff Client DefaultGroupName=Evergreen Staff Client AllowNoIcons=yes OutputBaseFilename=evergreen-setup Compression=lzma SolidCompression=yes PrivilegesRequired=none [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" Name: "french"; MessagesFile: "compiler:Languages\French.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Documents and Settings\phasefx\Desktop\staff clients\xulrunner-1.8.1.3.en-US.win32\xulrunner\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Documents and Settings\phasefx\Desktop\staff clients\Evergreen2.ico"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\cygwin\home\phasefx\rel_1_2_1_1\Open-ILS\xul\staff_client\build\*"; DestDir: "{app}\build\"; Flags: ignoreversion recursesubdirs createallsubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{group}\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; IconFilename: "{app}\Evergreen2.ico"; Name: "{group}\{cm:ProgramOnTheWeb,Evergreen Staff Client}"; Filename: "http://open-ils.org/" Name: "{group}\{cm:UninstallProgram,Evergreen Staff Client}"; Filename: "{uninstallexe}" Name: "{commondesktop}\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: desktopicon; IconFilename: "{app}\Evergreen2.ico"; Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Evergreen Staff Client"; Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Tasks: quicklaunchicon; IconFilename: "{app}\Evergreen2.ico"; [Run] Filename: "{app}\xulrunner.exe"; WorkingDir: "{app}\build\"; Parameters: application.ini; Description: "{cm:LaunchProgram,Evergreen Staff Client}"; Flags: nowait postinstall skipifsilent
The paths to xulrunner and the staff client build/ directory are the most important things to change.
When you compile the package, it creates an evergreen-setup.exe file. In this case, I renamed it to evergreen-setup-rel_1_2_1_1.exe
Here is the Evergreen2.ico file