{% extends "base.html" %} {% block title %}Enrollment Packages - PXE Server Manager{% endblock %} {% block content %} {% if active_ppkg and active_ppkg.SOURCE_PPKG %}
Active PPKG: {{ active_ppkg.SOURCE_PPKG }}  {{ active_ppkg.PPKG_VER }} {% if active_ppkg.PPKG_EXP %}exp {{ active_ppkg.PPKG_EXP }}{% endif %} - startnet.cmd boots with this (from ppkg.conf).
{% endif %}
Shop Floor (SFLD) Provisioning Packages {{ packages|length }}
{% if packages %}
{% for p in packages %} {% set is_active = active_ppkg and active_ppkg.SOURCE_PPKG and p.filename|lower == active_ppkg.SOURCE_PPKG|lower %} {% endfor %}
Filename Size Last Modified Actions
{{ p.filename }}{% if is_active %} Active{% endif %} {{ "%.1f"|format(p.size / 1048576) }} MB {{ p.modified | timestamp_fmt }} Download {% if is_active %} {% else %} {% endif %}
{% else %}

No enrollment packages found. Upload a .ppkg file to get started.

{% endif %}

About Enrollment Packages

GCCH enrollment .ppkg provisioning packages are copied to C:\Enrollment\ on the target machine after imaging. At OOBE, connect to a network with internet, press Windows key 5 times, then browse to C:\Enrollment\ and select the package. No USB stick needed.

Naming convention: Use with-office.ppkg and without-office.ppkg to match the WinPE enrollment menu options.

Standard / Engineer (MCL) Provisioning Packages {{ mcl_packages|length }}
{% set mcl_users = mcl_links | selectattr('state', 'equalto', 'ok') | map(attribute='image') | list %}

Packages live in _shared/Applications/BPRT, which {{ mcl_users | join(', ') if mcl_users else 'no image' }} link{{ 's' if mcl_users|length == 1 }} to. The bulk-enroll scripts pick the package by its first three name fields (tenant, environment, purpose) and fail enrollment if two match, so an upload replaces the package with the same fields; the old one moves to the archive below and can be restored. Every PC built from those images copies this folder while it images, so upload, archive or restore only when no build is in progress.

A whole new vendor drop (packages, Office zips and scripts from MediaCreator Lite) goes through BPRT Sync instead: it uploads only the changed files from the work PC, checks them and swaps the folder in one step, keeping the site's own scripts.

{% for l in mcl_links if l.state in ('copy', 'elsewhere') %}
{{ l.image }} {% if l.state == 'copy' %}has its own copy of BPRT ({{ l.path }} is a real folder, not a link to _shared/Applications/BPRT; an image import does this), {% else %}links BPRT to {{ l.target or '?' }} instead of _shared/Applications/BPRT, {% endif %}so packages changed here do not reach its PCs. Move that folder aside and link it back to the shared one.
{% endfor %}
Vendor name, unchanged, e.g. GCCH_Prod_MCL-PERS_Exp_XXXXXXXX_v2.19.ppkg
{% if mcl_packages %}
{% for p in mcl_packages %} {% endfor %}
Tenant / purposeFilenameVersionSizeLast Modified
{{ p.prefix or '-' }} {% if p.conflict %}Duplicate{% endif %} {% if not p.prefix %}Ignored {% elif not p.placeholder %}Used{% endif %} {{ p.filename }} {{ p.version or '?' }} {{ "%.1f"|format(p.size / 1048576) }} MB {{ p.modified | timestamp_fmt }}
{% else %}

No MCL packages found in BPRT.

{% endif %} {% if mcl_archive %}
Archive
{% for p in mcl_archive %} {% endfor %}
ArchivedFilenameVersionSize
{{ p.batch }} {{ p.filename }} {{ p.version or '?' }} {{ "%.1f"|format(p.size / 1048576) }} MB
{% endif %}
{% endblock %} {% block extra_scripts %} {% endblock %}