Release Process/Win

From Audacity Wiki
Revision as of 18:09, 29 August 2016 by James (talk | contribs) (Fixing problems with .isl files.)
Jump to: navigation, search

This page provides an overview of how to build Audacity(R) Releases for Microsoft Windows(R).
If the advice here is inaccurate or incomplete, please email audacity-devel_AT_lists_DOT_sourceforge_DOT_net.
Related article(s):

Build the Release Executable

  1. Check that your built version of wxWidgets is correct per compile.txt and includes our three patches, and in particular switches on accessibility features, (step 2.2 of compile.txt).
  2. Check #define IS_ALPHA. Must be 0 for releases.
  3. Make sure you have current source code from our source code repository.
  4. Turn off ASIO support (step 5.4 in compile.txt). We cannot publicly post a build that supports ASIO, for licensing reasons (detailed there).
  5. Make sure the build configuration is set to Release.
  6. Do a full *rebuild*, making sure it includes the 'locale' project.
  • For the "locale" project, you will need msgfmt.exe in your PATH. Get the latest gettext-tools-static-*.zip from
  • It's possibly safer to not only do Build > Clean Solution beforehand, but to also delete the directory (e.g., audacity-src\win\release) -- all except the seven wxWidgets DLL'S, per compile.txt step 7, or you will have to copy them back in. Safest of all is a fresh checkout.

Copy Other Necessities to Release Build Folder

  1. Copy the redistributable Windows DLL's msvcp120.dll and msvcr120.dll from wherever they are on your system (see audacity.iss) into audacity-src\win\release\
  2. We are still keeping one of the LADSPA plug-ins (sc4_1882.dll) in the Audacity installer, even though we are now offering a separate installer that includes all the LADSPA plug-ins built from version 0.4.15. So:
    1. Check for updates. As of 2015 these have not been updated for several years. Development has moved to LV2, so further updates are not likely.
      1. If none, just grab the DLL's from a previous release.
      2. If updated, build these via the audacity-src\win\LADSPA_plugins-win project (see audacity-src\win\LADSPA_plugins-win\readme_LADSPA_plugins-win.txt).
    2. Once you have these DLL files, put them in the "Plug-Ins" folder, e.g., audacity-src\win\release\plug-ins.
  3. Make sure you copied to the build folder the appropriate wxWidgets DLLs per "Provide access to the wxWidgets DLLs" at "MSVC++ STEP 7: Build Audacity" in compile.txt.
  4. Adding files to the "Languages" folder in the Audacity build directory is automated. This next steps need automating as well:
    1. Open the "gl_ES", "ko_KR" and "pt" folders in turn and move the "" file in each to the "gl", "ko" and pt_PT folders respectively.
    2. Delete the "gl_ES", ko_KR and "pt" folders.


You need to include the manual into the tree. The appropriate one should be available at the code repository folder(s) for this release, as a result of Create Local Manual and Release Process. If you are rolling your own, take a look at Create Local Manual.

You need to unzip the 'manual' folder from the code repository folder(s) for this release to audacity-src\help\ by first browsing into the help folder of the zip.

You should end up with a working audacity-src\help\manual\ for the installer script to find.

Build the Installer

  1. Install the latest Unicode Inno Setup ( Generally we will use the same version of Inno throughout a release cycle, even if for example a new Inno becomes available between frozen and RC1 or between RC1 and RC2. We thus don't need extra time retesting the installer. If a new Inno version fixes a bug that was blocking release, then we might update the Inno installer as the best way to fix the bug.
    1. If installing on Windows 10, you will need to set permissions on the C:\Program Files (x86)\Inno Setup 5\Languages\dummy directory to allow .isl files to be written there. You will also need to obtain the 'unofficial' .isl files yourself and place them in C:\Program Files (x86)\Inno Setup 5\Languages\unofficial. They aren't installed by inno setup, but you can obtain them from GiitHub. Easiest way to do that is to download the zip of and copy just those files out from it.
  2. Open the Inno Setup script:
    • audacity-src\win\audacity.iss
  3. Audacity version numbers are generated automatically from the version numbers in our source code, so there should be no version changes needed. Consider people who install over an existing release. Could there be files / directories left that we no longer ship (plug-ins etc.)? If there are:
    • Add those files / directories to the [InstallDelete] section of the iss file.
  4. Compile and test the installer.
    • Delete any existing folder that you intend to install to (per previous iteration of next step).
    • Install to 'Audacity', or as agreed for other versions (you may be offered something else, depending on your previous installation status) (this is important when it comes to making the zip).
    • The result appears in audacity-src\win\Output.
  5. Check the inbuilt manual to make sure that the 'look' is pretty similar to the previous version. Some changes to style sheets may 'break' the script and cause it to leave in / miss out some vital bits.
  6. Try installing over a couple of previous versions and make sure that the file structure is the same as a clean install.
  7. Rename it as a release candidate, e.g., "audacity-win-2.0.1rc1.exe" for "release candidate 1".

Create the .zip File

  1. Go to to the installed version, e.g., C:\Program Files\Audacity.
  2. Remove the unins*.* files and the "help" folder.
  3. Zip the folder and rename it, e.g., "".


  1. Put the release candidate files for this release on FossHub for open testing. Tell RM, so that when all platforms are ready, the release cycle for this rc can be announced.
    • Ask people to test the installer in both a fresh directory and over the top of previous recent and older versions.
    • Ask people to test both cases on several Win OSes, like XP and 7.
  2. If changes are necessary, name successive candidates rcN and deprecate the previous version.
  3. When the final rcN is approved, remove the rcN suffix from the name on the exe and zip files. Those are then the release installer and zip.