Difference between revisions of "Release Process/Win"

From Audacity Wiki
Jump to: navigation, search
m (Build the executable)
m (Release Build)
Line 6: Line 6:
* [[Editing audacity.sourceforge.net]]
* [[Editing audacity.sourceforge.net]]
* {{path|win/compile.txt}} or the [http://audacity.googlecode.com/svn/audacity-src/trunk/win/compile.txt online version] for how to build the executables}}  
* {{path|win/compile.txt}} or the [http://audacity.googlecode.com/svn/audacity-src/trunk/win/compile.txt online version] for how to build the executables}}  
==Release Build==
There is just one type of release build for Windows, contained
in the MSVC project configurations:
Unicode_Release (for 2000/XP/Vista and later).
== Build the executable in Unicode Release configuration ==
== Build the executable in Unicode Release configuration ==

Revision as of 03:43, 10 August 2012

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 e-mail audacity-devel_AT_lists_DOT_sourceforge_DOT_net.
Related article(s):

Build the executable in Unicode Release configuration

  1. Check that your build of wxWidgets is the agreed version for this release and that it includes the modified setup.h that switches on accessibility features (see step 2 of compile.txt).
  2. Make sure you have a current source version from SVN.
  3. Make sure to turn off ASIO support (see step 5 compile.txt) if you are creating the installer for public release. We cannot publicly post a build that supports ASIO, for licensing reasons (more detail in compile.txt).
  4. Make sure you have the DirectSound SDK installed so the build will support DirectSound (see step 5 of compile.txt).
  5. Check that the following #defines in Audacity.h are up-to-date:
    • IS_ALPHA
    • IS_BETA

  • It's possibly safer to not only do a Build > Clean Solution beforehand, but to also delete the directory (e.g., audacity\win\unicode_release) -- all except the five wxWidgets DLL'S, per compile.txt step 7. Safest of all is a fresh checkout.
  • If you just Build (as you updated earlier and there were no changes) then be sure to compile AboutDialog.cpp, so that the "Program build date: " is correct in About -> Build Information. (This needs automating. That probably means turning off incremental builds for Unicode Release configuration.)
  • Make sure to build the "locale" project, either separately or as part of Build > Batch Build. You will need msgfmt.exe in your PATH for that. Get it from http://audacity.sourceforge.net/files/msgfmt.zip.

Copy other necessities to release build folder

  1. We are still keeping some of the LADSPA plug-ins 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. We include gverb_1216.dll, hard_limiter_1413.dll and sc4_1882.dll. So:
    1. Check http://plugin.org.uk/ for updates.
    2. If none, just grab the dlls from a previous release.
    3. If updated, build these via the audacity\win\LADSPA_plugins-win project (see audacity\win\LADSPA_plugins-win\readme_LADSPA_plugins-win.txt).
    4. Once you have these DLL files, put them in the plug-ins folder, e.g., audacity\win\unicode_release\plug-ins.
  2. Make sure you copied to the build folder the appropriate wxWidgets DLLs from C:\wxWidgets-2.8.10\lib\vc_dll. For details, refer to "Provide access to the wxWidgets DLLs" at "MSVC++ STEP 7: Build Audacity" in building guide (compile.txt).
  3. Adding wxstd.mo files to the "Languages" folder in the Audacity build directory is now automated. This next step needs automating as well:
    1. Go to the newly added "gl_ES" and "zh_CN" folders in turn and copy the "wxstd.mo" files from each into the "gl" and zh" folders respectively.
    2. Delete the "gl_ES" and "zh_CN" folders.


You need to include the manual into the tree. The appropriate one should be available on Google code http://code.google.com/p/audacity 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 version on http://code.google.com/p/audacity to audacity\help\ by first browsing into the help folder of the zip.

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

Build the Installer

  1. Install the latest Unicode Inno Setup (http://www.jrsoftware.org/isinfo.php).
  2. Open the Inno Setup script:
    • audacity\win\audacity.iss
  3. Change the version strings as necessary. These are like these for the normal Release:
    • OutputBaseFilename=audacity-win-2.0.2
    • AppVerName=Audacity 2.0.2
    • DefaultDirName={pf}\Audacity
  4. Compile and test the installer.
    • Delete any existing folder that you intend to install to (see below).
    • 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 come to making the zip).
    • The result appears in audacity\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 mw2html.py script and cause it to leave in / miss out some vital bits.
  6. Rename it as a release candidate, e.g. "audacity-win-2.0.1rc1.exe" for "release candidate 1".

Create the zip version

  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. "audacity-win-2.0.1rc1.zip".


  1. Put the release candidate on http://code.google.com/p/audacity/downloads/list for other people to test. Mark any previous rc as 'Deprecated'.
  2. Publicise this on audacity-devel, audacity-quality and audacity-translation.
  3. Ask people to test the installer in both a fresh directory and over the top of previous recent and older versions.
    • Hopefully people can test both cases on several Win OSes, like XP and 7.
  4. If changes are necessary, name successive candidates rcN and deprecate the previous version.
  5. 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.