adoptium / adoptium/installer

Incorrect UninstallString Parameter for MSI-Based Temurin JRE Installations

Open
#1,223 0 comments 0 reactions 0 assignees View on GitHub
bug wix
Dominant language
Jinja
Stars
168
Forks
77
Avg merge
2d 14h
Merged PRs (30d)
12

Description

The Windows Registry entry for Eclipse Temurin JRE installations (both x64 and x86) contains the wrong MSI parameter in the UninstallString.

The entry currently uses:
`MsiExec.exe /I{ProductCode}`

However, for scripted or automated uninstallation, this should be:
`MsiExec.exe /x{ProductCode}`

**View UninstallString via PowerShell:**
```powershell
$software = Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* -Name DisplayName,DisplayVersion,UninstallString -ErrorAction SilentlyContinue
$software += Get-ItemProperty HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* -Name DisplayName,DisplayVersion,UninstallString -ErrorAction SilentlyContinue
$software | Where-Object { $_.DisplayName -Match 'Eclipse Temurin JRE mit Hotspot' } | Format-Table -AutoSize
```
**Example Output:**
```
DisplayName DisplayVersion UninstallString
----------- -------------- ---------------
Eclipse Temurin JRE mit Hotspot 17.0.15+6 (x64) 17.0.15.6 MsiExec.exe /I{1584F958-FEAB-4C47-8505-2A75BEDC11AE}
Eclipse Temurin JRE mit Hotspot 17.0.15+6 (x86) 17.0.15.6 MsiExec.exe /I{ABFE9DD7-0453-4901-8B2B-0111F80C5E42}
```

**Expected Behavior:**
The UninstallString should use /x instead of /I for silent or automated uninstallation scenarios. This aligns with official Microsoft guidance:

> https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec

**Impact:**
This misconfiguration breaks scripted uninstallations unless additional handling is implemented by deployment tools or package managers.

Contributor guide

Open the contributing guide

Research direction

Locate the installer template or script that writes the Windows Registry UninstallString for the x64 and x86 Eclipse Temurin JRE packages. Use the provided PowerShell query to inspect both registry paths and verify that the generated command uses /x{ProductCode} rather than /I{ProductCode} for both architectures.

Written by the indexing model from the issue text.

Assessment

Tech stack
powershell
Domain
build-system
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.