diff --git a/builders/windows-builder.py b/builders/windows-builder.py
index 7ebb43c..d549933 100644
--- a/builders/windows-builder.py
+++ b/builders/windows-builder.py
@@ -37,7 +37,8 @@ PyEnchant
installed. You can find this on the PyEnchant site.
WiX Toolset
- Inno Setup should be installed into "C:\\%PROGRAMFILES%\\Inno Setup 5"
+ The toolset should be installed into "C:\\%PROGRAMFILES%\\WiX Toolset v3.11"
+ or similar.
Sphinx
This is used to build the documentation. The documentation trunk must be at
@@ -61,15 +62,6 @@ windows-builder.py
This script, of course. It should be in the "windows-installer" directory
at the same level as OpenLP trunk.
-psvince.dll
- This dll is used during the actual install of OpenLP to check if OpenLP is
- running on the users machine prior to the setup. If OpenLP is running,
- the install will fail. The dll can be obtained from here:
-
- http://www.vincenzo.net/isxkb/index.php?title=PSVince
-
- The dll is presently included with this script.
-
Mako
Mako Templates for Python. This package is required for building the
remote plugin. It can be installed by going to your
@@ -83,11 +75,6 @@ MuPDF
mupdf.com, extract it, and set the mutoolbin option in the config file to
point to mutool.exe.
-MediaInfo
- Required for the media plugin. Download the 32-bit CLI windows build from
- https://mediaarea.net/nn/MediaInfo/Download/Windows and set the
- mediainfobin option in the config file to point to MediaInfo.exe.
-
Portable App Builds
The following are required if you are planning to make a portable build of
OpenLP. The portable build conforms to the standards published by
@@ -120,10 +107,6 @@ from lxml.builder import E
from builder import Builder
-BLACKLIST = [
- 'pptviewlib.dll.intermediate.manifest'
-]
-
class WindowsBuilder(Builder):
"""
@@ -169,8 +152,6 @@ class WindowsBuilder(Builder):
parent_dir[base] = new_dir
parent_dir['__dir__'].append(element)
for fname in files:
- if fname in BLACKLIST:
- continue
source = os.path.join(path, fname) if path else fname
source_id = md5(source).hexdigest()
file_id = 'file_{source_id}'.format(source_id=source_id)
@@ -194,17 +175,19 @@ class WindowsBuilder(Builder):
self._print_verbose('Reading base WiX file')
with open(os.path.join(config_dir, 'OpenLP-base.wxs'), 'rt') as base_file:
xml = base_file.read()
+ progfilefolder = 'ProgramFiles64Folder' if self.arch == 'x64' else 'ProgramFilesFolder'
xml = xml % dict(dialog=os.path.join(config_dir, 'WizardMain.bmp'),
- banner=os.path.join(config_dir, 'WizardBanner.bmp'))
+ banner=os.path.join(config_dir, 'WizardBanner.bmp'),
+ platform=self.arch,
+ progfilefolder=progfilefolder)
tree = fromstring(xml.encode('utf8'))
self._print_verbose('Creating XML fragments from files and directories')
fragments = self._get_fragments_from_files(self.dist_path)
self._print_verbose('Inserting XML fragments into base WiX file')
- wix = tree.getroot()
for fragment in fragments:
- wix.append(fragment)
+ tree.append(fragment)
self._print_verbose('Writing new WiX file')
- with open(os.path.join(self.config_path, 'OpenLP.wxs'), 'wb') as f:
+ with open(os.path.join(config_dir, 'OpenLP.wxs'), 'wb') as f:
f.write(tostring(tree, encoding='utf-8', xml_declaration=True, pretty_print=True))
def _run_wix_tools(self):
@@ -213,7 +196,7 @@ class WindowsBuilder(Builder):
"""
self._print('Running WiX tools...')
msi_file = os.path.join(self.dist_path, 'OpenLP-{}.msi'.format(self.version))
- if msi_file:
+ if os.path.exists(msi_file):
self._print_verbose('Removing old MSI file')
os.unlink(msi_file)
config_dir = os.path.dirname(self.config_path)
@@ -380,8 +363,6 @@ class WindowsBuilder(Builder):
copy(self.icon_path, os.path.join(self.dist_path, 'OpenLP.ico'))
self._print_verbose('... LICENSE.txt')
copy(self.license_path, os.path.join(self.dist_path, 'LICENSE.txt'))
- self._print_verbose('... psvince.dll')
- copy(self.psvince_exe, os.path.join(self.dist_path, 'psvince.dll'))
if os.path.isfile(os.path.join(self.helpfile_path, 'OpenLP.chm')):
self._print_verbose('... OpenLP.chm')
copy(os.path.join(self.helpfile_path, 'OpenLP.chm'), os.path.join(self.dist_path, 'OpenLP.chm'))
@@ -392,11 +373,6 @@ class WindowsBuilder(Builder):
copy(os.path.join(self.mutool_exe), os.path.join(self.dist_path, 'mutool.exe'))
else:
self._print('... WARNING: mutool.exe not found')
- self._print_verbose('... MediaInfo.exe')
- if self.mediainfo_exe and os.path.isfile(self.mediainfo_exe):
- copy(os.path.join(self.mediainfo_exe), os.path.join(self.dist_path, 'MediaInfo.exe'))
- else:
- self._print('... WARNING: MediaInfo.exe not found')
def after_run_sphinx(self):
"""
diff --git a/windows/OpenLP-base.wxs b/windows/OpenLP-base.wxs
index ffda505..15365a8 100644
--- a/windows/OpenLP-base.wxs
+++ b/windows/OpenLP-base.wxs
@@ -5,7 +5,7 @@
UpgradeCode="{8C5881AC-8F1E-4937-BB99-B823FABF18F0}" Language="1033" Codepage="1252" Version="2.5.0">
+ InstallerVersion="251" Languages="1033" Compressed="yes" SummaryCodepage="1252" Platform="%(platform)s"/>
Privileged
@@ -24,7 +24,7 @@
-
+