The uninstaller in 8.04.1 was patched to only act on the directory within the same drive as the uninstaller (LP: #236741). But the uninstaller is self-extracted by NSIS to a temp folder under C:. So only installations within C: pass the uninstaller test. Something like the following (using the registry uninstaller path as opposed to $exedir) should do the trick:
=== modified file 'src/wubi/uninstall_page.nsh' (properties changed)
--- src/wubi/uninstall_page.nsh 2008-06-13 00:19:06 +0000
+++ src/wubi/uninstall_page.nsh 2008-07-07 13:52:31 +0000
@@ -51,7 +51,8 @@
FunctionEnd
Function un.DetectInstallationDrive
- StrCpy $OldInstallationDrive $ExeDir 2
+ ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${AppName}" "UninstallString"
+ StrCpy $OldInstallationDrive $0 2
${If} ${FileExists} "$OldInstallationDrive\${DefaultInstallationDir}"
strcpy $BackupFolder "$OldInstallationDrive\${BackupFolderName}"
${if} ${FileExists} "$OldInstallationDrive\${DefaultInstallationDir}\install\*.iso"