Skip to content
Fetching latest commit…
Cannot retrieve the latest commit at this time.
..
Failed to load latest commit information.
Brackets.wxs
Brackets_en-us.wxl
Brackets_fr-fr.wxl
BrowseDlg.wxs
ExitDialog.wxs
InstallDirDlg.wxs
LicenseAgreementDlg.wxs
MaintenanceWelcomeDlg.wxs
MaintenanceWelcomeDlg_src.wxs
PrepareDlg.wxs
ProgressDlg.wxs
README.MD
ResumeDlg.wxs
UserExit.wxs
VerifyReadyDlg.wxs
WelcomeDlg.wxs
WelcomeEulaDlg.wxs
WixUI_InstallDir.wxs
WixUI_en-us.wxl
appicon.ico
brackets-win-install-build.xml
setBuildNumber.sh
stageForInstaller.bat
win_install_banner.jpg

README.MD

Overview

This readme describes how the .msi installer is created for Brackets on Windows.

System setup

Normally, the installer scripts are run from a specific pre-set-up build machine. These are instructions for setting up a new build machine:

  1. Download Ant; unzip it into a path (ideally a path with no spaces -- see below)
  2. Download & install a JDK (the full SDK, not just a JRE)
  3. 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\...)
  4. Set JAVA_HOME to the path to Java. Must not contain spaces -- same as above.
  5. Add %ANT_HOME%\bin to the PATH
  6. Download & install Wix 3.5
  7. 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
  8. 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
  9. 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
  10. git clone the brackets and brackets-shell Git repos
  11. Set BRACKETS_SRC to the root folder of the brackets repo

To rev the Brackets sprint number

  1. Open brackets-win-install-build.xml and change product.sprint.number
  2. Open brackets-shell\appshell\cefclient.rc and change FILEVERSION and "FileVersion"
  3. Open brackets-shell\appshell\mac\Info.plist and change CFBundleVersion
  4. Open brackets\src\package.json and change "version"
  5. For the Mac build, open brackets-shell/installer/mac/buildInstaller.sh and change releaseName
  6. Edit ABOUT_TEXT_LINE1 in nls/*/strings.js with the new sprint number (have to do this manually for all languages besides French)

To build the Brackets installer

  1. Sync both the brackets and brackets-shell repos
    • Be sure to update submodules in brackets
    • Double check that your git status is clean
  2. Update sprint number as needed (see previous section)
  3. 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
  4. Follow instructions in brackets-shell\installer\win\stageForInstaller.bat to run it
    • This will generate brackets-shell\installer\win\staging
  5. 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
  6. 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).
Something went wrong with that request. Please try again.