Specific keys that were created with user level and under the user's registry tree.
Here's an example:
The result here is that, although everything has user read/write permissions, from the registry key to the InstallDir, the uninstall process cannot remove the registry key despite the setup having created it in the same way and without additional permissions.;some code
RequestExecutionLevel user
Section "install"
WriteUninstaller "$INSTDIR\Uninstall.exe"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\MyTestName" "DisplayName" "MyTestName"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\MyTestName" "UninstallString" "$INSTDIR\Uninstall.exe"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\MyTestName" "InstallString" "$INSTDIR"
SectionEnd
Section "uninstall"
Delete "$INSTDIR\Uninstall.exe"
RMDir /R "$INSTDIR\"
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\MyTestName"
SectionEnd
The only way for this to work is if I set the RequestExecutionLevel higher than user (either highest or admin). Does anyone have a clue why RequestExecutionLevel must be higher than user level? Doesn't seem to make any sense, but... anyone?
Thanks!
PS: Currently testing this under Windows 7 and latest NSIS to date.