Enhance Windows installer configuration and add license file

- Updated the WiX configuration in build_windows.py to include required properties for the WixUI_InstallDir dialog.
- Changed the UI reference from WixUI_Minimal to WixUI_InstallDir for improved installation experience.
- Added custom branding images for the installer UI using WixVariable for background and banner images.
- Introduced a new license.rtf file containing the MIT License for the WebDrop Bridge project.
- Updated binary resources for background and banner images.
This commit is contained in:
claudi 2026-02-19 15:09:08 +01:00
parent 302ec15e15
commit a20f703554
8 changed files with 2914 additions and 2887 deletions

File diff suppressed because one or more lines are too long

View file

@ -8,15 +8,19 @@
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Platform="x64" />
<Media Id="1" Cabinet="WebDropBridge.cab" EmbedCab="yes" />
<!-- Required property for WixUI_InstallDir dialog set -->
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" />
<!-- Application Icon -->
<Icon Id="AppIcon.ico" SourceFile="$(var.ResourcesDir)\icons\app.ico" />
<!-- Embedded branding images for installer UI -->
<Binary Id="BannerBmp" SourceFile="$(var.ResourcesDir)\icons\banner.bmp" />
<Binary Id="DialogBmp" SourceFile="$(var.ResourcesDir)\icons\background.bmp" />
<!-- Custom branding for InstallDir dialog set -->
<WixVariable Id="WixUIDialogBmp" Value="$(var.ResourcesDir)\icons\background.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="$(var.ResourcesDir)\icons\banner.bmp" />
<WixVariable Id="WixUILicenseRtf" Value="$(var.ResourcesDir)\license.rtf" />
<!-- Installation UI dialogs -->
<UIRef Id="WixUI_Minimal" />
<UIRef Id="WixUI_InstallDir" />
<UIRef Id="WixUI_ErrorProgressText" />
<Feature Id="ProductFeature" Title="WebDrop Bridge" Level="1">

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -21,6 +21,7 @@ Usage:
import sys
import os
from typing import Optional
# Fix Unicode output on Windows BEFORE any other imports
if sys.platform == "win32":
@ -309,15 +310,19 @@ class WindowsBuilder:
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Platform="x64" />
<Media Id="1" Cabinet="WebDropBridge.cab" EmbedCab="yes" />
<!-- Required property for WixUI_InstallDir dialog set -->
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" />
<!-- Application Icon -->
<Icon Id="AppIcon.ico" SourceFile="$(var.ResourcesDir)\\icons\\app.ico" />
<!-- Embedded branding images for installer UI -->
<Binary Id="BannerBmp" SourceFile="$(var.ResourcesDir)\\icons\\banner.bmp" />
<Binary Id="DialogBmp" SourceFile="$(var.ResourcesDir)\\icons\\background.bmp" />
<!-- Custom branding for InstallDir dialog set -->
<WixVariable Id="WixUIDialogBmp" Value="$(var.ResourcesDir)\\icons\\background.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="$(var.ResourcesDir)\\icons\\banner.bmp" />
<WixVariable Id="WixUILicenseRtf" Value="$(var.ResourcesDir)\\license.rtf" />
<!-- Installation UI dialogs -->
<UIRef Id="WixUI_Minimal" />
<UIRef Id="WixUI_InstallDir" />
<UIRef Id="WixUI_ErrorProgressText" />
<Feature Id="ProductFeature" Title="WebDrop Bridge" Level="1">
@ -382,7 +387,7 @@ class WindowsBuilder:
print(f" Created WiX source: {wix_file}")
return True
def _generate_file_elements(self, folder: Path, parent_dir_ref: str, parent_rel_path: str, indent: int = 8, file_counter: dict = None) -> str:
def _generate_file_elements(self, folder: Path, parent_dir_ref: str, parent_rel_path: str, indent: int = 8, file_counter: Optional[dict] = None) -> str:
"""Generate WiX File elements for all files in a folder.
Args:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 328 KiB

After

Width:  |  Height:  |  Size: 451 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Before After
Before After

18
resources/license.rtf Normal file
View file

@ -0,0 +1,18 @@
{\rtf1\ansi\ansicpg1252\cocoartf2\cuc
{\fonttbl\f0\fswiss Helvetica;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\margl1440\margr1440\vieww11900\viewh8605\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfocus1
\f0\fs20 \cf0 WebDrop Bridge - License Agreement\
\
\b MIT License\b0\
\
Copyright (c) 2026 HIM-Tools\
\
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\
\
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\
\
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.}