-
My Environment :
Host OS : winxp sp3
language : Traditional Chinese (Taiwan)
Target OS is same as Host
wpe-core.exe stop responding and quit when I build the Gena_Appetizer project.
Is Gena Project support Traditional Chinese (Taiwan) language? Or I miss something?
-
As far as I know it should be supported.
(http://gena.cwcodes.net/chineseHK.png)
Regards,
Galapo.
-
Thanks for reporting cobraman,
Yes Galapo it is supported
[attach=1]
problem is elsewhere,
Host OS : winxp sp3 - "Traditional Chinese (Taiwan)"
cobraman, we missed this because things works on our hostOS (enu, fra, trk, rus...)
need some time to fix :thumbsup:
-
Thanks for your reply :grin:
I will change English HOST, test again and report later.
-
Hmmm, interesting. I tested XPsp2 enu source under zh-tw host, which resulted in no error for me.
Regards,
Galapo.
-
Both US and TW Host are not working for me ....
Does wpe-core.exe need some components installed on host ?
[attach=1]
-
it should not :undecided:
Our results ~mismatch, Here are my test results using 2 fresh installed HostXPSP3 :
Host: XPSP3-en-us + Source: XPSP3-en-us = Success
Host: XPSP3-en-us + Source: 2k3SP3-zh-tw = Success
Host: XPSP3-zh-tw + Source: XPSP3-en-us = Success (Confirming Galapo)
Host: XPSP3-zh-tw + Source: 2k3SP3-zh-tw = UnSuccess --> Same error you get :cool:
since UnSuccess part is very reproducable, just give some time :thumbsup:
with some, I do not mean hours, we are here as hoby people :thumbsup:
-
It is time-consuming work.
Thank for your help.
-
I've found that the error appears during the function __KERNEL32_MULTIBYTETOWIDECHAR.
I've tried playing around with it a bit changing "str" to "struct*". That makes the error disappear, but then other errors appear about not being able to open INF files and so forth. I don't really know much about these functions and I can't work out what's wrong and how to fix it. And why it occurs only for matching Chinese simplified Host and Source.
Regards,
Galapo.
-
I've found that the error appears during the function __KERNEL32_MULTIBYTETOWIDECHAR.
I've tried playing around with it a bit changing "str" to "struct*". That makes the error disappear, but then other errors appear about not being able to open INF files and so forth. I don't really know much about these functions and I can't work out what's wrong and how to fix it. And why it occurs only for matching Chinese simplified Host and Source.
Regards,
Galapo.
Is the size of string buffer too small ?
-
Could be it, but I can't figure out what to do. Just guessing and testing.
Here's the original functions:
__FILE_ANSITOUNICODE($SOURCE_WIN & "DRVINDEX.INF", $TEMPFOLDER & "DRVINDEX.INF", $LCIDINFO[2])
Func __FILE_ANSITOUNICODE($PKAYNAKDOSYA, $PHEDEFDOSYA = "", $CODEPAGE = 0)
If $PHEDEFDOSYA = "" Then $PHEDEFDOSYA = $PKAYNAKDOSYA
Local $TMPTEXT = FileRead($PKAYNAKDOSYA)
$TMPTEXT = __KERNEL32_MULTIBYTETOWIDECHAR($TMPTEXT, $CODEPAGE)
If FileExists($PHEDEFDOSYA) Then FileSetAttrib($PHEDEFDOSYA, "-R")
Local $HEDEFDOSYA = FileOpen($PHEDEFDOSYA, 34)
FileWrite($HEDEFDOSYA, $TMPTEXT)
FileClose($HEDEFDOSYA)
$TMPTEXT = 0
EndFunc ;==>__FILE_ANSITOUNICODE
Func __KERNEL32_MULTIBYTETOWIDECHAR($TEXT, $CODEPAGE)
$RETURN = DllCall($KERNEL32, "int", "MultiByteToWideChar", "uint", $CODEPAGE, "dword", 0, "STR", $TEXT, "int", -1, "ptr", 0, "int", 0)
$WCSTR = DllStructCreate("wchar[" & $RETURN[0] & "]")
$RETURN = DllCall($KERNEL32, "int", "MultiByteToWideChar", "uint", $CODEPAGE, "dword", 0, "STR", $TEXT, "int", -1, "ptr", DllStructGetPtr($WCSTR), "int", $RETURN[0])
Return DllStructGetData($WCSTR, 1)
EndFunc ;==>__KERNEL32_MULTIBYTETOWIDECHAR
With your Chinese source, $LCIDINFO[2] is passed as 950.
Any ideas?
Thanks,
Galapo.
-
Local $TMPTEXT = FileRead($PKAYNAKDOSYA)
$TMPTEXT = __KERNEL32_MULTIBYTETOWIDECHAR($TMPTEXT, $CODEPAGE)
I think above two line will induce error.
$TMPTEXT of __KERNEL32_MULTIBYTETOWIDECHAR is passed by reference
Normally, size of $TMPTEXT Output from __KERNEL32_MULTIBYTETOWIDECHAR is larger then its input.
$TMPTEXT must enlarge its buffer size before pass to __KERNEL32_MULTIBYTETOWIDECHAR
Double the $TMPTEXT's size will be safe.
-
I am not familiar with autoit, I think I will check it futher.
-
You can get the entire sourcecode by running 'wpe-core.exe /BlueLife'.
I'll keep investigating too. I'm still not sure why the Chinese source works for me under English Host system but not the same Chinese one.
Regards,
Galapo.
-
Thanks you so much :grin: :lol: :thumbsup:
-
When I execute 'wpe-core.exe /BlueLife' command, wpe-core.exe ask me for specifying xp source directory, and extract some files from source CD and stop responding just like WinBuilder call it.
Could you give me the source of wpe-core.exe and let me study it ?
Thanks again
-
:lol:
Try
wpe-core.exe /Saydin77
Tip: If (verry mostly :wink: on project core executables :cool:) executable provides its sourcecode inside,
such information is at its "Properties"->"Version"->"SourceCode" :wink: :thumbsup:
-
:embarrassed: I'm so used to typing '/BlueLife' to get sourcecodes (at least, that's my excuse :lol:). Sorry to the great Saydin77!
-
:lol:
Try
wpe-core.exe /Saydin77
Tip: If (verry mostly :wink: on project core executables :cool:) executable provides its sourcecode inside,
such information is at its "Properties"->"Version"->"SourceCode" :wink: :thumbsup:
YES,I Got it. Thanks a lot. :thumbsup:
:embarrassed: I'm so used to typing '/BlueLife' to get sourcecodes (at least, that's my excuse :lol:). Sorry to the great Saydin77!
You let me know I can get source code from its executable. Thank anyway. :lol:
-
Original func __FILE_ANSITOUNICODE that read all data of mbcs file into autoit buffer (i.e.$TMPTEXT), trasnsfer ,then write to new unicode file,
that will generate system fault at first "DllCall" of func __KERNEL32_MULTIBYTETOWIDECHAR
Now I use line by line trasnfer, then error of wpe-core.exe fix.
Maybe buffer size of Autoit's variable is not large enough to hold all data from file IN MY HOST.
Now I still have Winbuilder-relative problems when building my XPE IN MY HOST, It seem not easy to solve.
This is my __FILE_ANSITOUNICODE
Func __FILE_ANSITOUNICODE($PKAYNAKDOSYA, $PHEDEFDOSYA = "", $CODEPAGE = 0)
Local $HEDEFDOSYA
If $PHEDEFDOSYA <> "" Then
$HEDEFDOSYA = FileOpen($PHEDEFDOSYA, 34)
Else
If FileExists($PKAYNAKDOSYA&".tmp") Then FileSetAttrib($PKAYNAKDOSYA&".tmp","-R")
$HEDEFDOSYA = FileOpen($PKAYNAKDOSYA&".tmp", 34)
EndIf
Local $KAYNAKDOSYA = FileOpen($PKAYNAKDOSYA)
; Read in lines of text until the EOF is reached
While 1
Local $line = FileReadLine($KAYNAKDOSYA)
If @error = -1 Then ExitLoop
$line = __KERNEL32_MULTIBYTETOWIDECHAR($line, $CODEPAGE)
FileWriteLine($HEDEFDOSYA, $line)
$line = 0
WEnd
FileClose($HEDEFDOSYA)
FileClose($KAYNAKDOSYA)
If $PHEDEFDOSYA = "" Then
FileDelete($PKAYNAKDOSYA)
FileMove($PKAYNAKDOSYA&".tmp", $PKAYNAKDOSYA)
EndIf
EndFunc ;==>__FILE_ANSITOUNICODE
-
Hi cobraman,
Thanks for your help in identifying the problem and working at the solution. I'll test you code a bit later today.
Thanks,
Galapo.
-
Hi Lancelot,
cobraman's code seems to have fixed the issue with the buffer overrun.
But now we're geting errors with lines like this from the Profile Create Folders plugin:
If,ExistFile,"%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools\desktop.ini",ShellExecute,Hide,attrib.exe,"-S -H #$q%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools\desktop.ini#$q"
Else,FileCreateBlank,"%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools\desktop.ini"
Updated wpe-core to test: https://dl.dropbox.com/u/3801579/temp/wpe-core.7z
Any ideas?
Thanks,
Galapo.
-
using code
Set,%tmpDir%,"%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools"
Set,%tmpFile%,"%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools\desktop.ini"
If,Not,ExistDir,%tmpDir%,DirMake,%tmpDir%
If,ExistFile,%tmpFile%,ShellExecute,Hide,attrib.exe,"-S -H #$q%tmpFile%#$q"
Else,FileCreateBlank,%tmpFile%
IniWrite,%tmpFile%,.ShellClassInfo,LocalizedResourceName,@shell32.dll#$c-21788
ShellExecute,Hide,attrib.exe,"+S +H #$q%tmpFile%#$q"
ShellExecute,Hide,attrib.exe,"+S +R #$q%tmpDir%#$q"
to replace
If,Not,ExistDir,"%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools",DirMake,"%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools"
If,ExistFile,"%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools\desktop.ini",ShellExecute,Hide,attrib.exe,"-S -H #$q%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools\desktop.ini#$q"
Else,FileCreateBlank,"%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools\desktop.ini"
IniWrite,"%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools\desktop.ini",.ShellClassInfo,LocalizedResourceName,@shell32.dll#$c-21788
ShellExecute,Hide,attrib.exe,"+S +H #$q%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools\desktop.ini#$q"
ShellExecute,Hide,attrib.exe,"+S +R #$q%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools#$q"
can fix this error.
Because WinBuilder error exapnd the following command, there is one extra double-quote at the end
FileCreateBlank,"%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools\desktop.ini"
Code like %TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools\desktop.ini are everywhere in winbuilder project.
Correctness of the rest of part is in doubt.
So build project in Traditional Chinese XP host seems not a good idea.
-
Oh dear I hate these WB bugs! :frusty:
It seems dropping the quotes from the original lines works. Changing this
Else,FileCreateBlank,"%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools\desktop.ini"
IniWrite,"%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools\desktop.ini",.ShellClassInfo,LocalizedResourceName,@shell32.dll#$c-21788
to this
Else,FileCreateBlank,%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools\desktop.ini
IniWrite,%TargetProfilesBaseDir%\%PB%\%DU%\%StartMenu%\%Programs%\System Tools\desktop.ini,.ShellClassInfo,LocalizedResourceName,@shell32.dll#$c-21788
It's interesting that this quote-dropping is not needed under other non-Chinese host systems.
I'd like Lancelot's thoughts on all of this when he comes around. He's done a lot of work over the years on localisation of names and so on.
We will get a tidy solution to build under Traditional Chinese host, I'm sure. Thanks to your reporting, solution-finding, and testing. :great:
Regards,
Galapo.
-
Oh dear I hate these WB bugs! :frusty:
who does not :frusty:
But good part, I was already prepared for such conditions when working on this some years ago :thumbsup:
You know I like "safety" :cool:
When we have a better batch utility for builds, we can do more....
@cobraman
here is an update
Gena\Basic\Build\"3 - Profile 1 Prepare.Script"
http://www.sendspace.com/file/arn6c8
(also on Gena server)
after disableing MMC, you will be able to build under Traditional Chinese host with Chinese source :thumbsup:
MMC may also be fixed easly with your findings,
I believe same fix on wpe-core required at MscTitle.exe, if one of you can take a quick look at....
And All will work nicely :thumbsup:
-
update:
msctitle works ok :thumbsup: (nothing to fix there)
mmc plugin also works ok if you disable all shortcut options :thumbsup:
@Galapo
If,Not,%pCheckBox8%%pCheckBox10%,Equal,FalseFalse,Add_Shortcut,StartMenu,%StartMenuFolder%,"#$pSystemRoot#$p\system32\#1",%MscTitleAppTitleVar%
line do not work ok, I mayyy fix this via mmc (there is already a solution I had made there ;)),
besides
Message,%MscTitleAppTitleVar%,Information
before this line shows correct, so maybe same info can be used by FreeShc.exe , or not ?
I will follow your results on mmc :thumbsup:
-
Is the variable passed to the Macro Library plugin, or it simply stalls at the line in MMC plugin?
-
nice catch indeed ( Answer: no ) :thumbsup: why didn't I thought :w00t: I feel I am a bit dizzy these days :lol:
I will update mmc and inform here :great:
-
here is an update
Gena\Components\Core\1 System\"MMC"
http://www.sendspace.com/file/3jxdg1
(also on Gena server)
So far, Chinese host with Chinese source troubles seems fixed :lol:
Thanks cobraman , Waiting your nice results I hope you find more stuff :thumbsup:
-
This my New Testting
Project : Gena_Appetizer (unmodify)
Host XPSP3-en-us + Source:XPSP3-zh-tw
Build : Success
Target ISO Test in VMWare : Shell frozen after I open and close "My Computer"
Project : Gena_Appetizer + new 3 - Profile 1 Prepare.Script + new wpe-core.exe
Host XPSP3-zh-tw + Source:XPSP3-zh-tw
Build : Success
Target ISO Test in VMWare : Shell frozen after I open and close "My Computer"
Project : Gena_Meal + new 3 - Profile 1 Prepare.Script + new wpe-core.exe + new MMC.script
Host XPSP3-zh-tw + Source:XPSP3-zh-tw
Build : Success
Target ISO Test in VMWare : work great(I love it) :thumbsup:
why Gena_Appetizer can not work fine
-
Project : Gena_Appetizer (unmodify)
Host XPSP3-en-us + Source:XPSP3-zh-tw
Build : Success
Target ISO Test in VMWare : Shell frozen after I open and close "My Computer"
Hi cobraman,
Yep I confirm, this happens on xpsp3-zh-tw source but not 2k3sp2-zh-tw source,
missed from eyes since I had used 2k3 sources when working on Extended Language sources some years ago and even recently... :embarrassed:
Further, closing explorer from taskmanager and running again fixes !!!
I remember this trouble in very history, Galapo highly probably remember better...
Maybe JFX can give a hand, since Explorer is one of his expertise...
Meanwhile here are some tips:
Tip:
Appetizer is simply: Default Basic plugins + CreateISO
Also there is: \Gena\Utils\"ScriptManager" --> Scrollbox near Restore :wink:
I feel zip packages will also updated soon, maybe weekend , following your further findings :wink:
Tip:
on current builder, right top, there is download button, where you can download updated plugins,
this does not work perfect .... , but only good if you are quickly catching new stuff ;)
for a full update which works perfect, there is
Gena\Utils\"Update Gena (Exact and Secure)" (First See Tip at the bottom of http://theoven.org/index.php?topic=159 )
Tip:
you can use Basic\Xerox\BackupRestore
on your tests, to test things faster .... :wink:
-
Further, closing explorer from taskmanager and running again fixes !!!
I remember this trouble in very history, Galapo highly probably remember better...
No, I cannot remember.
Thankfully, cobraman reports that Gena_Meal + new 3 - Profile 1 Prepare.Script + new wpe-core.exe + new MMC.script is working.
I tested 2k3sp2-zh-tw source, you've done a great job, OS shortcuts and folders are showing with Chinese characters nicely.
Regards,
Galapo.
-
Why there are so many files remain compressed? is it correct?
[attach=1]
Thank both of you.
I will keep testting,feedback if I found some.
-
Hi cobraman,
new Explorer plugin on server,
Source:XPSP3-x86-zh-tw - Shell frozen after I open and close "My Computer" --> Fixed :thumbsup:
out of this subject, new mmc on server too, with minor fix :wink:
compressed files are loaded by system at verrrry early boot,
that is the reason they remain compressed in order not to waste space... :great:
-
Great :thumbsup: :thumbsup: :thumbsup:
Good Job :great: :great: :great:
sorry My bad English.
I can not clear and short description what I mean.
I will test it later and report.
-
Project : Gena_Appetizer + 3 - Profile 1 Prepare.Script + wpe-core.exe + explorer.script
Host XPSP3-zh-tw + Source:XPSP3-zh-tw
Build : Success
Target ISO Test In VMWare : Work fine.
Just confirm, Compresed files in system32/drivers is unsed ?
History066=Lancelot Yet another stupid winbuilder bug workaround :tongue:
-
Thanks for confirmation :thumbsup:
Just confirm, Compresed files in system32/drivers is unsed ?
No,
They are used :thumbsup:
Don't worry about them :great:
-
Most of the compressed files are due to using the mass storage drivers plugin. If you are not needing to support these in the build, then disable it.
The plugin simple makes use of the DriverPacks.net integration. They know which drivers can and should be compressed. setupldr has a memory limit, and using compressed mass storage drivers you can load more drivers than you would be able to otherwise.
Hope this helps. Further information I guess should be available at the DriverPacks forum.
Regards,
Galapo.
-
Project : Gena_Meal + 3 - Profile 1 Prepare.Script + wpe-core.exe + Explorer.script + MMC.script
Host XPSP3-zh-tw + Source:XPSP3-zh-tw
Build : Success
Target ISO Test in VMWare : work great
This is a hard and perfect Project, I deeply appreciate participators of this project.
In Taiwan, It is hard to make our PE, I think many people will be very happly now.
I will remain test and report if I found some.
Thanks all of you again.
-
Thanks cobraman. :great: Feedback is how things can progress.
I'm glad we've been able to get your source to build under your normal OS.
Regards,
Galapo.
-
Thanks for nice words cobraman :xmas-thumbsup:
Hehe, I had same feelings when I make my Turkish PE :lol:
Along with your feedback, Now it is easy to make PE Taiwan too :cheers:
See You Around
:ymca:
-
Gena work fine on Win7_x64-zh-tw Host :thumbsup:
-
Thanks for reporting cobraman,
New 2 - saydin77_Core.Script on server with latest wpe-core :thumbsup:
So now all new stuff on server, and will be inside next zip distribution update :cheers: