summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2026-03-18 17:34:32 +0200
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2026-03-18 19:21:21 +0200
commit62274ec00d026beecfd985efa4135bf52746f27d (patch)
tree8fb75af412170753461e4bffbabfd5fd7e942ad5
parent8bac2181530ed07d3c0d3d460bf8d5af41b127ce (diff)
p#553 Only one of two uninstallers displayed
-rw-r--r--indra/newview/llvelopack.cpp7
1 files 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());
}