Archive: NSIS Error in uninstaller


NSIS Error in uninstaller
When I was playing around with the problem in this thread, I ran into something rather strange.

Code:

outfile "d:\test.exe"
page instfiles
UninstPage instfiles

section
writeuninstaller "d:\untest.exe"
sectionend

Section "Uninstall"
MessageBox MB_OK "Working"
SectionEnd

The installer works fine, but the generated uninstaller throws an NSIS Error ("Error launching installer"). Using NSIS 2.46 and NSIS 2.46-Unicode. Can anyone reproduce?


Edit: Moving untest.txt to a d:\subdir, the uninstaller works fine. This could suggest a permissions issue, but what could the uninstaller be trying to do that would lead to a CRC error?
Some details: The Authenticated Users group has everything except Full Control on d:\, while the Users group has only 'read & execute', 'list folder contents' and 'read' access. I'm logged in as a userlevel user.

Another thing I can imagine is a backslashes issue, something like trying and failing to access d:untest.exe.


allowrootdirinstall true


Indeed. I'm filing this one as a bug though, because the manual strongly suggests this command is only related to the directory page. In any case, this should not cause the uninstaller to fail launch.


How will the uninstaller end up in the root if the user cannot install there? I'm thinking this is by design. (The uninstaller specific startup code checks the path on purpose)


The problem isn't coming up with crazy installation scenarios where the uninstaller might end up in root. If I don't even have a directory page to begin with, and installation to a root proceeds just fine, how am I supposed to realize that uninstallation from a root is not possible without allowrootdirinstall? The problem is that the uninstaller doesn't throw any recognizable error, and fails to launch completely. If it's hardwired to disallow root uninstall, it should say that instead of 'NSIS Error'.