ReadRegStr $R0 HKLM \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"\
"UninstallString"
MessageBox MB_OK "R0 val: $R0" IDOK # debugging purposes -jw
StrCmp $R0 "" no_remove_uninstaller On a Vista x64 box, the R0 value is blank, even though there is indeed an entry in the registry at that point.On WinXP x64, however, the uninstall string doesn't even get populated. That part of the code had always worked and wouldn't had changed. I am not too sure why it stopped working for these two OSes. As it works fine in Win 7 x86/x64 and Win 8 x86/x64.
I am guessing it is something to do with the Wow6432 but why would it work fine in Win 7 and 8 x64?