Blame iis/dependencies/howto.txt

Packit Service 384592
The build process for ModSecurityIIS for Windows was a relatively complicated process. Understanding it required advanced knowledge of Windows and Unix environments.
Packit Service 384592
So the build process was refactored to make it easier for users to create their own builds with the automated batch scripts.
Packit Service 384592
Packit Service 384592
* build_release.bat -> The main build script that calls all the others to have a working release
Packit Service 384592
* build_msi.bat -> Creates the MSI self-installer for easy deploy / removal / distribution
Packit Service 384592
Packit Service 384592
* build_dependencies.bat -> Sets (and downloads if needed) all required dependencies
Packit Service 384592
* build_modsecurity.bat -> Builds ModSecurity (requires all depenedencies being set)
Packit Service 384592
Packit Service 384592
* download_files.bat -> Downloads all required dependencies to the default Downloads folder
Packit Service 384592
** This script is disabled by default. If you want to enable it, uncomment the "@call download_files.bat" line on build_dependencies.bat
Packit Service 384592
Packit Service 384592
The dependencies folder also includes a set o batch scripts which sets each dependency
Packit Service 384592
on its own. These scripts are called by the build_dependencies.bat script.
Packit Service 384592
Packit Service 384592
Using the same versions of libraries as listed below is  recommended.
Packit Service 384592
--------------------------------------
Packit Service 384592
Compilation Prerequisites:
Packit Service 384592
Packit Service 384592
* Windows 7 x86_x64 (Should work on newer versions of Windows too)
Packit Service 384592
* Vistual Studio 2013 Express (Other versions should work, but you need to set the correct path for vcvars.bat scripts)
Packit Service 384592
* IIS enabled/installed
Packit Service 384592
* 7-Zip
Packit Service 384592
Packit Service 384592
--------------------------------------
Packit Service 384592
Packit Service 384592
The latest versions of ModSecurity dependencies known to work well are the following:
Packit Service 384592
Packit Service 384592
cmake-3.8.2-win32-x86
Packit Service 384592
pcre-8.40 (patch required and included on file "patch-pcre-8.40.vbs")
Packit Service 384592
zlib-1.2.11
Packit Service 384592
libxml2-2.9.4
Packit Service 384592
lua-5.3.4
Packit Service 384592
curl-7.54.1
Packit Service 384592
httpd-2.4.27 (bin-VC11)
Packit Service 384592
yajl-2.1.0
Packit Service 384592
ssdeep-2.13
Packit Service 384592
Packit Service 384592
--------------------------------------
Packit Service 384592
Packit Service 384592
1. Create working directory (e.g. c:\work) and drop the latest clone from ModSecurity's 2.x Github (https://github.com/SpiderLabs/ModSecurity/archive/v2/master.zip)
Packit Service 384592
2. Make sure the prerequisites mentioned above are all set
Packit Service 384592
3. If you haven't download the dependency files before, uncomment the "@call download_files.bat" line on build_dependencies.bat to have them downloaded prior
Packit Service 384592
4. Open a command prompt (cmd.exe) and head to the "iis" folder inside ModSecurity tree working directory (e.g. cd c:\work\ModSecurity\iis)
Packit Service 384592
5. If you need to modify anything (e.g. paths, versions etc), carefully edit the batch files.
Packit Service 384592
6. Run build_release.bat
Packit Service 384592
7. When done, the binaries, lib and pdb files should appear under c:\work\ModSecurity\iis\release\x86 (32-bit) and c:\work\ModSecurity\iis\release\amd64 (64-bit)
Packit Service 384592
* At this point, if you had a previous installation of ModSecurity and would like to test you can place the x86 files to "C:\Windows\SysWOW64\inetsrv" and x64 files to "C:\Windows\System32\inetsrv" 
Packit Service 384592
Packit Service 384592
8. If all went well, you can build the MSI installer by running the build_msi.bat script.
Packit Service 384592
Packit Service 384592
* The built installable package places the files to the correct folders, automatically configures the ModSecurity IIS native module and configures web.config to enable ModSecurity for all IIS sites.