From 62274ec00d026beecfd985efa4135bf52746f27d Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Wed, 18 Mar 2026 17:34:32 +0200 Subject: p#553 Only one of two uninstallers displayed --- indra/newview/llvelopack.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/indra/newview/llvelopack.cpp b/indra/newview/llvelopack.cpp index f438dead52..1745967505 100644 --- a/indra/newview/llvelopack.cpp +++ b/indra/newview/llvelopack.cpp @@ -499,7 +499,10 @@ static void register_uninstall_info(const std::wstring& install_dir, const std::wstring& version) { std::wstring app_name_oneword = get_app_name_oneword(); - std::wstring key_path = L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" + app_name_oneword; + // Use a unique key name to avoid conflicts with any existing NSIS-based uninstall info, + // which can cause nly one of the two entries to show up in the Add/Remove Programs list. + // The UI will show DisplayName, so the key name itself is not important to be user-friendly. + std::wstring key_path = L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Vlpk" + app_name_oneword; HKEY hkey; if (RegCreateKeyExW(HKEY_CURRENT_USER, key_path.c_str(), 0, NULL, @@ -547,7 +550,7 @@ static void register_uninstall_info(const std::wstring& install_dir, static void unregister_uninstall_info() { std::wstring app_name_oneword = get_app_name_oneword(); - std::wstring key_path = L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" + app_name_oneword; + std::wstring key_path = L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Vlpk" + app_name_oneword; RegDeleteTreeW(HKEY_CURRENT_USER, key_path.c_str()); } -- cgit v1.3