PEBakery is a script engine that specializes in customizing the Windows Preinstalled Environment (WinPE/WinRE).
PEBakery is a script engine that specializes in customizing the Windows Preinstalled Environment (WinPE/WinRE).
CI Server | Branch | Build Status |
---|---|---|
AppVeyor | Master | |
AppVeyor | Develop | |
Azure Pipelines | Master | |
Azure Pipelines | Develop |
PEBakery is backward compatible with WinBuilder 082 and makes significant improvements upon it.
The official release version is recommended for general use.
A nightly build is provided for testing purposes.
CAUTION: Do not forget to set the proper compatibility options for your projects. We have prepared a special Migrating from WinBuilder guide, so you know what script breaking changes to expect and when compatibility options need to be enabled.
Nightly binaries are served by AppVeyor artifacts.
PEBakery runs on .NET 6.
PEBakery is primarily licensed under GPLv3 or any later version with additional permission.
Some parts of PEBakery are licensed under the MIT License and other licenses.
Please read LICENSE for details.
Please read ChangeLog.
Please read the Official PEBakery Manual.
Testers using nightly builds should refer to the developer branch Official PEBakery Manual (develop).
.NET Core SDK, Windows SDK, and MSVC are required to compile PEBakery from the source.
PEBakery.exe
.PEBakeryLauncher.exe
If you are a contributor, we recommend using a full-featured Visual Studio Community for the best development experience.
Nightly binaries can be compiled by running .\BinaryPublish.ps1 -nightly
on PowerShell.
Publish\PEBakery-nightly-rt
: Runtime-dependent binaryPublish\PEBakery-nightly-sc_{arch}
: Standalone binary for a specific architectureTo test PEBakery, download one of the PE projects and install the PEBakery binary.
These PE projects officially support PEBakery.
These PE projects have been tested with PEBakery.
NOTE: <ProjectPath>
is the directory that contains the Projects
directory from the PE building project.
PEBakeryLauncher.exe
and Binary
inside <ProjectPath>
, and run PEBakeryLauncher.exe
.PEBakeryLauncher.exe
or PEBakery.exe
with --baseDir
parameter.
$ .\PEBakeryLauncher.exe --baseDir <ProjectPath>
# or
$ .\Binary\PEBakery.exe --baseDir <ProjectPath>