This readme describes how the .msi installer is created for Brackets on Windows.
Normally, the installer scripts are run from a specific pre-set-up build machine. These are instructions for setting up a new build machine:
- Download Ant; unzip it into a path (ideally a path with no spaces -- see below)
- Download & install a JDK (the full SDK, not just a JRE)
- Set
ANT_HOME
to the path to Ant. Must not contain spaces -- if target dir does have spaces, use the DOS-style path mapping (e.g.c:\progra~1\...
) - Set
JAVA_HOME
to the path to Java. Must not contain spaces -- same as above. - Add
%ANT_HOME%\bin
to the PATH - Download & install Wix 3.5
- Get the MsiTran.exe tool:
- Option A: If you have Visual Studio installed, look in C:\Program Files\Microsoft SDKs\Windows\v??\bin to locate it
- Option B: Follow the instructions here to download the Windows SDK ISO and extract just the bit you need
- Option C: Download the full Windows SDK online installer. On the "Installation Options" screen, uncheck everything but "Win32 Development Tools"
- Copy it to (wix-install-dir)\bin
- Get the WiSubStg.vbs and WiLangId.vbs scripts:
- Option A: Follow the instructions here to download the Windows SDK ISO and extract just the bit you need
- Option B: Download the full Windows SDK online installer. On the "Installation Options" screen, uncheck everything but "Samples"
- Copy these two files to (wix-install-dir)\bin
- You may need to locally edit
wix.base
in brackets-win-install-build.xml if the Wix install folder doesn't match what's hardcoded there git clone
the brackets and brackets-shell Git repos- Set
BRACKETS_SRC
to the root folder of the brackets repo
- Open brackets-win-install-build.xml and change
product.sprint.number
- Open brackets-shell\appshell\cefclient.rc and change
FILEVERSION
and"FileVersion"
- Open brackets-shell\appshell\mac\Info.plist and change
CFBundleVersion
- Open brackets\src\package.json and change
"version"
- For the Mac build, open brackets-shell/installer/mac/buildInstaller.sh and change
releaseName
- Edit ABOUT_TEXT_LINE1 in nls/*/strings.js with the new sprint number (have to do this manually for all languages besides French)
- Sync both the brackets and brackets-shell repos
- Be sure to update submodules in brackets
- Double check that your git status is clean
- Update sprint number as needed (see previous section)
- Build brackets-shell
- This cannot be done on the build machine yet, so generate a copy elsewhere and copy it into brackets-shell\Release on the build machine
- Follow instructions in brackets-shell\installer\win\stageForInstaller.bat to run it
- This will generate brackets-shell\installer\win\staging
- Follow instructions in brackets-shell\installer\win\setBuildNumber.sh to run it (in the Git Bash window)
- This will inject the build number, branch, and SHA into the staged package.json file
- Run
ant -f brackets-win-install-build.xml
in installer\win\staging- Output is "Brackets Sprint NN.msi"
- This creates lots of intermediate files, too. To clean them up, run the
clean.temp
target - Note: you'll see two sets of five warning messages saying "The file ... is not a Font, and its version is not a companion file reference." These are safe to ignore - see issue #1471. (Just make sure the end of each chunk of output doesn't list any errors).