diff options
| author | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2026-03-18 17:34:32 +0200 |
|---|---|---|
| committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2026-03-18 19:21:21 +0200 |
| commit | 62274ec00d026beecfd985efa4135bf52746f27d (patch) | |
| tree | 8fb75af412170753461e4bffbabfd5fd7e942ad5 | |
| parent | 8bac2181530ed07d3c0d3d460bf8d5af41b127ce (diff) | |
p#553 Only one of two uninstallers displayed
| -rw-r--r-- | indra/newview/llvelopack.cpp | 7 |
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()); } |
