Topic: PEBakery Test Build  (Read 40074 times)

PEBakery Test Build
« on: October 31, 2017, 01:58:01 PM »

ied206

  • Moderator,
  • Chef
  • *****
  • Location: South Korea
  • Date Registered: Jan 2014
  • Posts: 257
I need your help to support Win10PESE correctly in PEBakery (a WinBuilder 082 alternative).

Build 20171031

EDIT
TestBuild taken down because of potential license issue.
Please use beta 2 or later, sorry for inconvenience.

In theory, all commands used by Win10PESE had been implemented in August.
However, there are so many bugs, so I have been writing unit tests for months.

The biggest problem is the infinite loop in "1 - Copy Files" plugin.
When PEBakery builds Win10PESE, the program will cause infinite loop in "Build\1-files.script."

Log File : * LogDebugDump_20171031.7z (225.89 kB - downloaded 189 times.)

(Note1: This log is written in PEBakery text format, not in WB082 html format.)
(Note2: If build is force-stopped, then 1-files.script will set to "Selected=None", and should be changed back to "Selected=True" manually.)

I noticed some parts of plugin are designed to try again if failures are detected, but could not trace exact cause.
Can anyone figure out this problem?

Source (Licensed under GPLv3): https://github.com/ied206/PEBakery

How to test
Extract PEBakery.exe and Binary directory into the root directory of Win10PESE (aka %BaseDir%).
Run PEBakery.exe with administrator privileges.
.Net Framework 4.7+ and Windows 7 or upper is required.

You can export your own log into text format.
After build, press Log button, goto 'Build Log' tab, choose the correct build, then export.
ila_rendered

It is strongly advised to backup your files, a single bug can corrupt your system!
« Last Edit: January 20, 2018, 07:48:01 PM by ied206 »

Re: PEBakery Test Build
« Reply #1 on: November 05, 2017, 05:18:52 PM »

ied206

  • Moderator,
  • Chef
  • *****
  • Location: South Korea
  • Date Registered: Jan 2014
  • Posts: 257
Build 20161106

EDIT
TestBuild taken down because of potential license issue.
Please use beta 2 or later, sorry for inconvenience.

Changelog
[Bugfix]
Many bugs has been fixed.
Most notably, Infinite loop at 1-files.script was resolved. (Caused by faulty Exec command implement)

[Feature]
- Plugin syntax check feature was added.
  Click the new check button under plugin refresh button.

Known Issues
- When building Win10PESE, it crashes at 1-Explorer.script.
  It is caused by circular reference of variables.
« Last Edit: January 20, 2018, 07:48:53 PM by ied206 »

Re: PEBakery Test Build
« Reply #2 on: November 07, 2017, 10:54:08 PM »

Lancelot

  • Moderator, Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Hi ied206,

It is strongly advised to backup your files, a single bug can corrupt your system!

I do not have a virtual Win10 at hand, so I avoid test "Build",
 Still here are things I notice:

*
VirtualTest\BestEmulation
Download button on plugin works.

*
VirtualTest\BestEmulation
I test Compare button on plugin (yellow), it did not work:
Code: [Select]
[2017-11-08 01:14:02 AM] [Error] Invalid argument [0], must be [True] or [False] [Process_Button="Run ISO with Best Available Virtual Machine",1,8,21,23,298,75,Process,virtual-desktop4848.bmp,0]

*
Utils\Downloads -> Update\Downloads\ button work  :thumbsup:
but 1 missing:
Code: [Select]
[Refresh_P]
System,RESCANSCRIPTS
did not work.

*
Log :
If we can have an active log screen (line by line - maybe like debug log) to see what is going on during process,
 So we can feed back for bugs and other related things
  ?

*
A PEBakery system variable would be nice
ex:
%Bakery%=1
or
%Bakery%=True
or
what you think ?

so we can add 0 or false to all current projects script.project , PEBakery overrides  :wink:
--> This way we can add PEBakery special commands to current plugins when required.

ex:
Utils\Downloads plugin:

Code: [Select]
[Refresh_P]
If,%Bakery%,Equal,0,System,RESCANSCRIPTS
If,%Bakery%,Equal,1,System,ReScan,%ProjectDir%\Downloads

I theoretically invent System,Rescan syntax to give a PEBakery special command example.  :wink:

*
.bmp files on plugins prepared to have transparent background

ex:
Button_Download=
...
DoubleJDesignRavenna3dArrowDown0016016.bmp


Different utilities use different ways to convert an 16x16 .ico to 16x16 .bmp for transparency on .bmp .
Also Picture Viewers for .bmp files view different, some show black other show white, some show transparent.
I had choosen the one winbuilder use transparent on all plugins.

ex: VirtualTest\BestEmulation
winbuilder -> Download , Upload , Compare buttons rendered to have a transparent background
PEBakery -> Download , Upload buttons rendered to have a white background
                   Compare button rendered to have a black background

only cosmetics I notice.  :wink:

*
Restarting PEBakery is very nice and VERY FAST  :cool: :great: :great:

*
I have very very low time these days, only support forum and add some apps plugins.
(only one exception, "StartMenu Local Apps" )
 I need Mid-Term time holiday to spend more time. ~ 10 weeks.
  Till then I will try to feedback slowly as much as I can.


I hope above helps.


:turtle:

Re: PEBakery Test Build
« Reply #3 on: November 08, 2017, 12:55:49 AM »

ied206

  • Moderator,
  • Chef
  • *****
  • Location: South Korea
  • Date Registered: Jan 2014
  • Posts: 257
Build 20171108

EDIT
TestBuild taken down because of potential license issue.
Please use beta 2 or later, sorry for inconvenience.

- Lots of bugs are fixed
Using default Win10PESE setting, PEBakery can build entire project with under 50 error.
Most of the error is caused by syntax error like typo.

Most critical typo resides in yy_1-postconfig.script:
Code: [Select]
If,%pCompressionGroup%,Equal,0,ShellExecute,%ShowWimlib%,%WimlibImagex%,"capture #$q%BootTMP%#$q #$q%TargetImage%\sources\boot.wim#$q #$q%ImageName%_%SourceArch%#$q #$q%ImageName%_%SourceArch%#$q --boot --flags=9 --compress=XPRESS --verbose
If,%pCompressionGroup%,Equal,1,ShellExecute,%ShowWimlib%,%WimlibImagex%,"capture #$q%BootTMP%#$q #$q%TargetImage%\sources\boot.wim#$q #$q%ImageName%_%SourceArch%#$q #$q%ImageName%_%SourceArch%#$q --boot --flags=9 --compress=LZX --verbose

There are no doublequote in the end, causing parsing error.
As a result, no wim file will be created in PEBakery.

So to ensure compatibility, all of the typos should be found and fixed.

- Auto Syntax Checking
So auto syntax checking feature was added.
Open the plugin, and watch the color of small check button on the right.
Click the orange check button to see which command is causing the error.

Error
ila_rendered

Success
ila_rendered

Syntax checker cannot detect all of the codes (Ex the section called by other plugin, not itself), but it is still useful to catch typos.


Below is my answer to Lancelot:

1. UI Parsing
VirtualTest\BestEmulation
I test Compare button on plugin (yellow), it did not work:
Code: [Select]
[2017-11-08 01:14:02 AM] [Error] Invalid argument [0], must be [True] or [False] [Process_Button="Run ISO with Best Available Virtual Machine",1,8,21,23,298,75,Process,virtual-desktop4848.bmp,0]

Interface parsing need more polishing, and some of them are undocumented.

For example, according to WinBuilderN.chm:
Code: [Select]
cmpButton : Caption,Visibility,Type,X,Y,Width,Height,SectionToRun,Picture,[ShowProgress],[Tooltip]

However, many interface commands has more arguments than spec:
(Which seems to be duplicated, especially section and showProgress)
Code: [Select]
Button_Download=,1,8,403,21,24,24,DownloadXXX,DoubleJDesignRavenna3dArrowDown0016016.bmp,False,False,_DownloadXXX_,False,"__DOWNLOAD Plugin"

At least in compare button, the command is just using different notation (0-1 vs False-True), it will be fixed easily.

2. System,RescanScripts
Utils\Downloads -> Update\Downloads\ button work  :thumbsup:
but 1 missing:
Code: [Select]
[Refresh_P]
System,RESCANSCRIPTS
did not work.

System,RescanScript command was fixed in recent build.

3. View log on-the-fly
Log :
If we can have an active log screen (line by line - maybe like debug log) to see what is going on during process,
 So we can feed back for bugs and other related things

PEBakery already have this, just click the Log button in upper right, and click Build Log tab while buliding.
LogWindow is capable of displaying log on-the-fly.



4. PEBakery-specific variable
A PEBakery system variable would be nice
ex:
%Bakery%=1
or
%Bakery%=True
or
what you think ?

Variables like %PEBakery% (True/False) will be useful.

In fact, PEBakery already have its own-defined variables.
%Version% is always 082, to assure compatibility with this line in 1-files.script:
Code: [Select]
CopyDir=Run,%ScriptFile%,PCopy_Dir_%version%

Instead, %EngineVersion% for integer version (Ex 090), %PEBakeryVersion% for string version (Ex 0.9.0 alpha) was added.
In current version, it is recommend to use %EngineVersion% to detect PEBakery.

If 1-files.script is patched not to make an assumption of "%Version% is always 082", then %Version% can be patched to have value of 090 or higher.


5. System,Rescan
Code: [Select]
[Refresh_P]
If,%Bakery%,Equal,0,System,RESCANSCRIPTS
If,%Bakery%,Equal,1,System,ReScan,%ProjectDir%\Downloads

I theoretically invent System,Rescan syntax to give a PEBakery special command example.  :wink:

System,Rescan command is good idea.
Just for information, in current build, using System,RefreshInterface will reload plugin internally.


6. Buttom Image transparency
.bmp files on plugins prepared to have transparent background

ex:
Button_Download=
...
DoubleJDesignRavenna3dArrowDown0016016.bmp

It seems white and black is interpreted into tranaparent color in WB082, am I right?
While I think using png or svg is more suitable for transparency, I will try to fix this if I have time.


7. Plugin Cache Database
Restarting PEBakery is very nice and VERY FAST  :cool: :great: :great:

Note that change of the PEBakery version will flush the cache.
It is to prevent plugin corruption by internal change.


8. Variable in command name
In some plugin, variable is used in command name.

VMware.script:
Code: [Select]
ShellExecute%Ex%,Open,%execute%,%switches%#$s#$s#$q%VMXFile%#$q

PEBakery does not support this grammar, since it parses plugin before execute.
That is why PEBakery can auto check syntax error even though it is not building.
Supporting this will take too much time, but with too low reward.

Fortunately, this method is used only in few plugins (notably in VirtualTest).
I propose this line should be changed like this:

Code: [Select]
If,%Ex%,Equal,,ShellExecute,Open,%execute%,%switches%#$s#$s#$q%VMXFile%#$q
If,%Ex%,Equal,Ex,ShellExecuteEx,Open,%execute%,%switches%#$s#$s#$q%VMXFile%#$q

What do you think?
« Last Edit: January 20, 2018, 07:49:56 PM by ied206 »

Re: PEBakery Test Build
« Reply #4 on: November 08, 2017, 12:48:53 PM »

Lancelot

  • Moderator, Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Hi ied206,

Following "Auto Syntax Checking" updated plugins

Main Configuration
Build\Retrieve Tools
Build\0 - PreConfig
Build\1 - Copy Files
Build\5 - WoW64 Basic
Shell\1 - Explorer Shell
Apps\File Tasks\Total Commander
Apps\Network\Flash Add
Apps\Supplementary\Office\SumatraPDF
Finals\PostConfig
Finals\StartMenu Local Win
VirtualTest\Best Emulation
VirtualTest\qEmu Emulation
VirtualTest\qEmu X Emulation
VirtualTest\VMware Emulation

I hope this helps to more easy PEBakery development.

*
It seems white and black is interpreted into tranaparent color in WB082, am I right?
Do that way for now, let's see how it goes.  :wink:  :thumbsup:

*
I do not understand error:
Apps\Components\.Net Framework
[1/2] Cannot parse Section [EnableFeature] : Else must be used after If (Else,Begin)
[2/2] Cannot parse Section [DisableFeature] : Else must be used after If (Else,Begin)

I feel missing feature on PEBakery

ScrollBox running a section ([CopyModeChange]) is very rare,
Let me know how to fix to get PEBakery compatible. ?

*
Shell\0-Shell Loader
[1/1] Invalid argument [True], must be integer [RadioGroup_ShellLoader="Choose Shell Loader",1,14,5,20,140,79,Pecmd,PeShell,"Custom Pecmd",0,_Shell_Choice_,True] ()

A RadioGroup running a section ([Shell_Choice]) is VERY VERY rare

Let me know how to fix to get PEBakery compatible. ?



*
let PeBakery support old button format:

ex:

PluginManager:
OpendirSMFilesButton=,1,8,475,204,24,24,Opendir_SMFiles,opendir.bmp,"__Open Custom .ini Folder"
HiveUnload:
Button_HiveUnload_Target="HiveUnload: Target + ProjectTemp + MountFolders",1,8,15,17,293,46,HiveUnload_Launch_B,HiveUnload3232.bmp,0,"__UnLoad hives"

ps:
Evolution of button naturally went this way:
First with section to process:
OpendirSMFilesButton=,1,8,475,204,24,24,Opendir_SMFiles
Than added picture support
OpendirSMFilesButton=,1,8,475,204,24,24,Opendir_SMFiles,opendir.bmp
Than added "progress show" support
OpendirSMFilesButton=,1,8,475,204,24,24,Opendir_SMFiles,opendir.bmp,0
Than added Tip support
OpendirSMFilesButton=,1,8,475,204,24,24,Opendir_SMFiles,opendir.bmp,0,"__Open Custom .ini Folder"
Than changed format
OpendirSMFilesButton=,1,8,475,204,24,24,Opendir_SMFiles,opendir.bmp,False,False,"__Open Custom .ini Folder"

Buttons should not effect build speed and there are too many plugins to fix buttons.
I hope it is easy PEBakery support old format.


*
ShellExecute%Ex% is very rare, I updated new plugins on server.  :thumbsup:
Let me know if you find another one.  :thumbsup:

*
PEBakery already have this, just click the Log button in upper right, and click Build Log tab while buliding.
LogWindow is capable of displaying log on-the-fly.
Well I do not build for now.
Testing buttons etc. It is always good to see detailed log.

*
Note that change of the PEBakery version will flush the cache.
It is to prevent plugin corruption by internal change.
Naturally.  :thumbsup:
It is great to see things work fine with cache.  :great:

I have more ideas later....

*
Cosmetics:
\Downloads\
is under
\Utils\
-->
\Utils\
\Downloads\
it should be opposite
\Downloads\
\Utils\

*
Cosmetics:
WebLabel_Plugin="Plugin Page",1,10,338,4,55,18,http://TheOven.org/index.php?board=9
-->
Interface only writes
Plugin

WebLabel_Homepg=HomePage,1,10,296,4,51,18,http://theoven.org/index.php?board=36.0
Interface only writes
HomePag




*
I will check and respond more with "Auto Syntax Checking" later this weekend I hope.


Time.... :turtle:
« Last Edit: November 08, 2017, 08:05:57 PM by Lancelot »

Re: PEBakery Test Build
« Reply #5 on: November 08, 2017, 08:31:04 PM »

Lancelot

  • Moderator, Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Hi ied260

At "0 - Shell Loader"
RadioGroup_ShellLoader="Choose Shell Loader",1,14,5,20,140,79,Pecmd,PeShell,"Custom Pecmd",0,_Shell_Choice_,True

0
 is there to get %RadioGroup_ShellLoader% variable value
_Shell_Choice_
-> is to process [Shell_Choice] section
True
-> progress window

===>
RadioGroup
Evolution:

A simple RadioGroup:
Test_RadioGroup=RadioGroup,1,14,411,53,150,150,Option1,Option2,Option3,2

If user add only Tool Tip:
Test_RadioGroup=RadioGroup,1,14,411,53,150,150,Option1,Option2,Option3,2,__Tip

If user Add "Section To Run"
Test_RadioGroup=RadioGroup,1,14,411,53,150,150,Option1,Option2,Option3,2,_RunSection_,False,__Tip
or
Test_RadioGroup=RadioGroup,1,14,411,53,150,150,Option1,Option2,Option3,2,_RunSection_,False

Programatically,
you need to find last , value
If value starts with
__

Than -1 value
If -1 value is True or False
than -2 value is the value of RadioGroup

ex:
Test_RadioGroup=RadioGroup,1,14,411,53,150,150,Option1,Option2,Option3,2,_RunSection_,False,__Tip
14 = starts with __
14-1 = 13 start with False
13-2 = 11 = 2
%Test_RadioGroup%=2

Test_RadioGroup=RadioGroup,1,14,411,53,150,150,Option1,Option2,Option3,2,_RunSection_,False
13 = starts with False
13-2 = 11 = 2
%Test_RadioGroup%=2

Test_RadioGroup=RadioGroup,1,14,411,53,150,150,Option1,Option2,Option3,2
11 = do not start with __
11 = not true not faluse
11 = 2
%Test_RadioGroup%=2

***
As far as I know this is the logic of RadioGroup

 :wink:

:turtle:

Re: PEBakery Test Build
« Reply #6 on: November 08, 2017, 10:54:25 PM »

Lancelot

  • Moderator, Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Hi ied206,

updated plugins

Components\.Net Framework
Apps\Supplementary\Office\SumatraPDF
WriteMedia\Copy to USB-Device
Utils\Downloads
Utils\PC Packed
Utils\PC Provide Files
Utils\PC Innounp
Utils\Update XXX (Exact and Secure)

*
PEBekary Log viewer -> Log (Detail)
 ---> I follow things when I press buttons.  :thumbsup:
(ex: Download Plugin button - Advanced Interface buttons on plugins (ex: 7-zip plugin))

Buttons works BUT VERY very slow for now.  :wink:

*
Apps\System Tools\Debug\Sysinternals_Process_Monitor
Auto Syntax Checking only checks 94,1%
Section Coverage : 94,1% (16/17)

Auto Syntax Checking gives warning, still plugin is ok. Only informing.

*
I feel I do all required updates with Win10PESE using Auto Syntax Checking now.
I hope it is now easier to test PEBakery with Win10PESE.

Let me know if you need more for Win10PESE.

I will check other projects & plugins slowly.



:turtle:

Edit:
update
Build\HostOS Import Manager
« Last Edit: November 09, 2017, 11:29:27 AM by Lancelot »

Re: PEBakery Test Build
« Reply #7 on: November 10, 2017, 01:39:37 PM »

Lancelot

  • Moderator, Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Hi ied206,

Test
Gena Appetizer
http://gena.cwcodes.net/Compressed/index.php

*
It seems EngineVersion not working properly during build (PrepPE)

*
Order of Folders are wrong:
Tweaks
Components
VirtualTest
Finals

it should be:

Components
Tweaks
Finals
VirtualTest

*
after clicking "Build"
Hidden Plugin: Finals\0 RegFactory --> goes top of process

==> there seems to be a trouble with order of plugins....



*
It is not easy to follow log to point out where trouble is.



*
I finished all my updates on servers (Win10PESE and Gena) to test PEBakery.

It will be good to have a "Syntax Check" for all plugins under a project tree.  :wink:



 Rest is on your hands.  :great:

:turtle:

Re: PEBakery Test Build
« Reply #8 on: November 12, 2017, 12:06:20 PM »

ied206

  • Moderator,
  • Chef
  • *****
  • Location: South Korea
  • Date Registered: Jan 2014
  • Posts: 257
Build 20171112

EDIT
TestBuild taken down because of potential license issue.
Please use beta 2 or later, sorry for inconvenience.

Notable Change:
- Lots of bugs are fixed.
- UIRender now recognize optional <SectionToRun>,<HideProgress> properly in Button, CheckBox, RadioButton.
- Variable system works almost flawlessly.
- RegRead and RegWrite was rewritten.

Win10PESE Test Result:
- Build is done without errors.
- Generated file tree and registries are almost identical.
- ISO is halfway bootable. (pecmd tries to load envrionment, but stuck in black screen)

WB082 takes about 7 minutes to build, while Unoptimized (Debug Mode) PEBakery takes 8min ~ 10min.

Current Obstacle
Built ISO freezes after pecmd is run.
I cannot determine the exact cause.

EDIT : Using System32\catroot, System32\DriverStore from WB082-produced Target solves problem.
Seems DirCopy command implementation is faulty.

Note for Testing
I personally test PEBakery on my main system without using isolated sandbox.
I hadn't faced data corruption, so I assume there are no critical issue which can harm system.
However, it is still highly recommended to backup your files in case of unknown unrecoverable error.



Thanks for Lancelot's update and information, Win10PESE can be built without any error.

Shell\0-Shell Loader
[1/1] Invalid argument [True], must be integer [RadioGroup_ShellLoader="Choose Shell Loader",1,14,5,20,140,79,Pecmd,PeShell,"Custom Pecmd",0,_Shell_Choice_,True] ()

let PeBakery support old button format:

Cosmetics:
\Downloads\
is under
\Utils\
-->
\Utils\
\Downloads\
it should be opposite
\Downloads\
\Utils\

Order of Folders are wrong:
Tweaks
Components
VirtualTest
Finals

it should be:

Components
Tweaks
Finals
VirtualTest

Fixed in Build 20171112.

Cosmetics:
WebLabel_Plugin="Plugin Page",1,10,338,4,55,18,http://TheOven.org/index.php?board=9
-->
Interface only writes
Plugin

WebLabel_Homepg=HomePage,1,10,296,4,51,18,http://theoven.org/index.php?board=36.0
Interface only writes
HomePag

Sadly, it is not fixable on PEBakery's level.
WB082 uses old GDI API for drawing, which is slow and cause flickering.
PEBakery uses DirectX for drawing, that is why PEBakery's UI is very smooth.

However, GDI and DirectX (DirectWrite) render fonts in different ways, causing minor difference in interface.
Trying to achieve full compatibility in text rendering will take too much resource, and result much slower UI.

See this picture, first text is from DirectWrite (Visual Studio) and last text is from GDI (Notepad++).

Same font with same size (D2Coding, 12pt) are rendered differently.
Notice that DirectWrite tends to render texts a little longer.


PEBekary Log viewer -> Log (Detail)
 ---> I follow things when I press buttons.  :thumbsup:
(ex: Download Plugin button - Advanced Interface buttons on plugins (ex: 7-zip plugin))

Buttons works BUT VERY very slow for now.  :wink:

In my system, following log on-the-fly causes 30-50% GPU usage in Intel HD Graphics 630.
Maybe I should optimize log window to be updated in interval of a few seconds.

Apps\System Tools\Debug\Sysinternals_Process_Monitor
Auto Syntax Checking only checks 94,1%
Section Coverage : 94,1% (16/17)

Auto Syntax Checking gives warning, still plugin is ok. Only informing.

The reason why section coverage cannot reach 100% is this:
Some sections cannot be determined as a CodeSection at parsing time, but only on runtime.
This is a limit of static analysis.
« Last Edit: January 20, 2018, 07:51:00 PM by ied206 »

Re: PEBakery Test Build
« Reply #9 on: November 12, 2017, 05:33:05 PM »

ied206

  • Moderator,
  • Chef
  • *****
  • Location: South Korea
  • Date Registered: Jan 2014
  • Posts: 257
Build 20171113

EDIT
TestBuild taken down because of potential license issue.
Please use beta 2 or later, sorry for inconvenience.

Changelog
- Fixed DirCopy bug
- The first version able to build bootable Win10PESE

Known Issue
- Shortcuts are not being pinned to taskbar in Win10PESE

Tested Environment
Host : Windows 10 v1709 x64, .Net Framework 4.7
Source : Windows 10 v1709 x86 (ko-KR)
Basic PluginCache : Disabled

In my system, the build took about 10 min with debug binary.
Code: [Select]
- PEBakery Build <Project Win10PESE> -
Started at  2017-11-13 1:57:21 AM
Finished at 2017-11-13 2:07:41 AM
Took 0:10:19


<Log Statistics>
Success  : 21130
Warning  : 343
Error    : 0
Info     : 21482
Ignore   : 9484
Muted    : 21
« Last Edit: January 20, 2018, 07:51:29 PM by ied206 »

Re: PEBakery Test Build
« Reply #10 on: November 12, 2017, 10:45:18 PM »

Lancelot

  • Moderator, Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Hi ied206,

*
updated ChiefPlugin cache with:

Code: [Select]
If,ExistVar,%EngineVersion%,Exit,"PEBakery Test Build - Chief PluginCache Auto-Disabled for now"

This will hopefully help on beta tests.

Test to see if it works. ?

*
you seem to fix weblabel partially
see Apps\File Tasks\Q-Dir Nenad
WebLabel_Homepg=HomePage,1,10,343,20,55,18,http://www.softwareok.com/?seite=Freeware/Q-Dir
--> this works fine on interface now

WebLabel_Plugin="Plugin Page",1,10,338,4,55,18,http://TheOven.org/index.php?board=9
--> this only shows Plugin on interface
It should be Plugin Page

I feel you miss quote support on WebLabel

*
one of solution to "Some sections cannot be determined as a CodeSection at parsing time, but only on runtime."
:
MultiInterface plugins have [Main] InterfaceList= value which lists additional interfaces for auto check

ex:
Downloads\AppYGS\Debug\Sysinternals Suite

*
DirCopy command is bugy,
ex:
DirCopy,C:\Test\1\*,D:\Test\2
-->
this will copy all Files and Folders (it should not copy files)
On the other hand
DirCopy,C:\Test\1\*,D:\Test\2
can copy none ascii files (filenames) so it is used on some set of plugins.

+
SE FileCopy plugin and similar plugins have many DirCopy,...*....

I do not know behaviour there since I never use that way ...

you need to test to get same result



*
I will post other things time to time......

:turtle:

Re: PEBakery Test Build
« Reply #11 on: November 13, 2017, 01:35:00 PM »

Lancelot

  • Moderator, Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Hi ied206,

%EngineVersion% seems not work

If,ExistVar,%EngineVersion%,....

line not working

*
I am able to build Gena Appetizer now, but could not boot yet (Black screen .fon file missing ...)

Checking things I notice something :

These line at Gena\Basic\PrepPE

Code: [Select]
//-
If,ExistDir,%ProjectTemp%\INTLtemp,Shellexecute,Hide,cmd.exe,"/C rd /s /q #$q%ProjectTemp%\INTLtemp#$q"
If,ExistDir,%ProjectTemp%\INTLtemp,Echo,"Directory NOT DELETED",WARN
DirMake,%ProjectTemp%\INTLtemp
ShellExecute,Hide,cmd.exe,"/c type #$q%Source_Win%\INTL.INF#$q > #$q%ProjectTemp%\INTLtemp\INTL_Ansi.INF#$q"
IniRead,%ProjectTemp%\INTLtemp\INTL_Ansi.INF,DefaultValues,Locale,%stLocale%
Shellexecute,Hide,cmd.exe,"/C rd /s /q #$q%ProjectTemp%\INTLtemp#$q"
StrFormat,REPLACE,%stLocale%," ","",%stLocale%
StrFormat,REPLACE,%stLocale%,"#$q","",%stLocale%
IniWrite,%ProjectDir%\Script.Project,IniVariables,SourceLocale,%stLocale%
//-

It seems not working, SourceLocale value empty.

Code: [Select]
[IniVariables]
SourceLocale=

ps: I feel there is a bug with ShellExecute line !


*
For now, to me, working
%EngineVersion%
and
AutoCheck all plugins under a project

are most important for next version...

*
slowly
:turtle:

Re: PEBakery Test Build
« Reply #12 on: November 13, 2017, 01:38:53 PM »

Lancelot

  • Moderator, Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Hi ied206,

.Link file
True False not working.

ex:
Downloads\Yomi\Halt L3
->
\Halt L3 Plugin
--->
ex:
I can not enable
Win10PESE\Halt L3

ps: Halt plugins useful during basic development.  :wink:

:turtle:

Re: PEBakery Test Build
« Reply #13 on: November 13, 2017, 02:05:06 PM »

Lancelot

  • Moderator, Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Hi ied206,

small thing about
System,REFRESHINTERFACE

*
It seems not work with multiInterface ([Main] Interface=)
ex:
Utils\Downloads
a button

sometimes (not always) it does not work with other multi Infarface plugins
0 - PreConfig
a button
than <-- Basic Interface button

:turtle:

Re: PEBakery Test Build
« Reply #14 on: November 13, 2017, 02:06:18 PM »

Lancelot

  • Moderator, Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Hi ied206,

small thing about
System,RESCANSCRIPTS

If a plugin use "System,RESCANSCRIPTS" during build,
at the End of build builder rescan all plugins  :wink:

:turtle:

Re: PEBakery Test Build
« Reply #15 on: November 14, 2017, 06:57:37 PM »

ied206

  • Moderator,
  • Chef
  • *****
  • Location: South Korea
  • Date Registered: Jan 2014
  • Posts: 257
Build 20171115

EDIT
TestBuild taken down because of potential license issue.
Please use beta 2 or later, sorry for inconvenience.

Changelog
- Win10PESE x86/x6-4 can be successfully built.
  I could not find any difference between WB082-built ISO and PEBakery-build ISO.
- Subtle UI refinement.
- Compability settings for legacy WB082 bugs and hacks
  Ex) You can turn on/off WB082's DirCopy,(...),* bug

1.
Code: [Select]
If,ExistVar,%EngineVersion%,Exit,"PEBakery Test Build - Chief PluginCache Auto-Disabled for now"

This will hopefully help on beta tests.

Test to see if it works. ?

%EngineVersion% seems not work

If,ExistVar,%EngineVersion%,....

line not working

Build 20171113's If,ExistVar implementation was faulty.
Fixed in Build 20171115.

2.
you seem to fix weblabel partially
see Apps\File Tasks\Q-Dir Nenad
WebLabel_Homepg=HomePage,1,10,343,20,55,18,http://www.softwareok.com/?seite=Freeware/Q-Dir
--> this works fine on interface now

WebLabel_Plugin="Plugin Page",1,10,338,4,55,18,http://TheOven.org/index.php?board=9
--> this only shows Plugin on interface
It should be Plugin Page

I feel you miss quote support on WebLabel

I debugged PEBakery after your report, but PEBakery was parsing the caption properly.
ila_rendered
Giving more width to WebLabel_Plugin can address this issue.
It is because DirectWrite, the key API for super-fast text rendering, tends to render texts with a little bit wider width.

3.
.Link file
True False not working.

ex:
Downloads\Yomi\Halt L3
->
\Halt L3 Plugin
--->
ex:
I can not enable
Win10PESE\Halt L3

Fixed in Build 20171115.

4.
small thing about
System,REFRESHINTERFACE

*
It seems not work with multiInterface ([Main] Interface=)
ex:
Utils\Downloads
a button

sometimes (not always) it does not work with other multi Infarface plugins
0 - PreConfig
a button
than <-- Basic Interface button

When I tested, those two plugin's interface changed well with System,RefreshInterface.
Does this bug still appears in lastest version?

5.
small thing about
System,RESCANSCRIPTS

If a plugin use "System,RESCANSCRIPTS" during build,
at the End of build builder rescan all plugins  :wink:

I tested these codes with PEBakery's CodeBox (Utility Button -> CodeBox Tab), and found RescanScripts working before message "3" is displayed.
Code: [Select]
Echo,1
Wait,3
Echo,2
Wait,3
System,RescanScripts
Wait,3
Echo,3

Does this bug can be reproduced in lastest version?
In which case? Project Build? Plugin Interface Button?

6.
Code: [Select]
If,%ResHackerCompareVersions%,Smaller,Run,#1,ResourceHacker_RemoveOld,#1,#2,#3,#4,#5,#6,#7,#8,#9
While testing Tweaks\Watermark.script, I found a bug in Win10PESE\Utils\Resource_Hacker.Script.
Smaller branch condition requires two argument, but that line only provides one argument named %ResHackerCompareVersions%.
Seems an argument was omitted by mistake.
« Last Edit: January 20, 2018, 07:51:59 PM by ied206 »

Re: PEBakery Test Build
« Reply #16 on: November 15, 2017, 09:02:30 AM »

Lancelot

  • Moderator, Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Hi ied206,

*
If,ExistVar,%EngineVersion%
works  :thumbsup:

*
Utils\Resource Hacker
updated :thumbsup:

*
.Link works :thumbsup:

*
There is still Shellexecute bug ? IniRead bug
Test this
https://www.dropbox.com/s/sorgnmfayztlw22/Test_ShellExecute_201711151149.7z?dl=0

*
MyPlugins Direct support missing.


***
I hope Shellexecute bug ? IniRead bug is easy to fix and better to test with fixed PEBakery

Further when time found.....
:turtle:
« Last Edit: November 15, 2017, 09:51:23 AM by Lancelot »

Re: PEBakery Test Build
« Reply #17 on: November 15, 2017, 05:55:58 PM »

ied206

  • Moderator,
  • Chef
  • *****
  • Location: South Korea
  • Date Registered: Jan 2014
  • Posts: 257
Build 20171116

EDIT
TestBuild taken down because of potential license issue.
Please use beta 2 or later, sorry for inconvenience.

Changelog
- Fix IniRead bug
- Support directory-level link (folder.project)

Known Issue
- System,SaveLog not working.
  PEBakery currently can export logs into only texts.
  It seems that it is the cause of Support Log being not generated by Win10PESE.

There is still Shellexecute bug ? IniRead bug
Test this
https://www.dropbox.com/s/sorgnmfayztlw22/Test_ShellExecute_201711151149.7z?dl=0

It was caused by not trimming whitespace correctly.
Fixed in Build 20171116.
« Last Edit: January 20, 2018, 07:52:30 PM by ied206 »

Re: PEBakery Test Build
« Reply #18 on: November 15, 2017, 06:17:54 PM »

Lancelot

  • Moderator, Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Hi ied206,

There is missing with Set:
 Nil not implemented

,Nil simply remove variable from memory

Code: [Select]
[Process]
Set,%Test%,Test
Run,%ScriptFile%,Echo_M_Test
Set,%Test%,Nil
Run,%ScriptFile%,Echo_M_Test

[Echo_M_Test]
Echo,TestVAR=%Test%,Warn
Message,TestVAR=%Test%,Information

++
when used with permanent, also removes (delete lines) from script.project
Code: [Select]
[Process]
Set,%Test2%,Nil,Permanent
Set,%Test2%,Test2,Permanent
Run,%ScriptFile%,Echo_M_Test
Set,%Test2%,Nil,Permanent
Run,%ScriptFile%,Echo_M_Test

[Echo_M_Test]
Echo,Test2VAR=%Test2%,Warn
Call,StartDocNotePad,%ProjectDir%\script.project
Message,"Test2VAR=%Test2%---Check_Script_Project_[Variables]-#$pTest2#$p=",Information




:turtle:
« Last Edit: November 15, 2017, 06:18:08 PM by Lancelot »

Re: PEBakery Test Build
« Reply #19 on: November 15, 2017, 06:36:59 PM »

Lancelot

  • Moderator, Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Hi ied206,

Known Issue
- System,SaveLog not working.
  PEBakery currently can export logs into only texts.
  It seems that it is the cause of Support Log being not generated by Win10PESE.

System,SaveLog
seems not saving .txt file here :
ex:
Code: [Select]
[Process]
Echo,Test
If,Not,ExistDir,%ProjectTemp%,DirMake,%ProjectTemp%
System,SaveLog,%ProjectTemp%\Test_saveLog.txt
Call,StartDocNotePad,%ProjectTemp%\Test_saveLog.txt
Call,OpenDir,%ProjectTemp%

not working...

*
let System,SaveLog save txt file, it is not important extension .html or .txt or .blabla  :wink:
This hopefully would get wheels turn...

After System,SaveLog save txt file, I can update plugins accordingly when (if) required.  :thumbsup:

:turtle:

Edit:
to be continued tonight....
« Last Edit: November 15, 2017, 06:39:05 PM by Lancelot »

 

Powered by EzPortal