/pebakery

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

Primary LanguageC#OtherNOASSERTION

PEBakery

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

Branch Build Status
Master CI Master Branch Build Status
Develop CI Develop Branch Build Status

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

Disclaimer

  • All implementation is only backed by documentation and black box testing, without violating WinBuilder 082's EULA.
  • The developers do not provide any warranty, use 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.

Prerequisites

Beta 6 Release

PEBakery beta 6 runs on .NET Framework 4.7.2.

If you are using Windows 10 v1803 or later, no action is necessary. If not, please install .NET Framework 4.7.2.

Nightly Builds

Starting from beta 7, PEBakery runs on .NET Core 3.1.

  • Standalone Nightly do not require any runtime installed, but runs only on x64 Windows.
  • Runtime Dependent Nightly runs on both x64 and x86 Windows, but requires .NET Core 3.1 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.

Documentation

Please read the Official PEBakery Manual.

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

Progress and TODO

See our Roadmap.

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 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 : Standalone binary

Testing

To run a PEBakery with a project (Win10XPE, ChrisPE, etc.), follow one of the given instructions.

NOTE: <ProjectPath> is the directory that contains 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 Beta 6

Win10XPE with PEBakery Beta 6

ChrisPE with PEBakery Beta 6