Release Process/Win

From Audacity Wiki
Revision as of 03:31, 2 February 2010 by Aldimond (talk | contribs) (Copy other necessities to release build folder)
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 e-mail audacity-devel_AT_lists_DOT_sourceforge_DOT_net.
Related article(s):

Release Builds

There are currently two types of release builds for Windows, contained in the MSVC project configurations: Release (for Windows 98/ME) and Unicode_Release (for 2000/XP/Vista and later). These instructions apply for either one, but example values are for Unicode_Release.


Remove the old manual and make sure you can rebuild a new one:

  1. Make sure you have Python installed and on your PATH.
  2. Delete audacity\help\manual if it exists.
  3. The manual should be built in audacity\help\manual by the main Solution (See "Build the executable" below).
  4. If you have disabled the 'Help' project during testing you will have to build it separately.
  5. If you just want to get the manual, go to audacity\scripts\mw2html_audacity, run wiki2htm and wait for it to complete.

Build the executable

  1. Make sure you have a current source version from CVS.
  2. Make sure to turn off ASIO support (see 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).
  3. Check that the following #defines in Audacity.h are up-to-date:
    • IS_BETA
    Especially check the overriding "-alpha-<date>" line. (Vaughan believes we have never changed AUDACITY_MODLEVEL, so it can be ignored.)

  • It's a good idea to not only do a Build > Clean Solution beforehand, but to also delete the directory (e.g., audacity\win\unicode_release).
  • 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

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 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 5: Build Audacity" in "compile.txt".
  3. We currently manually add files to the "Languages" folder in the Audacity build directory. This may be automated in future. Until then:
    1. Go to and download "".
    2. Extract the contents into the "Languages" folder. You want each file in the appropriate language directory/folder.
    3. Go to the newly added "gl_ES" and "zh_CN" folders in turn and copy the "" files from each into the "gl" and zh" folders respectively.
    4. Delete the "gl_ES" and "zh_CN" folders.
      • MJS: I can't make the standard XP extractor do what is required here. I can make 7-zip do it by navigating into\locales-2.8.10\, selecting all the folders then extracting into the Languages folder.
  4. Also in 1.3.8, it became apparent after release that VC9 Express sp1 built Audacity so that it needed pre-sp1 runtimes. To save rebuilding the executable, we replaced the VC90.CRT.manifest supplied by VC9sp1 with one containing the version number of the older runtimes. Until the executable is rebuilt with a flag to point Audacity to the VC9sp1 runtimes, do this:
    1. Go to C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT.
    2. Make a copy of "Microsoft.VC90.CRT.manifest" and call it "Microsoft.VC90.CRT.manifest.bak".
    3. In "Microsoft.VC90.CRT.manifest", change version in the <assemblyIdentity> tag from version="9.0.30729.1" to version="9.0.21022.8".
    4. The *.iss scripts (see "Build the Installer" below) will pick up the replacement manifest and DLLs from C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT.
    5. AWD: This causes the manifest file and the DLLs to have mismatched version numbers. I've heard a number of people say this is OK but with no explanation why; I think there's a chance it's the cause of the "Error 6034" problems that users occasionally see. I think we should try including version 9.0.21022.8 with the next release (1.3.12). Typically the only place you'll have version 9.0.21022.8 of the file is in the winsxs folder. You can find them by doing this at c:\windows\winsxs in Powershell: gci -recurse | where {($ -eq "msvcr90.dll" -or $ -eq "msvcp90.dll") -and $_.VersionInfo.FileVersion -eq "9.00.21022.8"} . More on this when I know more.

Build the Installer

  1. Install the latest Inno Setup (
  2. Open the appropriate Inno Setup script:
    • audacity\win\audacity.iss for Release or
    • audacity\win\audacity_unicode.iss for Unicode_Release.
  3. Change the version strings as necessary. These are current for Unicode_Release:
    • OutputBaseFilename=audacity-win-unicode-1.3.10
    • AppName=Audacity 1.3 Beta (Unicode)
      For stable releases, this should just be "Audacity (Unicode)"
    • AppVerName=Audacity 1.3.10 (Unicode)
    • DefaultDirName={pf}\Audacity 1.3 Beta (Unicode)
      For stable releases, this should just be "Audacity (Unicode)"
  4. Compile and test the installer.
    • Install to 'Audacity 1.3 Beta (Unicode)', or as agreed for a 'Stable' (you may be offered something else, depending on your previous installation status) (this is important when it come to making the zip).
      • GA: I don't follow that. I think user will be offered whatever unzip directory they chose to download to?
      • MJS: The point is to zip the 'Audacity 1.3 Beta (Unicode)' folder, which defaults to a 'Audacity 1.3 Beta (Unicode).zip' file name (here at least) containing the 'Audacity 1.3 Beta (Unicode)' folder. Unzipping this into 'Program Files' leaves a neat folder name that follows previous conventions. I know that you have done the last few differently but I prefer the previous convention.
    • 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 script and cause it to leave in / miss out some vital bits.
  6. Rename it as a release candidate, e.g. "audacity-win-unicode-1.3.10rc1.exe" for "release candidate 1".

Create the zip version

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


  1. Put the release candidate somewhere on the web for other people to test.
  2. Publicise this on audacity-devel.
  3. Get 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.
  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.