Old 19th March 2009, 01:08   #281
jimpark
Senior Member
 
Join Date: Sep 2007
Posts: 204
Yes, that's what I was thinking but it's not worth making another release. It should be fixed in the next release when I get around to it.

Unicode NSIS advocate -- http://www.scratchpaper.com for latest build and source.
jimpark is offline   Reply With Quote
Old 2nd April 2009, 00:39   #282
Red Wine
Forum King
 
Red Wine's Avatar
 
Join Date: Mar 2006
Location: Ath. GR
Posts: 2,078
Hi Jimmy,

Unicode NSIS is awesome, I have just compiled Quick AVI Creator with Unicode NSIS and everything seems fine. The only problem which seems that I have is unrelated to Unicode NSIS. It is with the Unicode plugin which I used for converting ansi text subtitles but I guess I will find some workaround.

Unicode NSIS definitely worths to merged with the main NSIS project.

Congrats Jimmy.

Quick AVI Creator - Quick and easy convert from DVD/MPEG/AVI/MKV to AVI/MP4/MKV
Quick AVI Creator entirely edited with NSIS and entirely upgraded to Unicode NSIS
Red Wine is offline   Reply With Quote
Old 10th April 2009, 15:01   #283
scully13
Senior Member
 
Join Date: Apr 2004
Posts: 130
It appears that somebody did add Unicode support to the AccessControl plug-in but the download is missing from the plug-in page. http://nsis.sourceforge.net/AccessControl_plug-in
Does anybody have a copy of this somewhere or know of something else I can use from the Unicode install to change file user permissions?
scully13 is offline   Reply With Quote
Old 17th April 2009, 15:26   #284
arantius
Junior Member
 
Join Date: Jun 2000
Posts: 32
Unicode + WriteIniStr?

I've got a legacy installer that uses InstallOptions, and WriteIniStr to choose exactly what that dialog will display at runtime. Doing i.e.

code:
StrCpy $R1 "${ALREADY_TEXT}"
MessageBox MB_OK $R1
WriteIniStr "$PLUGINSDIR\already.ini" "Field 2" "Text" $R1



I see the right text in the message box, but I see munged text in the installer. The .ini file contains the munged text full of question marks.

Does WriteIniStr not handle Unicode? Is there an alternative that does, or a workaround?
arantius is offline   Reply With Quote
Old 17th April 2009, 18:03   #285
jimpark
Senior Member
 
Join Date: Sep 2007
Posts: 204
Unfortunately, the Windows API that deals with INI files saves everything as ANSI even when the wide-char versions of the API are called.

Unicode NSIS advocate -- http://www.scratchpaper.com for latest build and source.
jimpark is offline   Reply With Quote
Old 17th April 2009, 18:35   #286
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 4,604
did we not cover this already? the .ini file needs a UTF16LE BOM before you start writing to it with ini functions IIRC

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 17th April 2009, 19:37   #287
jimpark
Senior Member
 
Join Date: Sep 2007
Posts: 204
Oh yeah, we did cover this. Sorry Anders. My memory is damaged or something. Yeah, so as Anders says, if you create the file yourself and add the BOM, then you can use the WriteINIStr afterwards and things work. Somewhere in this thread or elsewhere in this forum, we have the same conversation where Anders corrects me.

Unicode NSIS advocate -- http://www.scratchpaper.com for latest build and source.
jimpark is offline   Reply With Quote
Old 17th April 2009, 21:02   #288
arantius
Junior Member
 
Join Date: Jun 2000
Posts: 32
That was exactly it, thanks. I tried to search, and tried to wade through all the pages here, but missed it. Everything's working wonderfully now.
arantius is offline   Reply With Quote
Old 10th June 2009, 11:54   #289
shnur
Junior Member
 
Join Date: Oct 2008
Location: Novosibirsk, Russia
Posts: 8
Send a message via ICQ to shnur
Anybody knows, what about unzip plugin for unicode nsis?
NsisUnz and ZipDll does not work ;(
shnur is offline   Reply With Quote
Old 17th June 2009, 09:48   #290
shnur
Junior Member
 
Join Date: Oct 2008
Location: Novosibirsk, Russia
Posts: 8
Send a message via ICQ to shnur
Guys, please anybody help me!
I try to migrate my nsi script to Nsis unicode, but I can't unzip file with data. I download from from web site, but I can't extract it. Please, help me!
shnur is offline   Reply With Quote
Old 17th June 2009, 12:03   #291
jimpark
Senior Member
 
Join Date: Sep 2007
Posts: 204
Each plugin must be modified and recompiled to work with Unicode NSIS. If those plugins are a must for you, you should contact their authors or modify the plugins yourself. What is it that you are actually needing to do? Perhaps, there's another way to do it without using the plugins.

Unicode NSIS advocate -- http://www.scratchpaper.com for latest build and source.
jimpark is offline   Reply With Quote
Old 18th June 2009, 02:18   #292
shnur
Junior Member
 
Join Date: Oct 2008
Location: Novosibirsk, Russia
Posts: 8
Send a message via ICQ to shnur
I try to rebuild nsisunz and ZipDll plugins, but all of my attemps was failed I don't sure that authors supports their plugins.

In depends of file name, I like to download in realtime from server different archive file, and extract it in user's computer.
Archive created manually - so I can be use any archiver.
Do you see other way to fix this problem?

Thanks.
PS: Sorry for my english.
shnur is offline   Reply With Quote
Old 22nd June 2009, 11:21   #293
Instructor
Major Dude
 
Join Date: Jul 2004
Posts: 671
How plugin can detect that it has been called from Unicode NSIS or from Ansi NSIS? Maybe add some new parameter in "extra_parameters" structure.
Instructor is offline   Reply With Quote
Old 22nd June 2009, 14:41   #294
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 4,604
@Instructor, funny you should ask that, I was thinking about it the other day. When hwndNSIS is non NULL you can check that, but if you also support .onInit or silent installers, the only thing I could come up with was checking $pluginsdir:
if the 2nd BYTE is 0, you can be (pretty) sure its UNICODE

It will be true for any default $pluginsdir:
C:\foo
.\foo
\foo

now if someone changed $pluginsdir to a relative path like "unicodefoldername\foo" it could break, but I don't see a valid reason to do that

$pluginsdir is INST_LANG+2 and not documented, but thats another issue (the same goes for $temp)

The final option is to check the import table of the .exe at runtime, but that is a bit more work

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 27th August 2009, 15:09   #295
AxelMock
Junior Member
 
Join Date: Apr 2007
Location: Seltz, France
Posts: 46
V2.45 as Unicode build??

Hi,

I might get into the situation having to support a bunch of message box texts, and customized texts in 25 languages.

Translation will be done by a translation service which will surely deliver all results as Unicode.

So the Unicode built of NSIS will become a MUST.

The only problem is, that we must support Windows7 and as I understand only NSIS 2.45 has the necessary changes to support Win7.

Therefore: Is a 2.45 build of Unicode NSIS in sight or will Unicode build be merged to the standard build of NSIS?

Sorry, I couldn't follow all the discussions for the last 2 or 3 months.

Regards,
Axel
AxelMock is offline   Reply With Quote
Old 27th August 2009, 18:12   #296
CrushBug
Senior Member
 
Join Date: May 2005
Posts: 119
I, too, hope that NSIS will go Unicode officially at some point in the near future.
CrushBug is offline   Reply With Quote
Old 28th August 2009, 12:09   #297
vbguy
Junior Member
 
Join Date: Jul 2006
Posts: 30
I agree. Jimpark's work is great. Why is NSIS still using non-unicode branch as the default? I know, I know - Win9x doesn't support unicode. But, who the hell uses Win9x anymore? It's older than 10 years old, and frankly the only people using it are using it to support old technology (not to download & install the latest program from the internet).

And if NSIS is going to continue support old technology that no one uses anymore, why doesn't it support Windows 3.1. Or, heck Windows 1.0. I'm sure someone uses those.

The first mainstream Windows to support unicode was Windows 2000 - nearly 10 years old itself. So this is hardly newfangled technology.

Kichik, what would it take to make jimpark's code the default branch? And what's stopping this changeover?
vbguy is offline   Reply With Quote
Old 28th August 2009, 16:04   #298
AxelMock
Junior Member
 
Join Date: Apr 2007
Location: Seltz, France
Posts: 46
Quote:
Originally posted by vbguy
I agree. Jimpark's work is great.
Fully agree!
And I agree with you that Win9x support nowadays is a bit difficult to understand.
Even W2K drivers can only be certified by MS as an addendum to XP drivers.

Is there any good reason, why NSIS support for Win9X could not stop with some version (e.g. 2.45) and all newer versions only support Unicode capable OSes?

Perhaps we should start a poll in the NSIS forum WHO is still developing for Win9x and why, and if these developers could live with a frozen ANSI NSIS.

To start with myself:
W2K is the minimum required OS.
AxelMock is offline   Reply With Quote
Old 28th August 2009, 17:03   #299
DrO
 
Join Date: Sep 2003
Posts: 27,880
Quote:
Originally posted by vbguy
And what's stopping this changeover?
time and resources i'd go with.

-daz
DrO is offline   Reply With Quote
Old 29th August 2009, 02:06   #300
vbguy
Junior Member
 
Join Date: Jul 2006
Posts: 30
Quote:
Originally posted by DrO
time and resources i'd go with.

-daz
Right, but that's why I was asking. Tell us what needs to be changed or fixed so the community can chip in and get the Unicode branch officially supported.

In other words, Jimpark already did most of the work. What can the rest of us do to get this thing finalized?

I'm not saying "fix it for me". I'm offering my help. But I don't want to waste my time if there are no plans to officially support Unicode.

Also, I know it was mentioned elsewhere, but I don't think we should wait for an arbitrary version (e.g. version 3.0) to switch to Unicode. I think it should be done in the next 1 or 2 point releases.

Kichik: Can we get a comment from you?

Last edited by vbguy; 29th August 2009 at 04:45.
vbguy is offline   Reply With Quote
Old 9th September 2009, 20:06   #301
jimpark
Senior Member
 
Join Date: Sep 2007
Posts: 204
2.45 is out!

I've just released the Unicode version of NSIS built around NSIS 2.45 along with the source code and an ANSI version built from the same source. You can find it at http://www.scratchpaper.com as usual.

Unicode NSIS advocate -- http://www.scratchpaper.com for latest build and source.
jimpark is offline   Reply With Quote
Old 9th September 2009, 21:24   #302
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 4,604
And I recently created a plugin that can call a ansi plugin in a unicode installer. It is very much in the testing stage, so get it @ http://nsis.sourceforge.net/CallAnsiPlugin_plug-in and let me know of any problems

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 26th September 2009, 23:49   #303
cristianadam
Junior Member
 
Join Date: Sep 2002
Posts: 3
Re: 2.45 is out!

Quote:
Originally posted by jimpark
I've just released the Unicode version of NSIS built around NSIS 2.45 along with the source code and an ANSI version built from the same source. You can find it at http://www.scratchpaper.com as usual.
Congratulations for the new release. I don't understand why this is not merged into mainline.

The code is using the generic-text mappings found in tchar.h (http://msdn.microsoft.com/en-us/libr...8VS.71%29.aspx). This is the documented way of having the same code compiled for ansi and unicode on Windows platforms.

Cheers,
Cristian.
cristianadam is offline   Reply With Quote
Old 27th September 2009, 09:09   #304
sealite
Registered User
 
sealite's Avatar
 
Join Date: Aug 2002
Location: Bucharest / Romania
Posts: 54
Send a message via ICQ to sealite Send a message via Yahoo to sealite
I have a small problem with NSISu: it does always print messages about including files.

The makensis log is full on inclusions like the one below and I discovered that using /V does not help. Is there any way to hide this and still be able to log any warnings or errors?

Opening 'C:\dev\pj\src\contrib\nsis\Contrib\Language files\English.nsh' as UTF-16LE.
File 'C:\dev\pj\src\contrib\nsis\Contrib\Language files\English.nsh' has a BOM marked as UTF-16LE.
sealite is offline   Reply With Quote
Old 8th October 2009, 03:28   #305
ngroman
Junior Member
 
Join Date: Oct 2009
Location: San Francisco
Posts: 3
Fonts

I'm writing a multilingual install script that needs to support English, Chinese, Japanese, and Turkish among others. I've been able to convert my nsi files to utf-16.

However it seems that the font that the installer is displayed in doesn't have the Japanese characters that I need, instead I just see boxes where the characters should be (the Turkish seems to render fine). I know the computer must have some font that displays these Japanese characters because when I open the .nsi file in wordpad.exe I can view the characters.

Any suggestions? Is it possible to make the installer force display in a certain font? Thanks.
ngroman is offline   Reply With Quote
Old 8th October 2009, 07:53   #306
MSG
Major Dude
 
Join Date: Oct 2006
Posts: 1,892
Either create a unicode installer, or set your windows's default codepage for non-unicode applications to Japanese. (Or run the installer through applocale, which is equivalent.)
MSG is offline   Reply With Quote
Old 8th October 2009, 15:37   #307
jimpark
Senior Member
 
Join Date: Sep 2007
Posts: 204
ngroman, are you posting your problem here because this is a problem you are seeing in the Unicode NSIS? Or are you trying to use the standard NSIS to achieve this? With the standard NSIS, you aren't going to be able to create one installer that can display all those languages together. You'll need Unicode NSIS for that, as MSG stated.

Unicode NSIS advocate -- http://www.scratchpaper.com for latest build and source.
jimpark is offline   Reply With Quote
Old 8th October 2009, 19:08   #308
ngroman
Junior Member
 
Join Date: Oct 2009
Location: San Francisco
Posts: 3
jimpark:
I'm using nsis-2.45-Unicode to compile my .nsi file. My nsi script file is encoded in utf-16LE (I saved it as unicode in wordpad). I verified with chardet in python that it is in fact saved as utf-16LE. Also the output from makensis showed that my file was being opened in utf-16 mode.

The computer I'm running this has XP with the MUI packs installed for French, German, and Spanish (I do not have the MUI for any Asian languages). However the fact that I can see the Japanese characters in wordpad means there is something on my computer that can display these characters.
ngroman is offline   Reply With Quote
Old 8th October 2009, 20:44   #309
jimpark
Senior Member
 
Join Date: Sep 2007
Posts: 204
Have you tried installing the Asian language support? If not, why not?

Unicode NSIS advocate -- http://www.scratchpaper.com for latest build and source.
jimpark is offline   Reply With Quote
Old 8th October 2009, 21:13   #310
ngroman
Junior Member
 
Join Date: Oct 2009
Location: San Francisco
Posts: 3
I realize that I could do that, and it would probably solve my issue...for me; however, most of my users will have standard XP installs that don't have Asian language support either. If I'm going to show a drop-down menu of languages it wouldn't look very good to have some of the languages show up as a bunch of blank boxes to some users.
ngroman is offline   Reply With Quote
Old 9th October 2009, 18:33   #311
jimpark
Senior Member
 
Join Date: Sep 2007
Posts: 204
The NLF files in "Contrib\Language files" specifies which font to use. These have been chosen by the translators so that they look right. But if you want to change the font for a language, you do have the option of using SetFont /LANG=lang_id.

Unicode NSIS advocate -- http://www.scratchpaper.com for latest build and source.
jimpark is offline   Reply With Quote
Old 11th October 2009, 03:36   #312
grzech
Junior Member
 
grzech's Avatar
 
Join Date: Jul 2006
Posts: 31
Quote:
Originally posted by ngroman
I realize that I could do that, and it would probably solve my issue...for me; however, most of my users will have standard XP installs that don't have Asian language support either. If I'm going to show a drop-down menu of languages it wouldn't look very good to have some of the languages show up as a bunch of blank boxes to some users.
Don't show the drop down list. Just detect locale or Windows UI language and auto set installer language to be consistent with locale/UI language.
grzech is offline   Reply With Quote
Old 11th October 2009, 15:51   #313
MSG
Major Dude
 
Join Date: Oct 2006
Posts: 1,892
Quote:
Originally posted by grzech
Don't show the drop down list. Just detect locale or Windows UI language and auto set installer language to be consistent with locale/UI language.
Autosetting the language to the Windows locale is very bad practice. I for one am running in Japanese locale, while I can't read Japanese without a dictionary (and copy-paste, at that). I keep Windows in Japanese locale because of our translation projects, but it is also very common practice in general in communities of Asian pop-culture fans.

Installers such as nVidia's drivers are extremely annoying in doing everything in Japanese automatically, so the user ends up having to guess which buttons to push.
MSG is offline   Reply With Quote
Old 12th October 2009, 10:51   #314
grzech
Junior Member
 
grzech's Avatar
 
Join Date: Jul 2006
Posts: 31
Yeah, autosetting to Windows UI language is safer. Guys who can't read Japanese rather won't be running Japanese Windows.
grzech is offline   Reply With Quote
Old 13th October 2009, 01:21   #315
jimpark
Senior Member
 
Join Date: Sep 2007
Posts: 204
I agree with MSG on that one. I hate it when the installer thinks it knows in which language I'd prefer to read my installation instructions. I may have the locale set to some other language that I can read and write but not comfortable enough to speak "geek" in. I'd much rather be given a choice: at the very least, the locale or English? (Okay, maybe I'm being English-centric here.) Or maybe at the download site, I should be given a choice as to which language installer I want.

Unicode NSIS advocate -- http://www.scratchpaper.com for latest build and source.
jimpark is offline   Reply With Quote
Old 29th October 2009, 10:44   #316
dariann
Junior Member
 
Join Date: Mar 2009
Posts: 2
Quote:
Originally posted by sealite
I have a small problem with NSISu: it does always print messages about including files.

The makensis log is full on inclusions like the one below and I discovered that using /V does not help. Is there any way to hide this and still be able to log any warnings or errors?

Opening 'C:\dev\pj\src\contrib\nsis\Contrib\Language files\English.nsh' as UTF-16LE.
File 'C:\dev\pj\src\contrib\nsis\Contrib\Language files\English.nsh' has a BOM marked as UTF-16LE.
I have this problem too... It's very annoying... I want to turn off this messages, because they spamming my command window. How can I do it?
dariann is offline   Reply With Quote
Old 31st October 2009, 00:32   #317
Koopa
16-Bit Moderator
 
Koopa's Avatar
 
Join Date: Apr 2004
Posts: 4,338
jimpark:

All of your downloads have a wrong file extension. .exec instead of .exe.

You did a great job, except for some old plugins, like delay.dll, which won't work, it's just great. I've converted all my scripts to Unicode, including the Essentials Pack.

The abilities with the Unicode version are just awesome.

Keep on your good work, I hope you'll provide updates in future too.

-Chris
Koopa is offline   Reply With Quote
Old 31st October 2009, 01:31   #318
jimpark
Senior Member
 
Join Date: Sep 2007
Posts: 204
In the next release I will try to address both of the issues you've listed above. The "exec" extension is just because of google sites which keeps me from uploading anything with the .exe extension as I've explained on the site. I may have to find another server, though, because it is highly annoying.

Unicode NSIS advocate -- http://www.scratchpaper.com for latest build and source.
jimpark is offline   Reply With Quote
Old 5th November 2009, 16:56   #319
Wizou
Senior Member
 
Join Date: Aug 2007
Location: Paris, France
Posts: 304
Quote:
Originally posted by scully13
It appears that somebody did add Unicode support to the AccessControl plug-in but the download is missing from the plug-in page. http://nsis.sourceforge.net/AccessControl_plug-in
Does anybody have a copy of this somewhere or know of something else I can use from the Unicode install to change file user permissions?
I just a made a NSIS-Unicode port of it, and uploaded it on
http://nsis.sourceforge.net/AccessControl_plug-in
Wizou is offline   Reply With Quote
Old 6th November 2009, 09:09   #320
Wizou
Senior Member
 
Join Date: Aug 2007
Location: Paris, France
Posts: 304
Quote:
Originally posted by Anders
When hwndNSIS is non NULL you can check that, but if you also support .onInit or silent installers, the only thing I could come up with was checking $pluginsdir:
if the 2nd BYTE is 0, you can be (pretty) sure its UNICODE
Hi Anders, I don't see how this could work :
To reach variable INST_LANG+2, you need to compute g_variables[(INST_LANG+2)*g_stringsize]
but you don't know if you're dealing with CHAR or TCHAR g_variables (which would need to multiply the index by 2)

Last edited by Wizou; 6th November 2009 at 09:43.
Wizou is offline   Reply With Quote
Reply
Go Back   Winamp & SHOUTcast Forums > Developer Center > NSIS Discussion

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump