More WiX fixes

This commit is contained in:
Kovid Goyal 2023-10-11 11:50:29 +05:30
parent 6290f15f93
commit 00814a0f0e
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 9 additions and 7 deletions

View File

@ -170,6 +170,10 @@
<Property Id="WixShellExecTarget" Value="[#{exe_map[calibre]}]" /> <Property Id="WixShellExecTarget" Value="[#{exe_map[calibre]}]" />
<CustomAction Id="LaunchApplication" DllEntry="WixShellExec" Impersonate="yes" BinaryRef="Wix4UtilCA_X86" /> <CustomAction Id="LaunchApplication" DllEntry="WixShellExec" Impersonate="yes" BinaryRef="Wix4UtilCA_X86" />
<!-- UI -->
<WixVariable Id="WixUILicenseRtf" Value="{license}" />
<WixVariable Id="WixUIBannerBmp" Value="{banner}" />
<WixVariable Id="WixUIDialogBmp" Value="{dialog}" />
</Package> </Package>
</Wix> </Wix>

View File

@ -45,6 +45,9 @@ def create_installer(env, compression_level='9'):
viewer_icon=j(env.src_root, 'icons', 'viewer.ico'), viewer_icon=j(env.src_root, 'icons', 'viewer.ico'),
editor_icon=j(env.src_root, 'icons', 'ebook-edit.ico'), editor_icon=j(env.src_root, 'icons', 'ebook-edit.ico'),
web_icon=j(env.src_root, 'icons', 'web.ico'), web_icon=j(env.src_root, 'icons', 'web.ico'),
license=j(env.src_root, 'LICENSE.rtf'),
banner=j(env.src_root, 'icons', 'wix-banner.bmp'),
dialog=j(env.src_root, 'icons', 'wix-dialog.bmp'),
) )
with open(j(d(__file__), 'en-us.xml'), 'rb') as f: with open(j(d(__file__), 'en-us.xml'), 'rb') as f:
template = f.read().decode('utf-8') template = f.read().decode('utf-8')
@ -59,17 +62,12 @@ def create_installer(env, compression_level='9'):
arch = 'x64' if is64bit else 'x86' arch = 'x64' if is64bit else 'x86'
installer = j(env.dist, '%s%s-%s.msi' % ( installer = j(env.dist, '%s%s-%s.msi' % (
calibre_constants['appname'], ('-64bit' if is64bit else ''), calibre_constants['version'])) calibre_constants['appname'], ('-64bit' if is64bit else ''), calibre_constants['version']))
license = j(env.src_root, 'LICENSE.rtf')
banner = j(env.src_root, 'icons', 'wix-banner.bmp')
dialog = j(env.src_root, 'icons', 'wix-dialog.bmp')
run(WIX, 'extension', 'add', '-g', 'WixToolset.Util.wixext') run(WIX, 'extension', 'add', '-g', 'WixToolset.Util.wixext')
run(WIX, 'extension', 'add', '-g', 'WixToolset.UI.wixext') run(WIX, 'extension', 'add', '-g', 'WixToolset.UI.wixext')
cmd = [WIX, 'build', '-arch', arch, '-culture', 'en-us', '-loc', enusf, '-dcl', dcl, cmd = [WIX, 'build', '-arch', arch, '-culture', 'en-us', '-loc', enusf, '-dcl', dcl,
'-ext', 'WixToolset.Util.wixext', '-ext', 'WixToolset.UI.wixext', '-ext', 'WixToolset.Util.wixext', '-ext', 'WixToolset.UI.wixext', '-o', installer, wxsf]
'-d', 'WixUILicenseRtf=' + license, '-d', 'WixUIBannerBmp=' + banner, '-d', 'WixUIDialogBmp=' + dialog,
'-o', installer, wxsf]
run(*cmd) run(*cmd)
pdb = installer.rsplit('.')[0] + '.wixpdb' pdb = installer.rpartition('.')[0] + '.wixpdb'
os.remove(pdb) os.remove(pdb)