Archive: Korean & MUI


I have crash problem when I'm using korean at Modern UI.
I don't know the reason exactly, but I found that some korean characters in korean.nsh file make problem. Those characters are in MUI_TEXT_FINISH_SUBTITLE, MUI_UNTEXT_FINISH_SUBTITLE. I changed those characters and It works well now.


What version are you using? What's the text showing up? What version of Windows are you using? Does it happen with all scripts?


Sorry It was not crash, It was access violation error.
(MUI version is 1.65, and I use a Windows 2000 pro.)
The charater I removed is 'Àû' <= this is korean letter.
(I don't know whether another korean character exist that makes proplem.)
Whenever Installer meet this letter, It create Msgbox "Application Error / The instruction at "0xxxxxxxx" referenced memory at "0xxxxxx". The memory could not be 'read'"

I love NSIS :)


When did you download the CVS version?
You've missed the scripts question.


You're very diligent :)

I downloaded CVS version yesterday using NSISUpdate.


What's the exact text the message contains? And does it happen with all scripts or not?


I can't remember original message.
I changed two messages like below :

MUI_TEXT_FINISH_SUBTITLE "¼³Ä¡¿¡ ¼º°ø ÇÏ¿´½À´Ï´Ù."
MUI_UNTEXT_FINISH_SUBTITLE "ÇÁ·Î±×·¥À» Á¦°Å¿¡ ¼º°ø ÇÏ¿´½À´Ï´Ù."

As I said, "Àû" character makes trouble. I put that charater to anyother messege for test. Same error occured when Installer meet a section including that message.


I'm sorry, but that doesn't help. I need to know what the message says exactly and if it happens in other scripts. I can sort of understand from your message that it does, but I need a direct answer.


I'm experiencing same symptom as Park's.
Korean Windows 2000 Pro, downloaded on July 16th, using Modern UI 1.65(1.65 - June 16, 2003 : changelog says so)

I checked Dr Watson event from event viewer:
at 00406CFE (<nosymbols>), c0000005 exception occurred.

One of the messages making access v :
!insertmacro MUI_LANGUAGEFILE_STRING MUI_TEXT_FINISH_SUBTITLE "¼³Ä¡°¡ ¼º°øÀûÀ¸·Î ÀÌ·ç¾îÁ³½À´Ï´Ù."

Hex code of above suspected Korean character "Àû" : c0 fb

As English is not my mother tongue, I don't quite understand what you need.
If you rephrase your request "what the message says exactly and if it happens in other scripts" , maybe I can understand fully.


If you rephrase your request "what the message says exactly and if it happens in other scripts" , maybe I can understand fully.
I think kichik wants to know:

(1) Is the message the standard MUI one or has it been modified by the script. If the MUI messages have not been modified by the script then MUI_TEXT_FINISH_SUBTITLE should be "Setup was completed successfully." But it sounds like you are getting the problem before the installation gets that far?

(2) Does the problem happen with any of the standard MUI sample scripts (in "C:\Program Files\NSIS\Examples\Modern UI") or does it only happen with scripts someone has written (even if all they've done is modify a sample script).

No, I'm talking about the crash message. I'm trying to solve the problem, not learning another language ;)

flyingfish's report helped, and I think I know what the problem is. But I need to make sure. So please run the installer in the ZIP file, choose Korean and tell me the exact text in the crash message. It would also be helpful if you can check it on b3.


kichik, I ran the zipped installer (forums.winamp.com/attachment.php?s=&postid=1020645) and no crash occured, no matter what I selected, clicked, typed.
Is it good news? Or, ironicaly, bad one?

* I forgot to say I tried uninstalling too. No crash.


Did you solve the problem, kichik?
I downloaded and ran the zipped installer.
It worked well without error message. :)


I haven't changed a thing. I have just included a .map file that matches the exehead used. The differences between that day's version and today's version have nothing to do with languages.

One thing I can't understand is when exactly it crashes. Right after LandDLL? In a certain page?

How about the attached version (compiled with b3)?

And what happens if you download CVS version from today and try compiling yourself?


Attached file(forums.winamp.com/attachment.php?s=&postid=1020772) works fine.


And when you compile with b3 or latest CVS version?

And at what point of the installer does it crash when it actually does?


I'm afraid it will take some time to answer your question.
I'm totally new to NSIS development and I started to reading basic docs :) I hope that maybe Park can find out.
By the way, what's LandDll?


That's ok, we have time.

LangDLL is the plug-in reponsible of showing the language selection dialog.


I downloaded snapshot from nightly build(nsis.sourceforge.net/nightly/nsis.zip) at 16:48 July 18th GMT.
I built it with VS .net and ran makensis. Still crashes.

It crashes on certain page(near the "finish" page), not right after LangDll screen.


Can you get it to create a .map file, attach it and quote the text on the crash message?


If you describe step-by-step procedure, I can follow it.


Further report :
I built it with Debug code and when the access violation occurred, fired up the debugger.

The culprit is pointer "in" of

while (*in && out - ps_tmpbuf < NSIS_MAX_STRLEN)

However, both "out" and "ps_tmpbuf" seems to have corrupted value.
Especially ps_tmpbuf.

If you have any question, let me know. I'll look into some more meanwhile.


We think we've fixed it. Try latest CVS version.


Good job! No more crash. I'll continue my previous open-source project, and if something happens, I'll post it here.

Well done, all.