I get an abnormal program termination when I compile
my script.
The message is:
"
...
File: "msvci70.dll" [compress] 22798/54784 bytes
SectionEnd
Section: "Uninstall"
SectionIn: [0]
Delete: "$INSTDIR\OSS32.url"
Delete: "$INSTDIR\uninst.exe"
Delete: "$SMPROGRAMS\UniCom\OSS32\Uninstall.lnk"
Delete: "$SMPROGRAMS\UniCom\OSS32\Website.lnk"
SetAutoClose: true
SectionEnd
Processed 1 file, writing output:
Adding plug-ins initializing function... Done!
Processing pages... Done!
Removing unused resources... Done!
Generating language tables... Done!
warning: Variable "hwnd2" not referenced, wasting
memory!
warning: Variable "type" not referenced, wasting
memory!
Generating uninstaller... Assertion failed: !m_pView,
file Source\mmap.cpp, line 229
abnormal program termination"
My version: NSIS 2.11
My email-adress: baenky@web.de
The problem seems to be in my silent uninstaller
section. If there is an error in my code, I'd get an
error message while compiling, normaly. But in this
case, the program just terminates. Perhaps the name
is the problem, I used : "Section -un.ArchivReg"
While compiling this code the compiler output is:
"...
Section: "-un.DLLArchiv"
SectionIn: [0]
MessageBox: 0: "success"
SetOutPath: "$sysroot\system32"
File...
...
"
Bye. Nadine
Logged In: YES
user_id=584402
Thanks, fixed.
It was actually the size of the uninstaller. When the
uninstaller gets big enough, it's data is saved in a memory
map, instead of a simple buffer. The interface for memory
maps in NSIS (IMMap) requires a call to release() after each
call to get(). In a specific method used by the uninstaller
creation function (MMapBuf::add), this rule was overlooked.
This is why the assertion failed.
The fix will be available with 2.12 which should be released
this weekend.