= Building a Windows installer for the BOINC client = On the build machine: * [CompileClient Build the client] using VS2010 (at some point we'll switch to VS 2015). Build solution (Release/debug, 32/64 bit) Make sure you have current [AdminDepLibs dependent libraries]. 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/win_build/" 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 depends directory) Make sure you 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/win_build/installerv2 * open BOINC_x64 (for 64 bit) or 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/Webx64 in dir tree * change Setup File Name * File / Save * Build / batch build * check box next to Webx64, click Build * Same for BOINC_vbox.ism, etc. * installers end up on host in boinc/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 !InstallShield == 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). * 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 Tools/Prerequisite Editor File/Open (open the Oracle VM .prq file) Remove the 2 existing files; add the new ones. 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 # Open boinc_vbox_x64.ism In Installshield, select Application Data / Redistributables In list of files, check boxes for new .prq file (32 or 64 as appropriate).