Jump to content

- - - - -

PEBakery Release


  • This topic is locked This topic is locked
4 replies to this topic

#1 ied206



  • .script developer
  • 18 posts
    South Korea

Posted 06 January 2018 - 05:43 AM


What is PEBakery?
PEBakery is a builder specialized in customizing Windows PE.
It is intended to be used with projects such as Win10PESE, Win10XPE, MistyPE and ChrisPE.

Why PEBakery was written?
PEBakery is compatible with WinBuilder 082.
Projects like Win10PESE are dependent on WinBuilder 082, but WB082's development went discontinued.
PEBakery works as a drop-in replacement of WB082, while providing much improved envrionment.

Binary and source of PEBakery can be downloaded from github.
Nightly binary can be downloaded from here, thanks to AppVeyor service.

PEBakery is a open source software, licensed under GPLv3.
Source of PEBakery can be downloaded in GitHub.
Bug report or Pull request is always welcome.

How to Test
.Net Framework 4.7.1 and Windows 7 or upper is required to run PEBakery.
1. Download PE project zip distribution and extract it. (e.g. ChrisPE, Win10XPE)
2. Put 'Binary' and 'PEBakeryLauncher.exe' in project root (the directory where Project directory resides in).
3. Read NOTICE_SHOULD_READ_FIRST.txt and follow instructions.
4. Run 'PEBakeryLauncher.exe' with admin privilege.
5. Configure project and run. Compare with WinBuilder 082 (which is bundled by default).

Specification of PEBakery script language is being done in GitHub.

- All implementation is only backed by documentation and black box testing, without violating WinBuilder 082's EULA.
- I do not provide any warranty, use at your own risk. Backup is highly recommended.
- Windows Preinstalled Environment is a registered trademark of Microsoft.

  • Brito, alacran and misty like this

#2 ied206



  • .script developer
  • 18 posts
    South Korea

Posted 20 January 2018 - 06:53 AM

Beta 2 is released!

PEBakery binary and source is available at github.

- [Fixed] WebLabel was not correctly parsed
- [Fixed] Resolved potential license issue

  • misty likes this

#3 ied206



  • .script developer
  • 18 posts
    South Korea

Posted 24 February 2018 - 05:20 PM

PEBakery Beta 3
Commands for wim file mainpulation are added as main feature, powered by wimlib.
Manual for new commands can be found here.

You can download binary and source from github.

Special thanks to PEBakery Team and wimlib.

- [ADD] Commands for wim file
- [ADD] Command LoopLetter
- [ADD] Show url of WebLabel as tooltip
- [ADD] Caption can be specified in Bevel
- [ADD] NT6 Style FolderBrowserDialog
- [ADD] Indicate build progress on taskbar
- [FIX] Before execution of scripts run `script.project`
- [FIX] Missing formats added to StrFormat,Date
- [FIX] Drive letter support for StrFormat,Inc/Dec
- [FIX] Escape characters interpreted case insensitive properly
- [FIX] Escape character `##` works properly with `#c`, `#a`, `#r`

  • alacran and Atari800XL like this

#4 ied206



  • .script developer
  • 18 posts
    South Korea

Posted 03 June 2018 - 02:07 PM

PEBakery Beta 4
Script Editor is finally implemented!
Beta 4 also includes many bugfixs and new features.

You can download binary and source from github.

PEBakery manual and syntax highlighter was also updated.
- Manual : English
- Syntax Highlighter : Notepad++, Visual Studio Code

- [ADD] Script header/logo/interface/attachment editor
- [ADD] Runtime optimization of WimPath*, WimExtract, ReadInterface, WriteInterface
- [ADD] Compression method can be set when using Encode (None, Deflate, LZMA2)
- [ADD] Error in WimExtractBulk can be suppressed by using NOERR flag
- [ADD] Optimized memory usage when attaching/extracting files from script
- [ADD] WebGet saves HTTP status code into %StatusCode%
- [ADD] Implemented RegCopy
- [ADD] Support more properties in ReadInterface and WriteInterface
- [CHANGE] Treat %SourceDir% , %ISOFile%, %TargetDir% as global variables
- [CHANGE] Fixed variables are no longer overridable
- [CHANGE] Deprecate environment variables
- [FIX] Directory link (folder.project) support
- [FIX] Report error when WimExtract cannot find single file
- [FIX] Nested System,SetLocal support
- [FIX] Proper implementation of System,ErrorOff
- [FIX] Web browser is no longer launched as Adminstrator in WebLabel control
- [FIX] Display caption of Bevel control by default
- [FIX] Logging is enabled by default in interface button
- [FIX] Use default encoding of console in ShellExecute console ouput

1. Script Editor
Script's header, interface, logo, attachment now can be handled in internal script editor.


2. Enabled Logging in Interface Button
Starting from Beta 4, interface button's action is logged with minimal slowdown.
It was disabled in the past due to performance impact, but it was fixed.

3. LZMA2 Compression
WinBuilder 082 compresses attached file with deflate (used in .zip, .gz) algorithm.
For better compression rate, PEBakery now supports LZMA2 (used in .7z, .xz) algorithm.
Ex) Encode command was updated, see manual

4. Partial Intellisense for Visual Studio Code
PEBakery extension 1.0.3 for VSCode now provides command snippet.

  • alacran likes this

#5 ied206



  • .script developer
  • 18 posts
    South Korea

Posted 08 September 2018 - 01:14 PM

PEBakery Beta 5 (v0.9.5.1)
PEBakery Beta 5 is released!
Beta 5 fixed many bugs and focused on compatibility.

You can download binary and source from github.

PEBakery manual and syntax highlighter were also updated.
- Manual : English, Spanish
- Syntax Highlighter : Notepad++, Visual Studio Code

Please note there are two version of beta 5, v0.9.5 and v0.9.5.1.
Please use v0.9.5.1 since it fixes some issues of v0.9.5.

Starting with beta 5, all compatibility options are turned off by default.
You should set appropriate compatibility options to build legacy projects successfully.
Presets are provided for known projects.

To build Win10PESE or Win10XPE, rename PEBakery_Win10PESE_Win10XPE.ini to PEBakery.ini.
To build ChrisPE or MistyPE, rename PEBakery_ChrisPE_MistyPE.ini to PEBakery.ini.
If a build fails even after applying presets, try deleting project temp directories.

- [ADD] `List` commands added
- [ADD] `StrFormat,Left` and `StrFormat,Right` added
- [ADD] Full deferred logging for interface build
- [ADD] Command's real position is shown in warning and error logs
- [ADD] Filtering comments and macros are supported in LogWindow
- [ADD] Section out parameter support (e.g. `#o1`, `#o2`), ...
- [ADD] `RunEx`, `LoopEx` and `LoopLetterEx` added to support section out parameter
- [ADD] Compatibility options for turning off extended section parameter (`#r`, `#a`, `#o1`)
- [ADD] Compatibility options are turned off by default
- [CHANGE] `IniReadSection` redesigned
- [CHANGE] Allow short terms in `Message`
- [CHANGE] Interface value of `TextLabel` is also saved to variables when running a script
- [FIX] `UserInput,Dir` no longer crashes
- [FIX] `#r`, `#a` is matched case-insensitively
- [FIX] `SaveLog` produces a proper log when deferred logging is set
- [FIX] Scripts are ordered like the Windows File Explorer
- [FIX] Proper refresh of MainScript
- [FIX] Script editor correctly reflects any changes made by a user
- [FIX] Prevent crash from a race condition in `ShellExecute`
- [FIX] Fix rare crash when opening script source
- [FIX] Saving settings no longer crashes when no projects are loaded
- [FIX] Several regressions affected build of Win10PESE and Win10XPE are fixed

  • alacran and YasserDivar like this

Also tagged with one or more of these keywords: pebakery

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users