Updates documentation screenshots and UI descriptions
Refreshes numerous screenshot image references across the documentation to reflect the latest UI changes. Updates text descriptions in several documents (Build, Prerequisites, Quickstart, Windows Settings) to align with recent features, such as the new Windows Media Source options, explicitly mentioning PowerShell 7.6+ requirements, and clarifying the Device Naming and Copy Unattend.xml behavior. Co-authored-by: Copilot <copilot@github.com>
@@ -9,7 +9,7 @@ parent: UI Overview
|
|||||||
---
|
---
|
||||||
# M365 Apps/Office
|
# M365 Apps/Office
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
FFU Builder uses the Office Deployment Toolkit (ODT) to install Office. In the `.\FFUDevelopment\Apps\Office` folder you'll find two files:
|
FFU Builder uses the Office Deployment Toolkit (ODT) to install Office. In the `.\FFUDevelopment\Apps\Office` folder you'll find two files:
|
||||||
|
|
||||||
@@ -64,6 +64,6 @@ For more information about deploying languages see: [Overview of deploying langu
|
|||||||
|
|
||||||
## Copy Office Configuration XML
|
## Copy Office Configuration XML
|
||||||
|
|
||||||
If you want to include your own custom XML file for office, check **Copy Office Configuration XML** and browse to the location of your custom XML file. The path to your custom Office configuration XML file is stored in the `OfficeConfigXMLFile` parameter. This file gets added to the `.\FFUDevelopment\Apps\Office` folder and is referenced in the `.\FFUDevelopment\Apps\Orchestration\Install-Office.ps1` file.
|
If you want to include your own custom XML file for office, check **Copy Office Configuration XML** and browse to the location of your custom XML file. The path to your custom Office configuration XML file is stored in the `OfficeConfigXMLFile` parameter. This file gets added to the `.\FFUDevelopment\Apps\Office` folder and is referenced in the `.\FFUDevelopment\Apps\Orchestration\Install-Office.ps1` file.
|
||||||
|
|
||||||
{% include page_nav.html %}
|
{% include page_nav.html %}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ has_toc: false
|
|||||||
---
|
---
|
||||||
# Applications
|
# Applications
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Applications can be installed in three different ways:
|
Applications can be installed in three different ways:
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ grand_parent: UI Overview
|
|||||||
---
|
---
|
||||||
# Apps Script Variables
|
# Apps Script Variables
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Apps Script Variables are key value pairs that are used to create a hashtable that is passed to the `BuildFFUVM.ps1` script (stored in the `$AppScriptVariables` parameter as a hashtable). At build time, `BuildFFUVM.ps1` will export the `$AppsScriptVariables` hashtable to an `AppsScriptVariables.json` file in the `$OrchestrationPath` folder (`$AppsPath\Orchestration`). You can also manually create your own `AppsScriptVariables.json `file and place it in the `$AppsPath\Orchestration` folder.
|
Apps Script Variables are key value pairs that are used to create a hashtable that is passed to the `BuildFFUVM.ps1` script (stored in the `$AppScriptVariables` parameter as a hashtable). At build time, `BuildFFUVM.ps1` will export the `$AppsScriptVariables` hashtable to an `AppsScriptVariables.json` file in the `$OrchestrationPath` folder (`$AppsPath\Orchestration`). You can also manually create your own `AppsScriptVariables.json `file and place it in the `$AppsPath\Orchestration` folder.
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@ In the VM, the `Orchestrator.ps1` file will call `Invoke-AppsScript.ps1` if `App
|
|||||||
This allows for you to create a dynamic task sequence via a PowerShell script with simple if statements to run apps, commands, etc. This is all driven by your `FFUConfig.json` file. For example, the following `FFUConfig.json` file contains an AppsScriptVariables hashtable of foo and vmwaretools like the screenshot above. If you build servers that require vmware tools, you may set the value to true. However there may be situations where you don't need vmwaretools installed. If that's the case, you set vmwaretools to false. This allows for your `Invoke-AppsScript.ps1` file to stay the same and all you have to do is adjust the variables.
|
This allows for you to create a dynamic task sequence via a PowerShell script with simple if statements to run apps, commands, etc. This is all driven by your `FFUConfig.json` file. For example, the following `FFUConfig.json` file contains an AppsScriptVariables hashtable of foo and vmwaretools like the screenshot above. If you build servers that require vmware tools, you may set the value to true. However there may be situations where you don't need vmwaretools installed. If that's the case, you set vmwaretools to false. This allows for your `Invoke-AppsScript.ps1` file to stay the same and all you have to do is adjust the variables.
|
||||||
|
|
||||||
```
|
```
|
||||||
{
|
s{
|
||||||
"AdditionalFFUFiles": [],
|
"AdditionalFFUFiles": [],
|
||||||
"AllowExternalHardDiskMedia": false,
|
"AllowExternalHardDiskMedia": false,
|
||||||
"AllowVHDXCaching": false,
|
"AllowVHDXCaching": false,
|
||||||
@@ -128,6 +128,4 @@ Example command line to run with vmwaretools set to false and foo set to foo. Th
|
|||||||
|
|
||||||
`.\BuildFFUVM.ps1 -configFile 'C:\FFUDevelopment\config\FFUConfig.json' -appsScriptVariables @{foo='foo'; vmwaretools='false'}`
|
`.\BuildFFUVM.ps1 -configFile 'C:\FFUDevelopment\config\FFUConfig.json' -appsScriptVariables @{foo='foo'; vmwaretools='false'}`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{% include page_nav.html %}
|
{% include page_nav.html %}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ parent: UI Overview
|
|||||||
---
|
---
|
||||||
# Build
|
# Build
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The Build tab is where the magic happens
|
The Build tab is where the magic happens
|
||||||
|
|
||||||
@@ -283,6 +283,12 @@ The deployment media is saved as an ISO file at `$FFUDevelopmentPath\WinPE_FFU_D
|
|||||||
>
|
>
|
||||||
> If you just need to re-create deployment media, you can use the `Create-PEMedia.ps1` script to regenerate the deploy ISO without running a full build.
|
> If you just need to re-create deployment media, you can use the `Create-PEMedia.ps1` script to regenerate the deploy ISO without running a full build.
|
||||||
|
|
||||||
|
### Verbose
|
||||||
|
|
||||||
|
Controls the `-Verbose` common parameter. When checked, enables detailed verbose output during the build process. The default is **unchecked**.
|
||||||
|
|
||||||
|
In prior builds it was necessary to enable `-verbose` output to track in real-time the build process if you didn't have `cmtrace.exe` or some other log-monitoring tool. With the UI, you can now watch the build in real-time using the monitor tab. Enabling verbose shouldn't be necessary but is available for those who wish to use it.
|
||||||
|
|
||||||
## Unattend.xml Options Expander
|
## Unattend.xml Options Expander
|
||||||
|
|
||||||
Use the **Unattend.xml Options** expander to choose how unattend content is staged and which source XML file FFU Builder should use for x64 and arm64 builds.
|
Use the **Unattend.xml Options** expander to choose how unattend content is staged and which source XML file FFU Builder should use for x64 and arm64 builds.
|
||||||
@@ -338,11 +344,11 @@ This option is primarily intended for scenarios where:
|
|||||||
|
|
||||||
#### Limitations
|
#### Limitations
|
||||||
|
|
||||||
| Limitation | Description |
|
| Limitation | Description |
|
||||||
| --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| **No prefixes.txt, SerialComputerNames.csv, or %serial% support** | Unlike **Copy Unattend.xml**, this method does not support `prefixes.txt`, `SerialComputerNames.csv`, or the `%serial%` variable for deployment-time device naming |
|
| **No prefixes.txt, SerialComputerNames.csv, or %serial% support** | Unlike**Copy Unattend.xml**, this method does not support `prefixes.txt`, `SerialComputerNames.csv`, or the `%serial%` variable for deployment-time device naming |
|
||||||
| **Fixed configuration** | The unattend settings are baked into the FFU at build time and cannot be changed at deployment time |
|
| **Fixed configuration** | The unattend settings are baked into the FFU at build time and cannot be changed at deployment time |
|
||||||
| **Requires VM to be built** | This option only works when**Install Apps** is `$true` because the unattend file is included in the Apps ISO |
|
| **Requires VM to be built** | This option only works when**Install Apps** is `$true` because the unattend file is included in the Apps ISO |
|
||||||
|
|
||||||
{: .note-title}
|
{: .note-title}
|
||||||
|
|
||||||
@@ -356,11 +362,23 @@ This option is primarily intended for scenarios where:
|
|||||||
>
|
>
|
||||||
> If you're using this option, you can disable **Build Deploy ISO** to save time during the build process since the deployment ISO is not needed when you're not using the USB drive method.
|
> If you're using this option, you can disable **Build Deploy ISO** to save time during the build process since the deployment ISO is not needed when you're not using the USB drive method.
|
||||||
|
|
||||||
### Verbose
|
### Copy Unattend.xml
|
||||||
|
|
||||||
Controls the `-Verbose` common parameter. When checked, enables detailed verbose output during the build process. The default is **unchecked**.
|
Controls the `-CopyUnattend` parameter. When checked, stages the XML file selected for the current architecture in **Unattend.xml Options** to an `Unattend` folder on the Deployment partition of the USB drive. The default is **unchecked**.
|
||||||
|
|
||||||
In prior builds it was necessary to enable `-verbose` output to track in real-time the build process if you didn't have `cmtrace.exe` or some other log-monitoring tool. With the UI, you can now watch the build in real-time using the monitor tab. Enabling verbose shouldn't be necessary but is available for those who wish to use it.
|
Use this option when you plan to build deployment USB media.
|
||||||
|
|
||||||
|
When enabled, the build process copies:
|
||||||
|
|
||||||
|
- The selected x64 or arm64 unattend XML file -> renamed to **Unattend.xml** on the USB drive
|
||||||
|
- **prefixes.txt** -> created from the **Device Naming** prefixes list when that mode is selected
|
||||||
|
- **SerialComputerNames.csv** -> created from the **Device Naming** serial mapping list when that mode is selected
|
||||||
|
|
||||||
|
If you keep the default file paths in place, FFU Builder uses `unattend_x64.xml` for x64 builds and `unattend_arm64.xml` for arm64 builds.
|
||||||
|
|
||||||
|
During deployment, `ApplyFFU.ps1` applies `Unattend.xml` whenever it is present. Device naming only happens when the **Device Naming** setting requires it, or when older media still uses the legacy prompt-based workflow.
|
||||||
|
|
||||||
|
See **Device Naming Expander** below for the available computer-name modes and naming-file behavior.
|
||||||
|
|
||||||
## Device Naming Expander
|
## Device Naming Expander
|
||||||
|
|
||||||
@@ -374,7 +392,7 @@ Use the **Device Naming** expander to decide whether `ComputerName` should be se
|
|||||||
This is the default radio selection in the UI.
|
This is the default radio selection in the UI.
|
||||||
|
|
||||||
- If you leave device naming untouched, FFU Builder does not write `DeviceNamingMode` to the generated config. This preserves the script's `Legacy` default, so an existing `FFUDevelopment\Unattend\prefixes.txt` file is still copied to deployment media when present.
|
- If you leave device naming untouched, FFU Builder does not write `DeviceNamingMode` to the generated config. This preserves the script's `Legacy` default, so an existing `FFUDevelopment\Unattend\prefixes.txt` file is still copied to deployment media when present.
|
||||||
- If you explicitly select this option, FFU Builder writes `DeviceNamingMode = None`. The unattend file is still applied, but Windows generates a random computer name instead of forcing a prompt or a fixed name.
|
- If you explicitly select this option, FFU Builder sets `DeviceNamingMode = None`. The unattend file is still applied, but Windows generates a random computer name instead of forcing a prompt or a fixed name.
|
||||||
|
|
||||||
The active `unattend_*.xml` files in `FFUDevelopment\Unattend` use `<ComputerName>*</ComputerName>` in the current sample files.
|
The active `unattend_*.xml` files in `FFUDevelopment\Unattend` use `<ComputerName>*</ComputerName>` in the current sample files.
|
||||||
|
|
||||||
@@ -382,6 +400,7 @@ The active `unattend_*.xml` files in `FFUDevelopment\Unattend` use `<ComputerNam
|
|||||||
|
|
||||||
Use this option when you want the technician to enter the computer name during deployment.
|
Use this option when you want the technician to enter the computer name during deployment.
|
||||||
|
|
||||||
|
- FFU Builder sets `DeviceNamingMode = Prompt`.
|
||||||
- This option requires **Copy Unattend.xml**.
|
- This option requires **Copy Unattend.xml**.
|
||||||
- The source `unattend_*.xml` files can stay at `<ComputerName>*</ComputerName>`.
|
- The source `unattend_*.xml` files can stay at `<ComputerName>*</ComputerName>`.
|
||||||
- During the build, FFU Builder rewrites only the staged deployment copy of `Unattend.xml` to the legacy prompt placeholder that `ApplyFFU.ps1` already recognizes.
|
- During the build, FFU Builder rewrites only the staged deployment copy of `Unattend.xml` to the legacy prompt placeholder that `ApplyFFU.ps1` already recognizes.
|
||||||
@@ -391,6 +410,7 @@ Use this option when you want the technician to enter the computer name during d
|
|||||||
|
|
||||||
Use this option when you want a static device name or a template such as `Comp-%serial%`.
|
Use this option when you want a static device name or a template such as `Comp-%serial%`.
|
||||||
|
|
||||||
|
- FFU Builder sets `DeviceNamingMode = Template`.
|
||||||
- With **Copy Unattend.xml**, `%serial%` is resolved during deployment in PE.
|
- With **Copy Unattend.xml**, `%serial%` is resolved during deployment in PE.
|
||||||
- With **Inject Unattend.xml**, only static names are supported.
|
- With **Inject Unattend.xml**, only static names are supported.
|
||||||
- **Copy Unattend.xml** and **Inject Unattend.xml** are mutually exclusive. Select only one.
|
- **Copy Unattend.xml** and **Inject Unattend.xml** are mutually exclusive. Select only one.
|
||||||
@@ -399,6 +419,8 @@ Use this option when you want a static device name or a template such as `Comp-%
|
|||||||
|
|
||||||
This option writes `prefixes.txt` from the list in the UI. Enter one prefix per line in the multiline prefixes box. If there is a single prefix, deployment uses it automatically. If there are multiple prefixes, the technician is prompted to select one. The selected prefix is combined with the device serial number to create the computer name.
|
This option writes `prefixes.txt` from the list in the UI. Enter one prefix per line in the multiline prefixes box. If there is a single prefix, deployment uses it automatically. If there are multiple prefixes, the technician is prompted to select one. The selected prefix is combined with the device serial number to create the computer name.
|
||||||
|
|
||||||
|
- FFU Builder sets `DeviceNamingMode = Prefixes`.
|
||||||
|
|
||||||
For example, with a prefix of `CORP-` and a serial number of `ABC123`, the resulting computer name would be `CORP-ABC123` (truncated to 15 characters if necessary).
|
For example, with a prefix of `CORP-` and a serial number of `ABC123`, the resulting computer name would be `CORP-ABC123` (truncated to 15 characters if necessary).
|
||||||
|
|
||||||
Sample `prefixes.txt` content:
|
Sample `prefixes.txt` content:
|
||||||
@@ -427,6 +449,8 @@ Use **Save Prefixes** to write the current multiline prefixes list back to the f
|
|||||||
|
|
||||||
This option writes `SerialComputerNames.csv` from the CSV content in the UI. Use `SerialNumber,ComputerName` as the header row, then add one row per device. During deployment, `ApplyFFU.ps1` compares the current BIOS serial number to the `SerialNumber` column and uses the matching `ComputerName` value.
|
This option writes `SerialComputerNames.csv` from the CSV content in the UI. Use `SerialNumber,ComputerName` as the header row, then add one row per device. During deployment, `ApplyFFU.ps1` compares the current BIOS serial number to the `SerialNumber` column and uses the matching `ComputerName` value.
|
||||||
|
|
||||||
|
- FFU Builder sets `DeviceNamingMode = SerialComputerNames`.
|
||||||
|
|
||||||
Sample `SerialComputerNames.csv` content:
|
Sample `SerialComputerNames.csv` content:
|
||||||
|
|
||||||
```plaintext
|
```plaintext
|
||||||
@@ -468,13 +492,13 @@ Older deployment media that already has an unattend file with `ComputerName` set
|
|||||||
|
|
||||||
The `.\FFUDevelopment\Unattend` folder includes sample files you can customize:
|
The `.\FFUDevelopment\Unattend` folder includes sample files you can customize:
|
||||||
|
|
||||||
| File | Description |
|
| File | Description |
|
||||||
| -------------------------------- | ------------------------------------------ |
|
| --------------------------------------- | ------------------------------------------ |
|
||||||
| **SampleUnattend_x64.xml** | Example unattend file for x64 systems |
|
| **SampleUnattend_x64.xml** | Example unattend file for x64 systems |
|
||||||
| **unattend_x64.xml** | Active unattend file used for x64 builds |
|
| **unattend_x64.xml** | Active unattend file used for x64 builds |
|
||||||
| **unattend_arm64.xml** | Active unattend file used for arm64 builds |
|
| **unattend_arm64.xml** | Active unattend file used for arm64 builds |
|
||||||
| **SamplePrefixes.txt** | Example prefixes file for device naming |
|
| **SamplePrefixes.txt** | Example prefixes file for device naming |
|
||||||
| **SampleSerialComputerNames.csv** | Example serial-to-device-name CSV file |
|
| **SampleSerialComputerNames.csv** | Example serial-to-device-name CSV file |
|
||||||
|
|
||||||
Copy and customize the sample files to create your own `unattend_x64.xml`, `unattend_arm64.xml`, `prefixes.txt`, and `SerialComputerNames.csv` files.
|
Copy and customize the sample files to create your own `unattend_x64.xml`, `unattend_arm64.xml`, `prefixes.txt`, and `SerialComputerNames.csv` files.
|
||||||
|
|
||||||
@@ -559,24 +583,6 @@ This option is only available when **Build USB Drive** is checked.
|
|||||||
|
|
||||||
This leverages the Autopilot for existing devices json file. It's not recommended to use this method any longer as devices enrolled via this method are enrolled as personal instead of corporate.
|
This leverages the Autopilot for existing devices json file. It's not recommended to use this method any longer as devices enrolled via this method are enrolled as personal instead of corporate.
|
||||||
|
|
||||||
### Copy Unattend.xml
|
|
||||||
|
|
||||||
Controls the `-CopyUnattend` parameter. When checked, stages the XML file selected for the current architecture in **Unattend.xml Options** to an `Unattend` folder on the Deployment partition of the USB drive. The default is **unchecked**.
|
|
||||||
|
|
||||||
Use this option when you plan to build deployment USB media.
|
|
||||||
|
|
||||||
When enabled, the build process copies:
|
|
||||||
|
|
||||||
- The selected x64 or arm64 unattend XML file → renamed to **Unattend.xml** on the USB drive
|
|
||||||
- **prefixes.txt** → created from the **Device Naming** prefixes list when that mode is selected
|
|
||||||
- **SerialComputerNames.csv** → created from the **Device Naming** serial mapping list when that mode is selected
|
|
||||||
|
|
||||||
If you keep the default file paths in place, FFU Builder uses `unattend_x64.xml` for x64 builds and `unattend_arm64.xml` for arm64 builds.
|
|
||||||
|
|
||||||
During deployment, `ApplyFFU.ps1` applies `Unattend.xml` whenever it is present. Device naming only happens when the **Device Naming** setting requires it, or when older media still uses the legacy prompt-based workflow.
|
|
||||||
|
|
||||||
See **Device Naming Expander** above for the available computer-name modes and naming-file behavior.
|
|
||||||
|
|
||||||
### Copy Provisioning Package
|
### Copy Provisioning Package
|
||||||
|
|
||||||
Controls the `-CopyPPKG` parameter. When checked, copies the contents of `.\FFUDevelopment\PPKG` to the `PPKG` folder on the Deployment partition of the USB drive. The default is **unchecked**.
|
Controls the `-CopyPPKG` parameter. When checked, copies the contents of `.\FFUDevelopment\PPKG` to the `PPKG` folder on the Deployment partition of the USB drive. The default is **unchecked**.
|
||||||
@@ -745,7 +751,7 @@ During the build process, application content accumulates in several subfolders
|
|||||||
|
|
||||||
| Folder | Contents |
|
| Folder | Contents |
|
||||||
| ----------- | ------------------------------------------------------------------------------------------------------------------------ |
|
| ----------- | ------------------------------------------------------------------------------------------------------------------------ |
|
||||||
| `Win32` | Winget source applications and Bring Your Own Apps content copied using the **Copy Apps** button or manually copied |
|
| `Win32` | Winget source applications and Bring Your Own Apps content copied using the**Copy Apps** button or manually copied |
|
||||||
| `MSStore` | Microsoft Store applications downloaded via Winget |
|
| `MSStore` | Microsoft Store applications downloaded via Winget |
|
||||||
| `Office` | Microsoft 365 Apps installer files downloaded by the Office Deployment Tool |
|
| `Office` | Microsoft 365 Apps installer files downloaded by the Office Deployment Tool |
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ grand_parent: UI Overview
|
|||||||
---
|
---
|
||||||
# Bring Your Own Applications
|
# Bring Your Own Applications
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Bring Your Own Applications allows you to run any command line you want in the virtual machine to include in your FFU to install an application, run a script, etc. As the name implies, you'll provide the content, command line, arguments, and additional exit codes.
|
Bring Your Own Applications allows you to run any command line you want in the virtual machine to include in your FFU to install an application, run a script, etc. As the name implies, you'll provide the content, command line, arguments, and additional exit codes.
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ parent: UI Overview
|
|||||||
---
|
---
|
||||||
# Drivers
|
# Drivers
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
FFU Builder supports adding drivers directly to the FFU file at build time, or adding them as folders on your USB drive which can be serviced offline after the FFU has been applied to your device.
|
FFU Builder supports adding drivers directly to the FFU file at build time, or adding them as folders on your USB drive which can be serviced offline after the FFU has been applied to your device.
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@ To find the Machine Type for Lenovo devices, check the bottom/back of the device
|
|||||||
|
|
||||||
You can multi-select different models within the same make, or mix and match different makes. The screenshot below shows different Dell, HP, Lenovo, and Microsoft models selected
|
You can multi-select different models within the same make, or mix and match different makes. The screenshot below shows different Dell, HP, Lenovo, and Microsoft models selected
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Save Drivers.json
|
## Save Drivers.json
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ parent: UI Overview
|
|||||||
---
|
---
|
||||||
# Hyper-V Settings
|
# Hyper-V Settings
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Enable VM Networking (Experimental)
|
## Enable VM Networking (Experimental)
|
||||||
|
|
||||||
|
|||||||
|
After Width: | Height: | Size: 166 KiB |
|
After Width: | Height: | Size: 281 KiB |
|
After Width: | Height: | Size: 150 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 200 KiB |
|
After Width: | Height: | Size: 147 KiB |
|
After Width: | Height: | Size: 247 KiB |
|
After Width: | Height: | Size: 249 KiB |
|
After Width: | Height: | Size: 162 KiB |
|
After Width: | Height: | Size: 374 KiB |
|
After Width: | Height: | Size: 263 KiB |
|
After Width: | Height: | Size: 197 KiB |
|
After Width: | Height: | Size: 250 KiB |
|
After Width: | Height: | Size: 203 KiB |
|
After Width: | Height: | Size: 218 KiB |
|
After Width: | Height: | Size: 211 KiB |
|
After Width: | Height: | Size: 293 KiB |
|
After Width: | Height: | Size: 172 KiB |
|
After Width: | Height: | Size: 256 KiB |
|
After Width: | Height: | Size: 330 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 129 KiB |
|
After Width: | Height: | Size: 17 KiB |
@@ -7,12 +7,12 @@ parent: UI Overview
|
|||||||
---
|
---
|
||||||
# Monitor
|
# Monitor
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The monitor tab parses the `.\FFUDevelopment\FFUDevelopment.log` file. This makes it easy to track what's happening during the FFU build process.
|
The monitor tab parses the `.\FFUDevelopment\FFUDevelopment.log` file. This makes it easy to track what's happening during the FFU build process.
|
||||||
|
|
||||||
You can click into the monitor and select one or multiple lines (either single click, or shift+click). Doing so will prevent the log file from continuous scrolling, allowing you time to read what has transpired up to that point.
|
You can click into the monitor and select one or multiple lines (either single click, or shift+click). Doing so will prevent the log file from continuous scrolling, allowing you time to read what has transpired up to that point.
|
||||||
|
|
||||||
You can also copy your selection using ctrl+C. This makes it easy to copy and paste parts of the log file used for troubleshooting.
|
You can also copy your selection using ctrl+C. This makes it easy to copy and paste parts of the log file used for troubleshooting.
|
||||||
|
|
||||||
{% include page_nav.html %}
|
{% include page_nav.html %}
|
||||||
|
|||||||
@@ -41,14 +41,12 @@ This table lists all top-level parameters in BuildFFUVM.ps1.
|
|||||||
| -CopyUnattend | bool | Copy Unattend.xml | When set to $true, stages the selected architecture-specific unattend XML file as Unattend.xml on the Deployment partition of the USB drive. Cannot be used together with -InjectUnattend. Default is $false. |
|
| -CopyUnattend | bool | Copy Unattend.xml | When set to $true, stages the selected architecture-specific unattend XML file as Unattend.xml on the Deployment partition of the USB drive. Cannot be used together with -InjectUnattend. Default is $false. |
|
||||||
| -CreateDeploymentMedia | bool | Create Deployment Media | When set to $true, this will create WinPE deployment media for use when deploying to a physical device. |
|
| -CreateDeploymentMedia | bool | Create Deployment Media | When set to $true, this will create WinPE deployment media for use when deploying to a physical device. |
|
||||||
| -CustomFFUNameTemplate | string | Custom FFU Name Template | Sets a custom FFU output name with placeholders. Allowed placeholders are: {WindowsRelease}, {WindowsVersion}, {SKU}, {BuildDate}, {yyyy}, {MM}, {dd}, {H}, {hh}, {mm}, {tt}. |
|
| -CustomFFUNameTemplate | string | Custom FFU Name Template | Sets a custom FFU output name with placeholders. Allowed placeholders are: {WindowsRelease}, {WindowsVersion}, {SKU}, {BuildDate}, {yyyy}, {MM}, {dd}, {H}, {hh}, {mm}, {tt}. |
|
||||||
| -DeviceNamingMode | string | Device Naming expander | Controls how device naming is handled when unattend content is copied to USB media or injected into the FFU. Accepted values are Legacy, None, Prompt, Template, Prefixes, and SerialComputerNames. The UI shows None, Prompt, Template, Prefixes, and SerialComputerNames. When device naming is left untouched in the UI, the generated config does not write DeviceNamingMode, which preserves the script default of Legacy. Prompt rewrites the staged deployment unattend to the existing manual prompt placeholder and requires -CopyUnattend. Prefixes writes prefixes.txt and requires -CopyUnattend. SerialComputerNames writes SerialComputerNames.csv and requires -CopyUnattend. |
|
|
||||||
| -DeviceNameTemplate | string | Specify Device Name | Sets the device name used when DeviceNamingMode is Template. Supports a static name or the %serial% token when -CopyUnattend is used. |
|
|
||||||
| -DeviceNamePrefixesPath | string | Prefixes File Path | Path to the source prefixes file used for legacy copy or when -DeviceNamePrefixes is not supplied. Default is $FFUDevelopmentPath\Unattend\prefixes.txt. |
|
|
||||||
| -DeviceNameSerialComputerNamesPath | string | Serial Computer Names CSV Mapping File Path | Path to the source CSV file used when DeviceNamingMode is SerialComputerNames and -DeviceNameSerialComputerNames is not supplied. Default is $FFUDevelopmentPath\Unattend\SerialComputerNames.csv. |
|
|
||||||
| -UnattendX64FilePath | string | x64 Unattend File Path | Path to the x64 unattend XML source file used by Copy Unattend.xml and Inject Unattend.xml. Default is $FFUDevelopmentPath\Unattend\unattend_x64.xml. |
|
|
||||||
| -UnattendArm64FilePath | string | arm64 Unattend File Path | Path to the arm64 unattend XML source file used by Copy Unattend.xml and Inject Unattend.xml. Default is $FFUDevelopmentPath\Unattend\unattend_arm64.xml. |
|
|
||||||
| -DeviceNamePrefixes | string[] | Specify a list of Prefixes | Sets the prefixes used when DeviceNamingMode is Prefixes. Each entry becomes a line in prefixes.txt on the deployment media. |
|
| -DeviceNamePrefixes | string[] | Specify a list of Prefixes | Sets the prefixes used when DeviceNamingMode is Prefixes. Each entry becomes a line in prefixes.txt on the deployment media. |
|
||||||
|
| -DeviceNamePrefixesPath | string | Prefixes File Path | Path to the source prefixes file used for legacy copy or when -DeviceNamePrefixes is not supplied. Default is $FFUDevelopmentPath\Unattend\prefixes.txt. |
|
||||||
| -DeviceNameSerialComputerNames | string[] | Specify Serial to Device Name Mapping | Sets the CSV content used when DeviceNamingMode is SerialComputerNames. The content must include SerialNumber and ComputerName headers, and the staged file is written as SerialComputerNames.csv on the deployment media. |
|
| -DeviceNameSerialComputerNames | string[] | Specify Serial to Device Name Mapping | Sets the CSV content used when DeviceNamingMode is SerialComputerNames. The content must include SerialNumber and ComputerName headers, and the staged file is written as SerialComputerNames.csv on the deployment media. |
|
||||||
|
| -DeviceNameSerialComputerNamesPath | string | Serial Computer Names CSV Mapping File Path | Path to the source CSV file used when DeviceNamingMode is SerialComputerNames and -DeviceNameSerialComputerNames is not supplied. Default is $FFUDevelopmentPath\Unattend\SerialComputerNames.csv. |
|
||||||
|
| -DeviceNameTemplate | string | Specify Device Name | Sets the device name used when DeviceNamingMode is Template. Supports a static name or the %serial% token when -CopyUnattend is used. |
|
||||||
|
| -DeviceNamingMode | string | Device Naming expander | Controls how device naming is handled when unattend content is copied to USB media or injected into the FFU. Accepted values are Legacy, None, Prompt, Template, Prefixes, and SerialComputerNames. The UI shows None, Prompt, Template, Prefixes, and SerialComputerNames. When device naming is left untouched in the UI, the generated config does not write DeviceNamingMode, which preserves the script default of Legacy. Prompt rewrites the staged deployment unattend to the existing manual prompt placeholder and requires -CopyUnattend. Prefixes writes prefixes.txt and requires -CopyUnattend. SerialComputerNames writes SerialComputerNames.csv and requires -CopyUnattend. |
|
||||||
| -Disksize | uint64 | Disk Size (GB) | Size of the virtual hard disk for the virtual machine. Default is a 50GB dynamic disk. |
|
| -Disksize | uint64 | Disk Size (GB) | Size of the virtual hard disk for the virtual machine. Default is a 50GB dynamic disk. |
|
||||||
| -DriversFolder | string | Drivers Folder | Path to the drivers folder. Default is $FFUDevelopmentPath\Drivers. |
|
| -DriversFolder | string | Drivers Folder | Path to the drivers folder. Default is $FFUDevelopmentPath\Drivers. |
|
||||||
| -DriversJsonPath | string | Drivers.json Path | Path to a JSON file that specifies which drivers to download. |
|
| -DriversJsonPath | string | Drivers.json Path | Path to a JSON file that specifies which drivers to download. |
|
||||||
@@ -78,9 +76,12 @@ This table lists all top-level parameters in BuildFFUVM.ps1.
|
|||||||
| -ProductKey | string | Product Key | Product key for the Windows edition specified in WindowsSKU. This will overwrite whatever SKU is entered for WindowsSKU. Recommended to use if you want to use a MAK or KMS key to activate Enterprise or Education. If using VL media instead of consumer media, you'll want to enter a MAK or KMS key here. |
|
| -ProductKey | string | Product Key | Product key for the Windows edition specified in WindowsSKU. This will overwrite whatever SKU is entered for WindowsSKU. Recommended to use if you want to use a MAK or KMS key to activate Enterprise or Education. If using VL media instead of consumer media, you'll want to enter a MAK or KMS key here. |
|
||||||
| -PromptExternalHardDiskMedia | bool | Prompt for External Hard Disk Media | When set to $true, will prompt the user to confirm the use of media identified as External Hard Disk media via WMI class Win32_DiskDrive. Default is $true. |
|
| -PromptExternalHardDiskMedia | bool | Prompt for External Hard Disk Media | When set to $true, will prompt the user to confirm the use of media identified as External Hard Disk media via WMI class Win32_DiskDrive. Default is $true. |
|
||||||
| -RemoveApps | bool | Remove Apps Folder Content | When set to $true, will remove the application content in the Apps folder after the FFU has been captured. Default is $true. |
|
| -RemoveApps | bool | Remove Apps Folder Content | When set to $true, will remove the application content in the Apps folder after the FFU has been captured. Default is $true. |
|
||||||
|
| -RemoveDownloadedESD | bool | Remove Downloaded ESD file(s) | When set to $true, downloaded Windows ESD files are automatically deleted after they have been applied. Default is $true. |
|
||||||
| -RemoveFFU | bool | Remove FFU | When set to $true, will remove the FFU file from the $FFUDevelopmentPath\FFU folder after it has been copied to the USB drive. Default is $false. |
|
| -RemoveFFU | bool | Remove FFU | When set to $true, will remove the FFU file from the $FFUDevelopmentPath\FFU folder after it has been copied to the USB drive. Default is $false. |
|
||||||
| -RemoveUpdates | bool | Remove Downloaded Update Files | When set to $true, will remove the downloaded CU, MSRT, Defender, Edge, OneDrive, and .NET files downloaded. Default is $true. |
|
| -RemoveUpdates | bool | Remove Downloaded Update Files | When set to $true, will remove the downloaded CU, MSRT, Defender, Edge, OneDrive, and .NET files downloaded. Default is $true. |
|
||||||
| -Threads | int | Threads | Controls the throttle applied to parallel tasks inside the script. Default is 5, matching the UI Threads field, and applies to driver downloads invoked through Invoke-ParallelProcessing. |
|
| -Threads | int | Threads | Controls the throttle applied to parallel tasks inside the script. Default is 5, matching the UI Threads field, and applies to driver downloads invoked through Invoke-ParallelProcessing. |
|
||||||
|
| -UnattendArm64FilePath | string | arm64 Unattend File Path | Path to the arm64 unattend XML source file used by Copy Unattend.xml and Inject Unattend.xml. Default is $FFUDevelopmentPath\Unattend\unattend_arm64.xml. |
|
||||||
|
| -UnattendX64FilePath | string | x64 Unattend File Path | Path to the x64 unattend XML source file used by Copy Unattend.xml and Inject Unattend.xml. Default is $FFUDevelopmentPath\Unattend\unattend_x64.xml. |
|
||||||
| -UpdateADK | bool | Update ADK | When set to $true, the script will check for and install the latest Windows ADK and WinPE add-on if they are not already installed or up-to-date. Default is $true. |
|
| -UpdateADK | bool | Update ADK | When set to $true, the script will check for and install the latest Windows ADK and WinPE add-on if they are not already installed or up-to-date. Default is $true. |
|
||||||
| -UpdateEdge | bool | Update Edge | When set to $true, will download and install the latest Microsoft Edge. Default is $false. |
|
| -UpdateEdge | bool | Update Edge | When set to $true, will download and install the latest Microsoft Edge. Default is $false. |
|
||||||
| -UpdateLatestCU | bool | Update Latest Cumulative Update | When set to $true, will download and install the latest cumulative update. Default is $false. |
|
| -UpdateLatestCU | bool | Update Latest Cumulative Update | When set to $true, will download and install the latest cumulative update. Default is $false. |
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ Follow the guide linked below to install Hyper-V on Windows client or Server
|
|||||||
|
|
||||||
## Install PowerShell 7
|
## Install PowerShell 7
|
||||||
|
|
||||||
PowerShell 7 is required as of releases 2507+ onward.
|
PowerShell 7.6+ is required as of releases 2507+ onward.
|
||||||
|
|
||||||
[Installing PowerShell on Windows - PowerShell \| Microsoft Learn
|
[Installing PowerShell on Windows - PowerShell \| Microsoft Learn
|
||||||
](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows)
|
](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows)
|
||||||
@@ -57,10 +57,10 @@ Replace `C:\FFUDevelopment` with the path you extracted the files to.
|
|||||||
|
|
||||||
## Running BuildFFUVM_UI.ps1
|
## Running BuildFFUVM_UI.ps1
|
||||||
|
|
||||||
Either run Terminal as Admin, making sure to select PowerShell, not Windows PowerShell, or PowerShell 7.5+ as Admin and run `C:\FFUDevelopment\BuildFFUVM_UI.ps1`
|
Either run Terminal as Admin, making sure to select PowerShell, not Windows PowerShell, or PowerShell 7.6+ as Admin and run `C:\FFUDevelopment\BuildFFUVM_UI.ps1`
|
||||||
|
|
||||||
If all went well, you should see the FFU Builder UI
|
If all went well, you should see the FFU Builder UI
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
{% include page_nav.html %}
|
{% include page_nav.html %}
|
||||||
|
|||||||
@@ -27,6 +27,12 @@ After following this guide, you will have a USB drive with an FFU that contains
|
|||||||
|
|
||||||
## Video Walkthrough
|
## Video Walkthrough
|
||||||
|
|
||||||
|
{: .note-title}
|
||||||
|
|
||||||
|
> Note
|
||||||
|
>
|
||||||
|
> The below video was recorded prior to the Fluent UI refresh. Some things will look a bit different until a new quick start video is recorded.
|
||||||
|
|
||||||
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
|
<div style="position:relative;padding-bottom:56.25%;height:0;overflow:hidden;">
|
||||||
<iframe
|
<iframe
|
||||||
src="https://www.youtube-nocookie.com/embed/kOIK5OmDugc"
|
src="https://www.youtube-nocookie.com/embed/kOIK5OmDugc"
|
||||||
@@ -55,7 +61,7 @@ One setting you might need to set is the Logical Sector Size. 512 is the default
|
|||||||
|
|
||||||
Click the Windows Settings tab
|
Click the Windows Settings tab
|
||||||
|
|
||||||
If you keep ISO Path blank, FFU Builder will download the ESD file that the Windows Media Creation Tool uses. Most people should leave this blank since the Media Creation Tool media ESD file is now kept up to date as of Windows 11 25H2 (it's usually updated 2-3 days after patch Tuesday). This reduces the need to service the media and saves time and disk space.
|
Keep Download Windows ESD selected. FFU Builder will download the ESD file that the Windows Media Creation Tool uses. This is the recommended approach since the Media Creation Tool media ESD file is now kept up to date as of Windows 11 25H2 (it's usually updated 2-3 days after patch Tuesday). This reduces the need to service the media and saves time and disk space.
|
||||||
|
|
||||||
Change the Windows language to the one of your choosing.
|
Change the Windows language to the one of your choosing.
|
||||||
|
|
||||||
@@ -168,7 +174,7 @@ Check **Copy Drivers to USB drive** (even though we're doing a single model in t
|
|||||||
|
|
||||||
Your view should look like this:
|
Your view should look like this:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
At this point, you can either Save the Drivers.json file or click Download Selected. Clicking Save Drivers.json will save the Driver model information to the Drivers.json file which will be used at build time to download the drivers. Clicking Download Selected will download the drivers right now. This can be useful for testing without having to go through an entire build, or good for airgapped environments where you can download what you need from the internet on one network, and bring that over to the airgapped network.
|
At this point, you can either Save the Drivers.json file or click Download Selected. Clicking Save Drivers.json will save the Driver model information to the Drivers.json file which will be used at build time to download the drivers. Clicking Download Selected will download the drivers right now. This can be useful for testing without having to go through an entire build, or good for airgapped environments where you can download what you need from the internet on one network, and bring that over to the airgapped network.
|
||||||
|
|
||||||
@@ -233,13 +239,23 @@ This option writes `SerialComputerNames.csv` from the CSV content in the UI. Use
|
|||||||
>
|
>
|
||||||
> If using a provisioning package or autopilot json file, DO NOT specify a name in either of these. They will overwrite the name you have specified in the unattend.xml.
|
> If using a provisioning package or autopilot json file, DO NOT specify a name in either of these. They will overwrite the name you have specified in the unattend.xml.
|
||||||
|
|
||||||
|
For the purposes of this quickstart, we'll use **Prompt for Device Name**
|
||||||
|
|
||||||
**Post Build Cleanup**
|
**Post Build Cleanup**
|
||||||
|
|
||||||
Leave the Post Build Cleanup section at the defaults
|
Leave the Post Build Cleanup section at the defaults
|
||||||
|
|
||||||
Your Build tab should look something like this:
|
Your Build tab should look something like this:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
Click **Build FFU**
|
Click **Build FFU**
|
||||||
|
|
||||||
@@ -247,8 +263,6 @@ Depending on your internet speed, speed of your build machine, etc. this will ta
|
|||||||
|
|
||||||
## Monitor
|
## Monitor
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
The monitor tab parses the `C:\FFUDevelopment\FFUDevelopment.log` file. If you'd like to use CMTrace or another tool to monitor the log, feel free. The monitor tab has some similar functionality to CMTrace. If you click off the last line of the log in the monitor tab it will stay on that line, allowing you to read what you have selected instead of the log autoscrolling. You can also copy one or multiple lines by selecting a line and shift+clicking the last line you want to select and hitting ctrl+c to copy the lines.
|
The monitor tab parses the `C:\FFUDevelopment\FFUDevelopment.log` file. If you'd like to use CMTrace or another tool to monitor the log, feel free. The monitor tab has some similar functionality to CMTrace. If you click off the last line of the log in the monitor tab it will stay on that line, allowing you to read what you have selected instead of the log autoscrolling. You can also copy one or multiple lines by selecting a line and shift+clicking the last line you want to select and hitting ctrl+c to copy the lines.
|
||||||
|
|
||||||
Now sit back, relax, and watch FFU Builder do its magic. You should see a VM pop up after everything is downloaded and Windows has been installed to the VHDX file (it may not if Hyper-V manager wasn't previously open). If you don't see a VM pop up, you can open up Hyper-V manager and look for a VM with a name that starts with **_FFU-.**
|
Now sit back, relax, and watch FFU Builder do its magic. You should see a VM pop up after everything is downloaded and Windows has been installed to the VHDX file (it may not if Hyper-V manager wasn't previously open). If you don't see a VM pop up, you can open up Hyper-V manager and look for a VM with a name that starts with **_FFU-.**
|
||||||
@@ -257,7 +271,7 @@ Now sit back, relax, and watch FFU Builder do its magic. You should see a VM pop
|
|||||||
|
|
||||||
> Note
|
> Note
|
||||||
>
|
>
|
||||||
> Don't interact with the VM (e.g. don't click into the PowerShell window that's orchestrating the install of the updates, apps, etc). The whole process should be completly automated with no user interaction necessary. If you click into the PowerShell window while it's working, you may get PowerShell into "select" mode. If this happens, the PowerShell window will look like it's "stuck." That's because clicking into a cmd/PowerShell window while something is in process and you're in select mode waits for you to exit select by hitting Enter.
|
> Don't interact with the VM (e.g. don't click into the PowerShell window that's orchestrating the install of the updates, apps, etc). The whole process should be completly automated with no user interaction necessary. If you click into the PowerShell window while it's working, you may get PowerShell into "select" mode. If this happens, the PowerShell window will look like it's "stuck." That's because clicking into a cmd/PowerShell window while something is in process and you're in select mode waits for you to exit select by hitting Enter.
|
||||||
|
|
||||||
## Post Build
|
## Post Build
|
||||||
|
|
||||||
@@ -311,7 +325,7 @@ Keep `*` if you want Windows to generate a random device name by default.
|
|||||||
|
|
||||||
If you want the technician to be prompted for the device name during deployment, select **Prompt for Device Name** in the Build tab and enable **Copy Unattend.xml**. FFU Builder will rewrite only the staged deployment copy of `Unattend.xml` for that workflow.
|
If you want the technician to be prompted for the device name during deployment, select **Prompt for Device Name** in the Build tab and enable **Copy Unattend.xml**. FFU Builder will rewrite only the staged deployment copy of `Unattend.xml` for that workflow.
|
||||||
|
|
||||||
Now you're ready to deploy the FFU to your device.
|
Now you're ready to deploy the FFU to your device.
|
||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,6 @@ has_toc: false
|
|||||||
---
|
---
|
||||||
# UI Overview
|
# UI Overview
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
The user interface has 9 distinct tabs for easy navigation.
|
The user interface has 9 distinct pages for easy navigation.
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ parent: UI Overview
|
|||||||
---
|
---
|
||||||
# Updates
|
# Updates
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Update Latest Cumulative Update
|
## Update Latest Cumulative Update
|
||||||
|
|
||||||
@@ -47,6 +47,6 @@ Controls the `-UpdatePreviewCU` parameter. When set to `$true`, will download an
|
|||||||
|
|
||||||
> Note
|
> Note
|
||||||
>
|
>
|
||||||
> The UI will only allow one of **Update Latest CU** or **Update Preview CU** to be checked to prevent both being applied.
|
> The UI will only allow one of **Update Latest CU** or **Update Preview CU** to be checked to prevent both being applied.
|
||||||
|
|
||||||
{% include page_nav.html %}
|
{% include page_nav.html %}
|
||||||
|
|||||||
@@ -9,11 +9,21 @@ parent: UI Overview
|
|||||||
---
|
---
|
||||||
# Windows Settings
|
# Windows Settings
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Windows ISO Path
|
## Windows Media Source
|
||||||
|
|
||||||
Path to Windows 10/11 ISO file. If left blank, FFU Builder will download the latest version of Windows 10 or 11 from the Media Creation Tool.
|
### Download Windows ESD
|
||||||
|
|
||||||
|
Download Windows ESD will download the ESD file provided from the Windows Media Creation Tool
|
||||||
|
|
||||||
|
### Provide Windows ISO
|
||||||
|
|
||||||
|
You can provide your own Windows ISO (Client or Server). Good for scenarios where you want to deploy Enterprise or Education SKUs and have a product key you want to use (MAK or KMS).
|
||||||
|
|
||||||
|
#### Windows ISO Path
|
||||||
|
|
||||||
|
Path to Windows ISO file.
|
||||||
|
|
||||||
{: .tip-title}
|
{: .tip-title}
|
||||||
|
|
||||||
@@ -21,11 +31,11 @@ Path to Windows 10/11 ISO file. If left blank, FFU Builder will download the lat
|
|||||||
>
|
>
|
||||||
> Should I provide my own ISO, or let FFU Builder download the media
|
> Should I provide my own ISO, or let FFU Builder download the media
|
||||||
>
|
>
|
||||||
> It's recommended to use the latest updated ISO from Visual Studio Downloads, or the Media Creation tool. See the Media Type section below for a better understanding of business and consumer media and how it impacts Subscription Activation.
|
> It's recommended to use the latest ESD in most scenarios. It gets updated a couple of days after Patch Tuesday (so roughly the 2nd Thursday or Friday). See the Media Type section below for a better understanding of business and consumer media and how it impacts Subscription Activation.
|
||||||
|
|
||||||
## Windows Release
|
## Windows Release
|
||||||
|
|
||||||
Integer value of 10 or 11. This is used to identify which release of Windows to download. Default is 11.
|
Can be 10, 11, different Server values, or LTSB/LTSC.
|
||||||
|
|
||||||
## Windows Version
|
## Windows Version
|
||||||
|
|
||||||
@@ -142,6 +152,6 @@ Product key for the Windows edition specified in WindowsSKU. This will overwrite
|
|||||||
|
|
||||||
## Optional Features
|
## Optional Features
|
||||||
|
|
||||||
A list of optional features that you can enable for the version of Windows you're installing (e.g. netfx3; TFTP).
|
A list of optional features that you can enable for the version of Windows you're installing (e.g. netfx3; TFTP).
|
||||||
|
|
||||||
{% include page_nav.html %}
|
{% include page_nav.html %}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ grand_parent: UI Overview
|
|||||||
---
|
---
|
||||||
# Install Winget Applications
|
# Install Winget Applications
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Check Winget Status
|
## Check Winget Status
|
||||||
|
|
||||||
@@ -18,19 +18,19 @@ Installing Winget applications requires that both the winget CLI and Microsoft.W
|
|||||||
|
|
||||||
Click **Check Winget Status** to validate the versions of both the CLI and PowerShell module. If older than the minimum required version, will be updated to the latest version.
|
Click **Check Winget Status** to validate the versions of both the CLI and PowerShell module. If older than the minimum required version, will be updated to the latest version.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
After validating Winget status, you'll be able to search winget for applications. The larger the result set, the longer it will take for the list view to be populated. For example, if searching for **win**, the UI might appear to hang while it searches for apps with a name or id of **win** due to 669 results being returned and processed. Instead, if you search for **windows app**, 13 results are returned within a few seconds.
|
After validating Winget status, you'll be able to search winget for applications. The larger the result set, the longer it will take for the list view to be populated. For example, if searching for **win**, the UI might appear to hang while it searches for apps with a name or id of **win** due to 669 results being returned and processed. Instead, if you search for **windows app**, 13 results are returned within a few seconds.
|
||||||
|
|
||||||
The UI allows for multi-selection of applications
|
The UI allows for multi-selection of applications
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
You can also change the architecture, add additional exit codes, or ignore exit codes completely.
|
You can also change the architecture, add additional exit codes, or ignore exit codes completely.
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
FFU Builder supports x86, x64, arm64, and x86/x64 (both) for applications in the winget source repository. For apps in the msstore source repository, the architecture cannot be changed. In most cases, x64 will be what you want, however in some cases the combo of x86 and x64 will be necessary. This might be due to runtimes (.NET, Visual C++) where an application is expecting both x86 and x64 runtimes.
|
FFU Builder supports x86, x64, arm64, and x86/x64 (both) for applications in the winget source repository. For apps in the msstore source repository, the architecture cannot be changed. In most cases, x64 will be what you want, however in some cases the combo of x86 and x64 will be necessary. This might be due to runtimes (.NET, Visual C++) where an application is expecting both x86 and x64 runtimes.
|
||||||
|
|
||||||
|
|||||||