Files
rustdesk/res/msi
rustdesk a2d4e742c7 feat(msi): give a template its own cabinet for per-customer files
Rebranding recompressed the whole ~100MB payload because one cabinet held
everything. In template mode preprocess.py puts the handful of files a custom
client replaces on a second cabinet, so a patch rebuilds a few hundred KB and
leaves the payload cabinet alone. The shipped msi is built without template
mode and keeps its single cabinet.

The branding assets need conditional components. A stock build ships none of
them -- there is no icon.ico, icon.png or logo*.png, only icon.svg -- so the
template has to carry placeholders for the File rows to exist, and a customer
supplies whichever they want. Installing a placeholder unconditionally would
give a customer with no logo a placeholder image, where today a missing asset
means no logo at all: the client tries each candidate and treats the failure as
absence. So each optional asset installs only when its property says the
customer supplied one.

CI creates those placeholders and builds the template with the new mode.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q7fBdTwziR5BHTkSz7Tzcm
2026-08-05 22:02:51 +08:00
..
2024-04-25 22:35:51 +08:00
2026-06-18 22:37:15 +08:00
2024-04-20 18:20:09 +08:00

RustDesk msi project

Use Visual Studio 2022 to compile this project.

This project is mainly derived from https://github.com/MediaPortal/MediaPortal-2.git .

Steps

  1. python preprocess.py, see python preprocess.py -h for help.
  2. Build the .sln solution.

Run msiexec /i package.msi /l*v install.log to record the log.

Usage

  1. Put the custom dialog bitmaps in "Resources" directory. The supported bitmaps are ['WixUIBannerBmp', 'WixUIDialogBmp', 'WixUIExclamationIco', 'WixUIInfoIco', 'WixUINewIco', 'WixUIUpIco'].

Knowledge

properties

wix-toolset-set-custom-action-run-only-on-uninstall

Property Name Install Uninstall Change Repair Upgrade
Installed False True True True True
REINSTALL False False False True False
UPGRADINGPRODUCTCODE False False False False True
REMOVE False True False False True

TODOs

  1. Start menu. Uninstall
  2. custom options
  3. Custom client.
    1. firewall and tcp allow. Outgoing
    2. Show license ?
    3. Do create service. Outgoing.

Refs

  1. windows-installer-portal
  2. wxs
  3. wxs github