Windows: Resolves #11508: Allow installer to skip uninstallation step after repeated failures #11612
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.
Summary
Prior attempts at fixing #11508 have been unsuccessful.
On the forum, users have reported two workarounds:
The second workaround should be equivalent to not uninstalling the old version of Joplin when upgrading. Note: This workaround seems to leave old files application from the previous version of Joplin that may not be needed/expected by the new Joplin version.
This pull request:
May fix #11508.
Screen recording
Screencast.from.2025-01-09.07-59-01.webm
Note: The "System Error" dialogs are an artifact of the testing setup, caused by the intentionally-broken installer. They would not appear in production. See the "Testing plan" section for details.
Show original screen recording (also demonstrates the testing setup)
JoplinUninstallerFix.webm
Testing plan
yarn run dist
frompackages/app-desktop
.C:\Users\MyUsernameHere\AppData\Local\Programs\Joplin\
.UninstallString
key-value pair in the Windows registry, underComputer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\
followed by a long ID.Uninstall Joplin.exe
toUninstall Joplin.old.exe
, then make a copy ofJoplin.exe
and rename it toUninstall Joplin.exe
.ffmpeg.dll
can't be found. This is expected because the NSIS installer is runningUninstall Joplin.exe
from a temporary directory (not the original directory, which hasffmpeg.dll
).