MSI installer is still in heavy development and is highly experimental. DO NOT use it to install WinMerge to production environment!
The main installer script is in Installer/WIX folder:
WinMerge.wxs. This file includes other needed files.
First make sure you have all needed files compiled and available:
WinMergeU.exeMergeLang.dll/Translations/WinMerge/*.polibexpat.dll and pcre.dllWinMerge.chmShellExtensionU.dll and ShellExtensionX64.dll/Docs/Users/*/Filters/*These files are produced by compiling WinMerge, documentation etc, but that's not subject of this document, refer to Compiling.html, readme-manual.html and Translations.html.
In addition you will need Microsoft C- and MFC-runtime merge modules.
Those files are not distributes with WinMerge. By default we use VS2008
merge modules from the %CommonProgramFiles%\Merge Modules folder:
Microsoft_VC90_CRT_x86.msmMicrosoft_VC90_MFC_x86.msmMicrosoft_VC90_CRT_x86_x64.msmMicrosoft_VC90_MFC_x86_x64.msmCopy or move the files into the following layout:
Build/
expat
libexpat.dllManual/htmlhelp
WinMerge.chmMergeUnicodeRelease/
MergeLang.dllShellExtensionU.dllWinMergeU.exepcre/
pcre.dllShellExtensionX64/
ShellExtensionX64.dllDocs/
Users
Docs/Users folder to hereFilters/
FileFilter.tmpl*.fltInstaller/
WIX/
Installer/WIX folder to hereTranslations/
Docs
*.*WinMerge
*.poWinMerge.wxs (in WIX folder)
is script used to create WinMerge MSI installer. Other tools and IDEs can
be used also. For example WixEdit or SharpDevelop.
Open the Visual Studio command prompt and CD to Installer/WIX -folder. Run
command:
msbuild.exe WinMerge.wixprojThere are two commonly used parameters:
/p:Platform=x86 or /p:Platform=x64/p:ProductVersion=x.x.x. If the version number
is not given it is read from Config.wxi. But then filename
does not contain version number.msbuild.exe WinMerge.wixproj /p:Platform=x86,ProductVersion=1.0.2
If the compile succeeds you have WinMerge-[platform]-Setup.msi
files in Build\WiX\Release\folder's subfolders.
Test installer!