wiki:BuildSetup

Our current configuration uses MsBuild to build a CT2 snapshot and NSIS to package it into an EXE setup file.

Must-have Requirements

Requirement Ticket Implemented
Check for installation prerequisites (.NET 4, C++ runtimes for native DLLs). Propose download link to user or install automatically. #8, #159 yes
After installation of CT2 any pathes (default project file, default project path) should be preconfigured to the installation directory selected by user. #96 yes
Use assembly versioning scheme which includes SVN revision number. yes
Allow coredevs to configure major/minor CT2 version in central location. yes
Upgrade CT2 when installing newer setup file. #144 yes
Downgrade CT2 when installing older setup file. yes
Support silent AutoUpdate (i.e. install automatically or with a single click, but without going through the installation wizard again). yes
When upgrading CT2, it shall upgrade system references with version number (like start menu entries, desktop links, etc.) as well, but only if the corresponding element has been selected for installation in the original installation. #210 yes
Remove obsolete files no longer included in new setup versions. #155 yes
Support inclusion of third-party libraries (e.g. msieve, peers@play, external WPF controls, bouncycastle, NativeCryptography). Let trunk developers decide which version of the library to include. Caveat 1: libs may lack strong-names (may conflict with Software Publisher Certificate signing, see below). Caveat 2: libs may lack versioning scheme (may fail upgrade installation). #149 yes
Support inclusion of data files outside of assemblies (e.g. statistics data, wordlists, example texts). Data store should be shared, so that multiple plugins can access the same data files. yes
Show Apache license to user during setup. #148 yes
Include only one .exe in installation directory. #150 yes
Support running setup as non-admin (may skip tasks that require admin privileges, but should complete everything else). #158 yes
Automatically create nightly builds for website. yes
Send mail if nightly build fails. yes
Allow regular trunk developers without access to CrypWin/AnotherEditor sources to build and debug CT2 with both, Visual Studio and Visual C# Express. yes
Support internationalization/localization (I18N/L10N) in setup. Part of bigger task to support I18N in whole CT2. #127 yes

Nice-to-have Requirements

Requirement Ticket Implemented
Support x86 and x64. #106 yes, x86 build supports both
Use strong names signing for assemblies. yes
Sign setup with Software Publisher Certificate. yes
Bind deployment of project samples to build of plugin, i.e. if plugin is included in build, also include its project samples. If plugin is removed from build, do not install associated project files into sample directory. #151 no
Support grouping of plugins into setup components. no
Last modified 8 years ago Last modified on Oct 9, 2011, 12:24:34 PM