Repository navigation
fix(install): keep the elevated command under the Windows limit - #19
Merged
helloiamnotth3devnicetomeetyou merged 3 commits intoOct 23, 2026
Merged
helloiamnotth3devnicetomeetyou merged 3 commits into
helloiamnotth3devnicetomeetyou merged 3 commits into
Conversation
Ddongddi
force-pushed
the
fix/update-compat
branch
from
October 23, 2026 05:16
ec20f9e to
015ecfc
Compare
The elevated script was base64-encoded twice: UTF-8 inside a wrapper, then the wrapper as UTF-16 for -EncodedCommand. At 10,410 characters of script that produced a 37,352-character command line, past the 32,767-character Windows limit, so Start-Process failed with "The parameter is incorrect" before the UAC prompt. Pass the elevated script directly as -EncodedCommand and prepend the values the param block would have taken. The encoded command is 27,640 characters. Extend the legacy-update test to check the limit and parse the decoded script.
Ddongddi
force-pushed
the
fix/update-compat
branch
from
October 23, 2026 05:17
015ecfc to
171e90d
Compare
Count the resolved PowerShell executable, flags and terminating NUL, and verify both editions and install/uninstall argument bindings without executing the installer. Add the missing bilingual user-facing changelog entry. Signed-off-by: notth3dev <160973721+noth3dev@users.noreply.github.com>
helloiamnotth3devnicetomeetyou
approved these changes
Oct 23, 2026
helloiamnotth3devnicetomeetyou
left a comment
Contributor
There was a problem hiding this comment.
Reviewed the installer path and added regression coverage before merging. The tests now measure the complete Windows command line (including the executable, arguments, and terminating NUL), exercise both editions and install/uninstall argument combinations, and verify that the elevated installer body is preserved unchanged. Bilingual changelog entries are included.
All five CI checks pass; local Windows PowerShell 5.1 installer, rollback, default-input, and changelog checks also pass. Landing as a maintainer-signed squash while preserving contributor attribution.
helloiamnotth3devnicetomeetyou
merged commit Oct 23, 2026
68efa71
into
iamallyouneed:main
5 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
install.ps1encoded the elevated script twice: the script as UTF-8 base64 inside a wrapper, then the wrapper as UTF-16 base64 for-EncodedCommand. The recent installer growth pushed that to a 37,352-character command line, past Windows' 32,767-character limit.Start-Process powershell.exe -Verb RunAs ... -EncodedCommand ...then failed with "The parameter is incorrect" before the UAC prompt, so dashboard updates from 0.10.4 to 0.10.8 could not run.Pass the elevated script directly as
-EncodedCommand(UTF-16 base64, 27,640 characters) and prepend the values theparamblock would have taken. The direct-Elevatedpath is unchanged. Extendscripts/test-legacy-update.ps1to assert the encoded command stays under the limit and that the decoded script parses.Verified on Windows: the patched installer updated Tacit 0.10.4 (enkoja) to 0.10.8 with en/ko/ja packs; the legacy-update test passes.