![]() |
#41 |
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
Check the readme again. Tip: Use Exec not Wait.
Stu |
![]() |
![]() |
![]() |
#42 |
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
I have uploaded a new version of the plug-in.
* Added Unicode build (just noticed there was already a Unicode build in this thread but never mind - this version has been tested at least). * Uses new plug-in API (/NOUNLOAD not necessary with /ASYNC). * Added /DISABLEFSR switch to disable WOW64 file system redirection on Windows x64 for the internal ExecDos thread (the old version would fail if the executable was in system32). http://nsis.sourceforge.net/ExecDos_plug-in Stu |
![]() |
![]() |
![]() |
#43 |
Junior Member
Join Date: Feb 2006
Posts: 44
|
Afrow, I noticed that the log files are encoded in UTF-8. Is there anyway to change that to UTF16-LE?
I'm writing a piece of code at the moment, and I'm trying to read Unicode characters into the stack, via an external file. I'm using the NSIS Unicode build at the moment. I have tried executing to function instead of out to log, but it seems that only outputting it out to the log keeps the Unicode characters as they are. I can think of only a few ways to do this, like a FileRead that works for UTF-8 (Using FileRead screws up the characters, and FileReadUTF16LE is no better.) Another alternative is to stick of course, with FileReadUTF16LE, but the file has to be encoded in UTF-16 LE as well, if not it also becomes a garbled mess. I know it may seem like asking for much, but would you happen to know any way around this? |
![]() |
![]() |
![]() |
#44 |
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
Someone asked for an x64 build of the plug-in (included as ExecDos64.dll along with the 32-bit ANSI/Unicode builds). Built using latest plug-in API source from SVN. Tested using the NSIS x64 build from https://bitbucket.org/dgolub/nsis64.
http://nsis.sourceforge.net/ExecDos_plug-in Stu |
![]() |
![]() |
![]() |
#45 | |||
Junior Member
Join Date: Apr 2014
Posts: 16
|
Hi, in my tests ExecDos does not support unicode (ASCII is OK) using /tofunc. For example, I am making a cmd file with the following content:
Quote:
Quote:
But if I use the following code: Quote:
Test.cmd is Windows 866: 1) FileWrite: "???????? ????????? (Test message)" 2) FileWriteUTF16LE /BOM: "メᆬ£¬ᆴᄁᆴᆬ £ᆴᆴᄀ←ᆬᆳᄄᆬ (Test message)" Test.cmd is Windows 1251: 1) FileWrite: "???????? ????????? (Test message)" 2) FileWriteUTF16LE /BOM: "ᅭ¥○¬○¥ ○○£¥■│¥ (Test message)" Please help fix the problem. |
|||
![]() |
![]() |
![]() |
#46 |
Junior Member
Join Date: Apr 2014
Posts: 16
|
Is this plugin no longer supported? Unfortunately, I couldn't find a better plugin for transferring output to a function, and this one has problems with Unicode.
|
![]() |
![]() |
![]() |
#47 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,337
|
What happens if you just use MessageBox in the Test callback? Is it correct?
What if you do cmd.exe /U /C ...? IntOp $PostCount $PostCount + 1 |
![]() |
![]() |
![]() |
#48 | |
Junior Member
Join Date: Apr 2014
Posts: 16
|
Anders, thanks for the answer!
Quote:
|
|
![]() |
![]() |
![]() |
#49 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,337
|
Testing with cmd is not ideal. I assume you are really going to execute a real application? Does this app write utf-16 to stdout? Or does it write using the active code page and you need the plug-in to convert?
IntOp $PostCount $PostCount + 1 |
![]() |
![]() |
![]() |
#50 |
Junior Member
Join Date: Apr 2014
Posts: 16
|
I work with cmd files, so I am giving them as an example. There is no problem without /tofunc, which is why I report this problem.
|
![]() |
![]() |
![]() |
#51 | |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,337
|
The Unicode version of the plug-in is broken as far as I can tell.
Just by looking at the code, the only Unicode handling seems to be that the stdin string is converted from Unicode to CP_ACP and written to the pipe with WriteFile. There is no handling of the output as far as I can tell. You can try contacting the author. In the mean time, write it directly to a file instead. Quote:
IntOp $PostCount $PostCount + 1 |
|
![]() |
![]() |
![]() |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|