rustdesk
9dae15e523
fix(msi): pass the printer name in a format the custom action can read
...
[~] is MSI's escape for a NUL character, not the delimiter WcaReadStringFromCaData
splits on -- that is a literal wide char 128, which a Formatted property value
cannot carry -- and WcaGetProperty returns a null-terminated string anyway. So
the second field was unreachable: InstallPrinter always fell back to the stock
name and installed a printer and port called "RustDesk Printer" inside a
customer's branded package, while UninstallPrinter, whose data is a single field
and parsed fine, went looking for "Acme Printer" and left the real one behind
for good.
Both actions now read CustomActionData directly and split on a character that
cannot occur in a Windows path or in a validated app name. A package built
before this carries no separator and keeps the stock name, as it did.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Q7fBdTwziR5BHTkSz7Tzcm
2026-08-06 00:16:24 +08:00
rustdesk
be24391993
refactor(msi): pass the app name to the printer custom actions
...
preprocess.py rewrote the CustomActions sources per customer so the printer
carried the app name, which meant the dll was recompiled for every custom
client and, worse, left the app name baked into a compiled binary.
Pass it through CustomActionData instead. Only the printer and its port ever
varied: the INF path and the driver name ship under their stock names and
preprocess.py already forced the driver name back to RustDesk, so a single
build of the dll now serves every custom client.
Both actions treat the name as optional and fall back to the stock name, so a
package built before this still installs and uninstalls its printer.
This also unblocks patching a prebuilt msi template, which cannot work while a
compiled dll contains the app name: replacing a string inside a PE would shift
everything after it.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Q7fBdTwziR5BHTkSz7Tzcm
2026-08-05 20:47:38 +08:00
fufesou
6426269d41
Refact/printer driver default unchecked ( #15191 )
...
* refact: installation, printer driver, default unchecked
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: silent install, get option from the reg values
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: silent install, arg printer=[0|1]
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-06-06 08:51:08 +08:00
fufesou
55c9707639
fix(msi): check install folder, remove files when uninstall ( #15011 )
...
* fix(msi): check install folder, remove files when uninstall
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(msi): harden install folder normalization cleanup
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(msi): better file attributes
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(mis): Simple refactor
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(msi): avoid path-based attribute changes in cleanup
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix(msi): custom action, unset flag read before del
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2026-05-12 16:24:50 +08:00
fufesou
ca00706a38
feat, update, win, macos ( #11618 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-05-04 07:32:47 +08:00
fufesou
d8eb23a571
fix: msi, silent install, launch app tray ( #11389 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-04-07 15:40:17 +08:00
fufesou
f4bbf82363
feat: remote printer ( #11231 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-03-27 15:34:27 +08:00
fufesou
1403c939db
fix: msi, silent install, do not launch app ( #11115 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-03-13 09:33:30 +08:00
fufesou
b3e1c8a907
Refact/msi more install options ( #8949 )
...
* refact: msi, more install options
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: msi, reg values on upgrade/modify
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: msi, silent repair/upgrade, RemoveInstallFolder()
Signed-off-by: fufesou <linlong1266@gmail.com >
* Options support both 1/0 and Y/N
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: msi, preprocess, open file with explicit encoding
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: msi, read previous options
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: mis, install folder, read previous option
Signed-off-by: fufesou <linlong1266@gmail.com >
* Comment on Control -> Checkbox
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: UI, checkbox options, read previous values
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: shortcuts options, init state
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: shortcuts, init state
Signed-off-by: fufesou <linlong1266@gmail.com >
* Better shortcuts property conditions
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-08-05 17:49:48 +08:00
fufesou
85604dee79
refact: msi, custom client props ( #8913 )
...
* refact: msi, custom client props
Signed-off-by: fufesou <linlong1266@gmail.com >
* format
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-08-01 15:08:52 +08:00
fufesou
6cd107c3e3
Fix/msi service ( #7872 )
...
* refact: msi service, shell execute control
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* fix: msi, skip adding rules when uninstalling
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* line indentation
Signed-off-by: fufesou <shuanglongchen@yeah.net >
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-30 15:57:12 +08:00
fufesou
b407893db5
refact: win idd, x86 on x64 ( #7796 )
...
* refact: win idd, x86 on x64
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* comments
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* typo
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* refact: win idd, check if x64 and deviceinstaller64 exits
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* refact: win idd
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* refact: win idd, add logs
Signed-off-by: fufesou <shuanglongchen@yeah.net >
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-23 17:00:41 +08:00
fufesou
4f47d4482b
refact: win, idd control ( #7789 )
...
* refact: win, idd control
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* refact: win device control, better addr of
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* refact: simple refact
Signed-off-by: fufesou <shuanglongchen@yeah.net >
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-22 10:37:08 +08:00
fufesou
e83c28bf54
refact: win, virtual display ( #7767 )
...
* refact: win, virtual display
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* Update flutter-build.yml
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
2024-04-19 11:31:52 +08:00
fufesou
a5d02998ad
Fix. Msi, remove RustDesk words ( #7732 )
...
* Fix. Msi, remove RustDesk words
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* Fix. Replace RustDesk in langs
Signed-off-by: fufesou <shuanglongchen@yeah.net >
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-16 13:09:20 +08:00
fufesou
5166083406
Fix. Msi, reg add SoftwareSASGeneration ( #7708 )
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-14 21:03:51 +08:00
fufesou
8231d07706
Fix. Msi. Terminate brokers. ( #7693 )
...
* Fix. Msi. Terminate brokers.
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* Fix. Msi, remove tray shortcut in startmenu
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* Msi. format
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* Feat. Msi, set property
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* Fix. Mis, only do InstallValidate if is Install
Signed-off-by: fufesou <shuanglongchen@yeah.net >
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-12 17:42:26 +08:00
fufesou
48da00eb66
Fix. Msi, error 5 on uninstall ( #7690 )
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-11 20:41:23 +08:00
fufesou
f673647072
Feat/msi ( #7688 )
...
* Feat. Msi, check is self-installed
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* Feat. Msi.
1. Check if is self-installation.
2. Add firewall rule by custom action.
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* Feat. Msi, github ci
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* Feat. Msi, github ci
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* Feat. Msi, github ci
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* Feat. Msi, refact preprocess.py
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* Feat. Msi
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* Trivial, renames
Signed-off-by: fufesou <shuanglongchen@yeah.net >
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-11 18:54:32 +08:00
fufesou
aa002c5d60
Refact. Msi, remove unused code ( #7685 )
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-11 12:06:10 +08:00
fufesou
64020758d9
Feat. Msi ( #7684 )
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-11 11:51:35 +08:00
fufesou
5a0333ddaf
Feat. msi ( #7610 )
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-06 16:30:33 +08:00
fufesou
ed257e39d0
Feat. msi ( #7590 )
...
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-03 14:27:35 +08:00
fufesou
db6bf547a9
Feat. msi ( #7584 )
...
* Feat. msi
Signed-off-by: fufesou <shuanglongchen@yeah.net >
* remove ununsed file
Signed-off-by: fufesou <shuanglongchen@yeah.net >
---------
Signed-off-by: fufesou <shuanglongchen@yeah.net >
2024-04-02 18:10:09 +08:00