Installer: First MSI setup
Windows visual diff and merge for files and directories
Brought to you by:
christianlist,
grimmdp
I created with WixEdit <http://wixedit.sourceforge.net/> a first MSI setup for WinMerge. It is far away from complete, but it is a start!
Some things that are missing:
* COpy all files (currently only bin and docs files)
* Make a different between 32bit and 64bit
* Register shell extension
* Create start menu items
* mutli-language support
* GUI
* ...
To use:
Install WixEdit (with WiX included), copy the file to "Installer\WiX" and compile it with WixEdit.
Greetings,
Tim
WIX XML file
So this already installs working WinMerge to 32-bit Windows? Great!
I don't have much time to look at this in next couple of days but I think the best plan is to just add this to the SVN trunk.
Installer/WiX is a good name (notice first and last chars are capitals, I checked this from the wix project page).
v2 - Install languages
Committed to SVN (In Revision 6573)
I think this first version won't work for Win64, there probably needs to be a separate MSI file for Win64. I found this page:
http://blogs.msdn.com/heaths/archive/2005/10/24/windows-installer-on-64-bit-platforms.aspx
By the way, when I save the file in WixEdit, it re-wraps lines differently producing lots of diffs? Did you clean up XML saved by WixEdit by hand or?
> Did you clean up XML saved by WixEdit by hand or?
Oh, I wrote the XML file with a normal text editor and use WixEdit only for compiling. I never save it with WixEdit.
> I think this first version won't work for Win64, there probably needs
> to be a separate MSI file for Win64.
I saw some WXS files, that use somehow variables to build different MSI files with one WiX script:
33 <?ifdef var.PlatForm.Win32?>
34 <?define ProgramFiles = "ProgramFilesFolder" ?>
35 <?define Win64 = "no" ?>
36 <?define Plattform = "Intel" ?>
37 <?else?>
38 <?define ProgramFiles = "ProgramFiles64Folder" ?>
39 <?define Win64 = "yes" ?>
40 <?define Plattform = "x64" ?>
41 <?endif?>
http://trac.nakednuns.org/nscp/browser/branches/stable/helpers/installer/Product.wxs
> Oh, I wrote the XML file with a normal text editor and
> use WixEdit only for compiling.
Ok.
> I saw some WXS files, that use somehow variables to build
> different MSI files with one WiX script
Yep, something like that probably works. I have to check TortoiseSVN WiX script also how they do this. But lets get 32-bit working better first. :)
Perhaps this helps with the shell extension:
http://www.dalun.com/wix/02.03.2005.htm
as the shell extension is "just" a COM component (DLL) requiring to be registered...
add filters to MSI file
Ok, the patch "msi_add_filters.patch" adds the filters to the MSI setup...
Looks good.
Committed to SVN (In Revision 6585)...
Found a better instructions for shell extension registering:
http://stackoverflow.com/questions/364187/how-do-you-register-a-win32-com-dll-in-wix3
add plugins to MSI file
Ok, the patch "msi_add_plugins.patch" adds the plugins to the MSI setup...
Committed to SVN (In Revision 6603)...
add more options to feature table
The patch " msi_add_more_feature_options.patch" adds more options to the feature table. We need this, if we later have a GUI.
Committed to SVN (In Revision 6606)...
add gui to MSI file
msi_add_gui.zip
This patch adds a GUI to the Setup. I used "WixUI_FeatureTree.wxs" as base and drop the licence dialog.
Cool!
> and drop the licence dialog
Why? We should show the GPL license. As does the current installer... Installer is probably the only place most users get to know/see the license.