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.exe
MergeLang.dll
/Translations/WinMerge/*.po
libexpat.dll
and pcre.dll
WinMerge.chm
ShellExtensionU.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.msm
Microsoft_VC90_MFC_x86.msm
Microsoft_VC90_CRT_x86_x64.msm
Microsoft_VC90_MFC_x86_x64.msm
Copy or move the files into the following layout:
Build/
expat
libexpat.dll
Manual/htmlhelp
WinMerge.chm
MergeUnicodeRelease/
MergeLang.dll
ShellExtensionU.dll
WinMergeU.exe
pcre/
pcre.dll
ShellExtensionX64/
ShellExtensionX64.dll
Docs/
Users
Docs/Users
folder to hereFilters/
FileFilter.tmpl
*.flt
Installer/
WIX/
Installer/WIX
folder to hereTranslations/
Docs
*.*
WinMerge
*.po
WinMerge.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!