Version 19 (modified by 7 years ago) (diff) | ,
---|
Building a Windows installer for the BOINC client
Get the current project list:
wget https://boinc.berkeley.edu/project_list.php
Copy the result to win_build/installerv2/redist/all_project_list.xml, and commit it.
On the build machine:
- Make sure you have current dependent libraries.
- Build the client using VS2010 (at some point we'll switch to VS 2015).
- Delete developr/David/symstore in the dependencies tree (remove old symbols)
- Build the win_build/boinc.sln solution (Release, 32/64 bit)
- If custom actions have changed, copy boinccas.dll from win_build/Build/x64/Release to win_build/installerv2/redist/Windows/x64 (and same for x86).
- Set up boinc_codesign directory (peer of boinc/):
copy boinc.pfx and android_keystore (get these files from davea or Rom)
- Copy customdict.txt and customenv.cmd to
boinc_depends_xxx/developr/David (or whatever your username is).
- Edit customdict.txt to point to where boinc_codesign dir is,
e.g. BUILDCODESIGN=C:\users\David\documents\boinc_git\boinc_codesign (don't use spaces in path).
- Run Visual Studio shell:
in start menu, Microsoft Visual Studio 2010 / Visual Studio Tools/ Visual Studio Command Prompt
- On shell command line:
cd "c:/users/David/documents/boinc_git/boinc_7.8/win_build/" [or whatever the branch directory is] buildenv.cmd type release platform x64 [ screen turns blue to indicate release mode ] codesign updatesymstore buildenv.cmd type release platform x86 codesign updatesymstore deploysymstore (enter boincadm password)(stores are on isaac in boinc/doc/symstore)
(updatesymstore and deploysymstore are scripts in the depends directory; clean out boinc_depends_win_vs2010/developr/David/symstore first).
- Make sure you have the latest VirtualBox and Extension Pack.
- Run the Installshield VM (BOINC Windows Installer.vbox)
In the VM:
- Start / My computer / Z: (takes you to c: drive of host)
- go to c:/users/David/documents/boinc_git/boinc_7.x/win_build/installerv2
- 1) open BOINC.ism
- in Installation Designer tab:
- click on General Information
- Product version: set
- Product code: get new one (at right)
- don't change Upgrade Code!
- select Media / Releases in navbar:
- select Releases/Webx86 in dir tree (or Webx64 for 64 bit)
- change Setup File Name
- File / Save
- Build / batch build
- check box next to Webx86/64, click Build
- go to 1); Same for BOINC_vbox.ism, BOINCx64.ism, BOINCx64_vbox.ism
- installers end up on host in boinc_7.x/win_build/installerv2/BOINCx64/WEBx64/Web/DiskImages/DISK1/boincxxx.exe (that's the file you copy to boinc/doc/dl on isaac)
Updating VirtualBox in installers
The version of vbox in the installer is the one in the installer VM. To update this:
- On the host, download the version you want from the vbox site (this includes 32 and 64 bit).
- From the cmd prompt, cd to ~/Downloads and Extract the various components from the VirtualBox installer via:
VirtualBox-4.3.20-96996-Win.exe --extract --path c:\temp\virtualbox43
(change 4.3.20-96996 and 43 based on the version you downloaded). - This produces:
VirtualBox-xxx-amd64.msi VirtualBox-xxx.x86.msi Common.cab
In the VM:
- Go to c:/program files/InstallShield/2011/SetUpPrerequisites
- Copy the above 3 files into this dir; delete older versions of them first.
- Rename Oracle VM VirtualBox xxx (x64).prq to new version; same for x86
- Run !Installshield: Start/All Programs/Installshield/Installshield 2011
- select Tools/Prerequisite Editor
- 1) File/Open, open the Oracle VM Virtualbox 5.x.xx (x64).prq file
- Remove the 2 existing files; add the new ones (common.cab and xxx.msi).
- select Conditions tab
- double click on HKEY_LOCAL....
- change version number there
- select Application to Run tab
- update the filename to the new .msi file
- select Properties tab
- Change description to new version #
- save, close dialog
- double-click boincx64_vbox.ism
- Select Application Data / Redistributables
- In list of files, check box for new .prq file (32 or 64 as appropriate).
- save project
- Go to 1); same thing for x86