Skip to content

pebakery/pebakery

Repository files navigation

PEBakery

PEBakery is a script engine that specializes in customizing the Windows Preinstalled Environment (WinPE/WinRE).

CI Server Branch Build Status
AppVeyor Master CI Master Branch Build Status
AppVeyor Develop CI Develop Branch Build Status
Azure Pipelines Master Azure Pipelines CI Master Branch Build Status
Azure Pipelines Develop Azure Pipelines CI Develop Branch Build Status

PEBakery is backward compatible with WinBuilder 082 and makes significant improvements upon it.

Disclaimer

  • All implementation is backed by documentation and black box testing, without violating the EULA of WinBuilder 082.
  • The developers do not provide any warranty, use it at your own risk. Backup is highly recommended.
  • Windows Preinstalled Environment is a registered trademark of Microsoft.

Download

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.

Prerequisites

PEBakery runs on .NET 6.

  • Standalone Nightly does not require any runtime installed, but runs only on one architecture (e.g. x64).
  • Runtime Dependent Nightly runs on both x64, x86 and arm64 Windows, but requires latest .NET 6 Desktop Runtime to be installed.

License

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.

ChangeLog

Please read ChangeLog.

Documentation

Please read the Official PEBakery Manual.

Testers using nightly builds should refer to the developer branch Official PEBakery Manual (develop).

Build Instructions

.NET Core SDK, Windows SDK, and MSVC are required to compile PEBakery from the source.

Requirement

If you are a contributor, we recommend using a full-featured Visual Studio Community for the best development experience.

Compiling

Nightly binaries can be compiled by running .\BinaryPublish.ps1 -nightly on PowerShell.

  • Publish\PEBakery-nightly-rt : Runtime-dependent binary
  • Publish\PEBakery-nightly-sc_{arch} : Standalone binary for a specific architecture

Testing

To test PEBakery, download one of the PE projects and install the PEBakery binary.

Known PE Projects

These PE projects officially support PEBakery.

These PE projects have been tested with PEBakery.

Installation

NOTE: <ProjectPath> is the directory that contains the Projects directory from the PE building project.

  1. (Simple) Copy PEBakeryLauncher.exe and Binary inside <ProjectPath>, and run PEBakeryLauncher.exe.
  2. (Advanced) Launch PEBakeryLauncher.exe or PEBakery.exe with --baseDir parameter.
    $ .\PEBakeryLauncher.exe --baseDir <ProjectPath>
    # or
    $ .\Binary\PEBakery.exe --baseDir <ProjectPath>

Screenshots

PEBakery v1.0.0

PhoenixPE with PEBakery v1.0.0

Win10XPE with PEBakery v1.0.0