<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Uninstall keeps user config: what survives a 'clean reinstall', and why it matters]]></title><description><![CDATA[<p dir="auto"><strong>Where this comes from</strong>: same independent audit as the plugin-trust note. This one is about what the uninstaller leaves behind, and why “uninstall then reinstall” is not the clean slate people assume.</p>
<h3>What survives an uninstall</h3>
<p dir="auto">The uninstaller keeps user data by default (<code>uninstall.nsh</code>, <code>$keepUserData</code>). In a normal profile that means these stay on disk after uninstall:</p>
<ul>
<li><code>%APPDATA%\Notepad++\config.xml</code> - includes <code>suppress2GBWarning</code>, <code>largeFileRestriction</code></li>
<li><code>%APPDATA%\Notepad++\shortcuts.xml</code> - shortcut and command bindings</li>
<li><code>%APPDATA%\Notepad++\session.xml</code> - the last-open file list</li>
</ul>
<p dir="auto">All three are in a <strong>user-writable</strong> directory, and they are read again after reinstall.</p>
<h3>Why that matters</h3>
<p dir="auto">“Uninstall and reinstall” is the first thing people do when they suspect something is wrong with the program. But:</p>
<ol>
<li><strong>session.xml</strong> is a known input surface. A crafted entry with an unreachable UNC path hangs startup for 40+ seconds and triggers an outbound SMB authentication attempt (reported separately: #18548, #18553). A “clean reinstall” does not remove it.</li>
<li><strong>shortcuts.xml</strong> binds commands to keys. A malicious entry is not removed either - it just stops working while the app is uninstalled, and starts working again after reinstall.</li>
<li><strong>config.xml</strong> holds user-tunable safety switches (e.g. <code>suppress2GBWarning</code>). Those survive too.</li>
</ol>
<p dir="auto">So for anyone who got a bad config written (by malware, or by a family member clicking something), the standard “reinstall” advice does not clean it. The user believes they wiped it; they did not.</p>
<h3>What would help</h3>
<ul>
<li>An explicit “remove user config” option in the uninstaller (keep-by-default is fine, but make the choice visible)</li>
<li>Documenting the config directory so users can delete it manually</li>
<li>Optionally: a “reset settings” entry in the app itself</li>
</ul>
<h3>Disclosure</h3>
<p dir="auto">Limited public note, not a CVE request. This is a “by design” behavior with a real consequence: the reinstall people rely on does not remove the config that can hurt them. Not asking anyone to change the default - asking for the choice to be visible.</p>
]]></description><link>https://community.notepad-plus-plus.org/topic/27691/uninstall-keeps-user-config-what-survives-a-clean-reinstall-and-why-it-matters</link><generator>RSS for Node</generator><lastBuildDate>Sun, 25 Oct 2026 16:52:25 GMT</lastBuildDate><atom:link href="https://community.notepad-plus-plus.org/topic/27691.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 25 Oct 2026 09:38:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Uninstall keeps user config: what survives a 'clean reinstall', and why it matters on Sun, 25 Oct 2026 15:26:25 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/firefly0619sec" aria-label="Profile: Firefly0619sec">@<bdi>Firefly0619sec</bdi></a> <a href="/post/106601">said</a>:</p>
<p dir="auto">An explicit “remove user config” option in the uninstaller (keep-by-default is fine, but make the choice visible)</p>
</blockquote>
<p dir="auto">You mean this already-existing promt during the uninstall process?</p>
<p dir="auto"><img src="/assets/uploads/files/1792941769397-9d3184f0-ad38-445b-b8b6-2e1b58417566-image.jpeg" alt="9d3184f0-ad38-445b-b8b6-2e1b58417566-image.jpeg" class=" img-fluid img-markdown" /></p>
<p dir="auto">If you click <strong>no</strong> on that dialog, it deletes all the files you were mentioning.</p>
<blockquote>
<p dir="auto">Documenting the config directory so users can delete it manually</p>
</blockquote>
<p dir="auto"><a href="https://npp-user-manual.org/docs/config-files/#configuration-files-location" rel="nofollow ugc">https://npp-user-manual.org/docs/config-files/#configuration-files-location</a></p>
<blockquote>
<p dir="auto">Optionally: a “reset settings” entry in the app itself</p>
</blockquote>
<p dir="auto">Pointless, given that a user can just delete the <code>%AppData%\Notepad++</code> directory manually if they want to reset.</p>
<p dir="auto">In other words, your suggestions were already-implemented, already-implemented, and redudant/pointless.</p>
]]></description><link>https://community.notepad-plus-plus.org/post/106604</link><guid isPermaLink="true">https://community.notepad-plus-plus.org/post/106604</guid><dc:creator><![CDATA[PeterJones]]></dc:creator><pubDate>Sun, 25 Oct 2026 15:26:25 GMT</pubDate></item></channel></rss>