Release Process/Win

From Audacity Wiki
Jump to: navigation, search


Warning icon Building On Windows is now the correct page for windows building instructions, including for the installer and zip file. This page may still have some text worth plundering for it, but this page is no longer being maintained
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 AUDACITY_BUILD_LEVEL. Must be 2 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 https://sourceforge.net/projects/cppcms/files/boost_locale/gettext_for_windows/.
  • 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 http://plugin.org.uk/ 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 wxstd.mo 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 "wxstd.mo" file in each to the "gl", "ko" and pt_PT folders respectively.
    2. Delete the "gl_ES", ko_KR and "pt" folders.
    3. COPY (do not move) wxstd.mo from "eu" into "eu_ES".

Manual

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

Gale 29Aug16: On Win 10 I did not (running as admin) receive the issue where PowerShell failed to download the unofficial translation files. Might that too be a permissions issue? I wonder if all or most of these issues might be solved by right-click over C:\Program Files (x86)\Inno Setup 5\Compil32.exe and run as administrator?
  1. Install the latest Unicode Inno Setup (http://www.jrsoftware.org/isinfo.php). Generally we will use the same version of Inno for all alpha and RC win installers, 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.
    • If installing on Windows 8 or 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 GitHub. Easiest way to do that is to download the zip of https://github.com/jrsoftware/issrc 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 mw2html.py 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., "audacity-win-2.0.1rc1.zip".

Testing

  1. Put the release candidate files for this release on FossHub for open testing. Tell RM, so that when all platforms are ready, the 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.