diff --git a/.github/workflows/flutter-build.yml b/.github/workflows/flutter-build.yml index da03231a0..abaf63ba1 100644 --- a/.github/workflows/flutter-build.yml +++ b/.github/workflows/flutter-build.yml @@ -396,6 +396,15 @@ jobs: # tree is reset around this second variant; and it locates the app as # .exe inside the dist, so the dist copy is renamed to match. # + # The placeholder is chosen to keep this template as close to the shipped msi as + # possible: eight characters like "RustDesk", and a valid 8.3 name, so WiX + # derives no short name for it. A longer placeholder would get one, and a patch + # cannot rewrite a truncated placeholder, leaving short names pointing at it. + # + # It still has to be unique, which is why "RustDesk" itself cannot be used: + # it also names payload that must never be renamed, such as librustdesk.dll + # and drivers\RustDeskPrinterDriver. + # # Building the arm64 template on the native arm64 runner is what makes ARM # custom clients possible at all: the build agents are x64 and cannot run # preprocess.py against an ARM exe. @@ -403,9 +412,9 @@ jobs: run: | git checkout -- res/msi cp -r ./rustdesk ./rustdesk-msi-template - mv ./rustdesk-msi-template/rustdesk.exe ./rustdesk-msi-template/__RDAPPNAME__.exe + mv ./rustdesk-msi-template/rustdesk.exe ./rustdesk-msi-template/RDAPPNAM.exe pushd ./res/msi - python preprocess.py --arp -d ../../rustdesk-msi-template --app-name __RDAPPNAME__ + python preprocess.py --arp -d ../../rustdesk-msi-template --app-name RDAPPNAM $msiPlatform = if ('${{ matrix.job.arch }}' -eq 'aarch64') { 'ARM64' } else { 'x64' } msbuild msi.sln -t:clean -p:Configuration=Release -p:Platform=$msiPlatform msbuild msi.sln -p:Configuration=Release -p:Platform=$msiPlatform /p:TargetVersion=Windows10