Skip to content

Releases: pebakery/pebakery

v1.1.0

25 Dec 04:35

Choose a tag to compare

v1.1.0 Release

Binaries

  • Runtime-dependent (x64, x86, arm64): PEBakery-v1.1.0-rt.7z
  • Standalone (x64): PEBakery-v1.1.0-sc_x64.7z
  • Standalone (arm64): PEBakery-v1.1.0-sc_arm64.7z

ChangeLog

  • [ADD] Implement the Math,ToChar and Math,FromChar command
  • [ADD] Implement modern loop commands (While, ForEach, ForRange, Continue, Break)
  • [ADD] Implement modern loop helper commands (List,Range)
  • [ADD] Position and size of MainWindow are now persisted
  • [ADD] Enhanced PathBox, ComboBox checking in SyntaxChecker
  • [ADD] SyntaxChecker now identifies types of sections better
  • [FIX] CodeOptimizer now performs data flow analysis to avoid broken optimization
  • [FIX] Most MessageBoxes are now displayed over the PEBakery window
  • [FIX] Section parameters are no longer contaminated at the end of the code block
  • [FIX] Fixed invalid WebGet parameter parsing
  • [FIX] Launcher now checks the installed .NET Runtime is compatible even on the minor version level
  • [FIX] Enhanced script progress tracking
  • [FIX] Fix race condition happens in SectionToRun build triggered from UIControls

v1.0.0

19 May 16:39

Choose a tag to compare

v1.0.0 Release

Binaries

  • Runtime-dependent (x64, x86, arm64): PEBakery-v1.0.0-rt.7z
  • Standalone (x64): PEBakery-v1.0.0-sc_x64.7z
  • Standalone (arm64): PEBakery-v1.0.0-sc_arm64.7z

ChangeLog

  • [ADD] New compat option to automatically compact ini files after IniWrite
  • [ADD] Colored row in LogViewer
  • [ADD] Better text encoding detection
  • [ADD] Supporting UTF8 without BOM encoding on text files
  • [ADD] Suppor Encoding= optional parameter on FileCreateBlank command
  • [ADD] Support DefaultValue= optional parameter on IniRead command
  • [ADD] Support UserAgent= optional parameter on WebGet command
  • [ADD] Support Filter= optional parameter on FileBox control
  • [ADD] Add PathBox control, a better FileBox
  • [ADD] Official support for Windows ARM64
  • [CHANGE] Migrated to .NET 6
  • [CHANGE] Better EncodedFile footer handling
  • [CHANGE] Migrated HTML template engine to Scriban from Razor
  • [CHANGE] ShellExecute console output appears only there is something to disaply
  • [CHANGE] Improved WimMount/WimUnmount command progress report
  • [CHANGE] User preferences on LogViewer and LogExportWindow are persistently remebered
  • [FIX] More stable and improved Interface Editor
  • [FIX] Fix section searching on cached script to work properly
  • [FIX] FileCopy no longer truncates filename on the path ends with \
  • [FIX] Fix broken Exit command
  • [FIX] Expand variables on macro arguments
  • [FIX] Fix rare bug on ShellExecute command fail to launch .exe files

2022.12.25 EDIT

  • zlibwapi.dll files were replaced to MSVC runtime indepedent version (#186)

Prerelease Beta 6

31 Oct 19:16

Choose a tag to compare

Prerelease Beta 6 Pre-release
Pre-release

Beta 6 Release

PEBakery team proudly presents PEBakery beta 6, a significant functionality and stability update.

COMPATIBILITY NOTICE - SHOULD READ FIRST

  1. PEBakery now requires .Net Framework 4.7.2, to solve the dependency issue.
  2. PEBakery now applies compatibility options as per-project starting from beta 6.
    • Please follow the following instructions.

Preset for known projects

First, rename a proper setting file as PEBakeryCompat.ini.
Second, move PEBakeryCompat.ini into the project root directories, alongside with script.project.

If a build fails even after applying presets, please retry after deleting project temp directories manually.

  • Win10XPE: Please copy PEBakeryCompat_Win10XPE_Win10PESE.ini into two places:
    • Projects\Win10XPE\PEBakeryCompat.ini
    • Projects\MyPlugins\PEBakeryCompat.ini
  • Win10PESE: Please copy PEBakeryCompat_Win10XPE_Win10PESE.ini to Projects\Win10PESE\PEBakeryCompat.ini.
  • ChrisPE: Please copy PEBakeryCompat_ChirsPE_MistyPE.ini to Projects\ChrisPE\PEBakeryCompat.ini.
  • MistyPE: Please copy PEBakeryCompat_ChirsPE_MistyPE.ini to Projects\MistyPE\PEBakeryCompat.ini.

Credits

Big thanks to the people contributed to the PEBakery project.

Related Materials

Known Issues

Win10PESE

  • Mouse cursor scripts in the Tweaks folder depends on the WinBuilder-specific side-effect of IniWrite (#134). We prepared a script patch as a fix and trying to get in touch with Win10PESE developers.

Changelog

  • [ADD] Better-designed default theme presets
  • [ADD] Customizable theme support
  • [ADD] Improve realtime elapsed build time report
  • [ADD] Syntax checker also checks script interface
  • [ADD] Faster loading performance of cached dir-linked scripts
  • [ADD] Render white pixels of BMP image as transparency in Button controls
  • [ADD] Support 7z format in the Compress command
  • [ADD] Add Math,Dec as a counterpart of Math,Hex
  • [ADD] Add Math,Rand
  • [ADD] Support RTF format in TextFilecontrol
  • [ADD] Script attachment manager now reports file attachment progress
  • [ADD] Support drag-n-drop in script interface editor
  • [ADD] Support multi-interface in script interface editor
  • [ADD] Better support for Windows 7 classic theme
  • [ADD] Better support for low-resolution device
  • [ADD] Introduced filtering of saved logs
  • [ADD] An origin script of command are logged in build logs
  • [ADD] Context menu for collapsing & expanding script tree
  • [ADD] Allow chaining of If ~ Else
  • [ADD] Added IniCompact command
  • [ADD] Compress command creates ZIP files with multiple threads
  • [ADD] Multi-threaded LZMA2 compression for file attachment
  • [ADD] Initial implementation of the script updater (WIP, may change in the future!)
  • [ADD] Enable force stop of sub-processes by user request
  • [ADD] Support non-standard registry subkey type in the new RegWriteEx command
  • [CHANGE] Targets .Net Framework 4.7.2
  • [CHANGE] Some Math commands now requires BitSize
  • [CHANGE] Optimized encoded file handling
  • [CHANGE] More commands report per-command progress
  • [CHANGE] Math,Hex produces 0x prefix
  • [CHANGE] EchoFile deprecated and removed the ENCODE flag
  • [CHANGE] Script logo is now displayed with exact pixel-size
  • [CHANGE] Improved If command parsing
  • [CHANGE] Log export files are given default filenames
  • [CHANGE] Report command result in #r in ShellExecute and WebGet.
  • [CHANGE] Reworked layout of Script attachment manager
  • [CHANGE] StrFormat,SubStr was removed in favor of StrFormat,Mid
  • [CHANGE] TXTDelSpaces now also trims trailing whitespace
  • [CHANGE] More accurate build progress report
  • [CHANGE] GetParam is no longer considered as a deprecated command
  • [CHANGE] Math,Bool now allows C-style integer boolean
  • [FIX] Fixed many possible memory leaks
  • [FIX] A lot of code cleanup for stability
  • [FIX] Set,<Var>,PERMANENT now handles cached scripts properly
  • [FIX] FileCopy command creates a warning log instead of an error when no source files were found
  • [FIX] CopyOrExpand produces a warning log instead of an error when a wildcard was used
  • [FIX] Better script tree sorting
  • [FIX] Improved stability of deferred logging
  • [FIX] Deleting script interface control also deletes associated attached file
  • [FIX] Fix If ~ Else block parsing bug
  • [FIX] TextBox control now properly handles BOM bytes
  • [FIX] Better handling of destination paths in commands
  • [FIX] Proper escaping of strings in interface controls
  • [FIX] Better handling of System,SetLocal and System.EndLocal
  • [FIX] Scan for .link files from linked directories
  • [FIX] Halt command no longer opens a MessageBox
  • [FIX] WriteInterface command updates interface variables
  • [FIX] Always auto-redirect HTTP 302 responses in WebGet
  • [FIX] AddVariables now properly processes GLOBAL flag
  • [FIX] Support REG_NONE in the registry commands

Prerelease Beta 5 (Bugfix 1)

08 Sep 12:41

Choose a tag to compare

Pre-release

This release fixes several issue of beta 5.

NOTICE - SHOULD READ FIRST

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

Preset 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.

Changelog

  • [FIX] Correct status bar text after a refreshing script
  • [FIX] Saving settings no longer crashes when no projects are loaded

Prerelease Beta 5

05 Sep 14:55

Choose a tag to compare

Prerelease Beta 5 Pre-release
Pre-release

NOTICE - SHOULD READ FIRST

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

Preset for known projects

Before running PEBakery, create or open PEBakery.ini alongside PEBakeryLauncher.exe and paste these options. If a build fails even after options are applied, try deleting project temp directories.

Win10PESE

[Compat]
AsteriskBugDirCopy=True
AsteriskBugDirLink=True
FileRenameCanMoveDir=True
AllowLetterInLoop=False
LegacyBranchCondition=True
LegacyRegWrite=True
AllowSetModifyInterface=True
LegacyInterfaceCommand=True
IgnoreWidthOfWebLabel=True
OverridableFixedVariables=False
EnableEnvironmentVariables=False
DisableExtendedSectionParams=True
LegacySectionParamCommand=True

Win10XPE

[Compat]
AsteriskBugDirCopy=True
AsteriskBugDirLink=True
FileRenameCanMoveDir=True
AllowLetterInLoop=False
LegacyBranchCondition=False
LegacyRegWrite=False
AllowSetModifyInterface=True
LegacyInterfaceCommand=True
IgnoreWidthOfWebLabel=False
OverridableFixedVariables=True
EnableEnvironmentVariables=True
DisableExtendedSectionParams=True
LegacySectionParamCommand=True

MistyPE, ChrisPE

[Compat]
AsteriskBugDirCopy=True
AsteriskBugDirLink=False
FileRenameCanMoveDir=False
AllowLetterInLoop=False
LegacyBranchCondition=False
LegacyRegWrite=False
AllowSetModifyInterface=False
LegacyInterfaceCommand=False
IgnoreWidthOfWebLabel=False
OverridableFixedVariables=False
EnableEnvironmentVariables=False
DisableExtendedSectionParams=False
LegacySectionParamCommand=False

Changelog

  • [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] Several regressions affected build of Win10PESE and Win10XPE are fixed

Prerelease Beta 4

03 Jun 13:17

Choose a tag to compare

Prerelease Beta 4 Pre-release
Pre-release

Known Issue

PEBakery beta 4 has several regressions affecting build of projects. Use of beta 3 or 5 is recommended.

Changelog

  • [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

Prerelease Beta 3

24 Feb 16:57

Choose a tag to compare

Prerelease Beta 3 Pre-release
Pre-release

Changelog

  • [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

Prerelease Beta 2

20 Jan 02:38

Choose a tag to compare

Prerelease Beta 2 Pre-release
Pre-release

Changelog

  • [Fixed] WebLabel parsing bug
  • [Fixed] Additional Permission added to license

Prerelease Beta 1

02 Jan 18:21

Choose a tag to compare

Prerelease Beta 1 Pre-release
Pre-release

Supports Win10PESE and MistyPE.

Warning

DO NOT REDISTRIBUTE BETA 1 BINARY.
Binary of prerelase Beta 1 was taken down because of potential license issue.