diff --git a/.github/workflows/github-pages.yaml b/.github/workflows/github-pages.yaml
index b51697b8..f4d0ebb3 100644
--- a/.github/workflows/github-pages.yaml
+++ b/.github/workflows/github-pages.yaml
@@ -1,15 +1,16 @@
name: GitHub Pages Deploy
on:
- release:
- types: [published, prereleased]
+ push:
+ paths:
+ - '.github/mkdocs.yml'
+ - '.github/requirements.txt'
+ - 'docs/**'
+ - 'overrides/**'
workflow_dispatch:
-permissions:
- contents: write
-
jobs:
- deploy:
+ build-and-deploy:
runs-on: ubuntu-latest
steps:
@@ -22,10 +23,10 @@ jobs:
uses: actions/setup-python@v5
with:
python-version: 3.x # Install latest Stable release of Python 3
- cache: 'pip' # caching pip dependencies
+ cache: 'pip' # Caching pip dependencies
- - name: Install Necessary Dependencies using 'pip install -r .github/requirements.txt'
+ - name: Install Necessary Dependencies
run: pip install -r .github/requirements.txt
- - name: Build & Deploy using 'mkdocs'
- run: mkdocs gh-deploy --force -f .github/mkdocs.yml
\ No newline at end of file
+ - name: Build & Deploy using mkdocs
+ run: mkdocs gh-deploy --force -f .github/mkdocs.yml
diff --git a/README.md b/README.md
index 8475bee6..1233f475 100644
--- a/README.md
+++ b/README.md
@@ -52,7 +52,7 @@ If you have Issues, refer to [Known Issues](https://christitustech.github.io/win
These are the sponsors that help keep this project alive with monthly contributions.
-
+
## 🏅 Thanks to all Contributors
Thanks a lot for spending your time helping Winutil grow. Thanks a lot! Keep rocking 🍻.
diff --git a/docs/userguide.md b/docs/userguide.md
index 9800ed59..7dac8c9a 100644
--- a/docs/userguide.md
+++ b/docs/userguide.md
@@ -198,26 +198,7 @@ The utility provides three distinct settings for managing Windows updates: Defau
* Selecting a scratch directory will copy the contents of the ISO file to the directory you specify instead of an automatically generated folder in the `%TEMP%` directory.
* You can select an edition of Windows to debloat (**SKU**) using the convenient drop-down menu.
- By default, MicroWin will debloat the Pro edition, but you can choose any edition you want.
-
-
-##### Customization options
-
-* **Keep Provisioned Packages**: leaving this option unticked (default) will try to remove every operating system package.
-
- Some packages may remain after processing. This can happen if the packages in question are permanent or have been superseded by newer versions.
-
-* **Keep Appx Packages**: leaving this option unticked (default) will try to remove every Microsoft Store app from the Windows image.
-
- This option will exclude some applications that are essential in the event that you want or need to add a Store app later on.
-
-* **Keep Defender**: leaving this option unticked will try to remove every part of Windows Defender, including the Windows Security app.
-
- Leaving this option unticked is **NOT recommended** unless you plan to use a third-party antivirus solution on your MicroWin installation. In that regard, don't install AVs with bad reputations or rogueware.
-
-* **Keep Edge**: leaving this option unticked will try to remove every part of the Microsoft Edge browser using the best methods available.
-
- Leaving this option unticked is not recommended because it might break some applications that might depend on the `Edge WebView2` runtime. However, if that happens, you can easily [reinstall it](https://developer.microsoft.com/en-us/microsoft-edge/webview2)
+By default, MicroWin will debloat the Pro edition, but you can choose any edition you want.
##### Driver integration options
@@ -225,7 +206,15 @@ The utility provides three distinct settings for managing Windows updates: Defau
* **Inject drivers** will add the drivers in the folder that you specify to the target Windows image.
* **Import drivers from the current system** will add every third-party driver that is present in your active installation.
- This makes the target image have the same hardware compatibility as the active installation. However, this means that you will only be able to install the target Windows image and take full advantage of it on computers with **the same hardware**. To avoid this, you'll need to customize the `install.wim` file of the target ISO in the 'sources` folder.
+This makes the target image have the same hardware compatibility as the active installation. However, this means that you will only be able to install the target Windows image and take full advantage of it on computers with **the same hardware**. To avoid this, you'll need to customize the `install.wim` file of the target ISO in the 'sources` folder.
+
+##### Custom user settings
+
+With MicroWin, you can also configure your user before proceeding if you don't want to use the default `User` account. To do this, simply type the account name (20 characters maximum), and a password. Then, let MicroWin do the rest.
+
+!!! info
+
+ Please make sure that you remember your password. MicroWin will configure auto-login settings, so you won't have to enter your password. However, if you are required to enter your password, it's best that you don't forget it.
##### Ventoy options
diff --git a/functions/private/Invoke-WinUtilMicroWin-Helper.ps1 b/functions/private/Invoke-WinUtilMicroWin-Helper.ps1
index 8dfd1af0..b568b839 100644
--- a/functions/private/Invoke-WinUtilMicroWin-Helper.ps1
+++ b/functions/private/Invoke-WinUtilMicroWin-Helper.ps1
@@ -247,6 +247,11 @@ function Remove-FileOrDirectory([string]$pathToDelete, [string]$mask = "", [swit
function New-Unattend {
+ param (
+ [Parameter(Mandatory, Position = 0)] [string] $userName,
+ [Parameter(Position = 1)] [string] $userPassword
+ )
+
$unattend = @'
- User
+ USER-REPLACEME
Administrators
-
+ PW-REPLACEME
true
- User
+ USER-REPLACEME
true
1
-
+ PW-REPLACEME
true
@@ -543,6 +548,11 @@ function New-Unattend {
# Replace the placeholder text with the Specialize pass
$unattend = $unattend.Replace("<#REPLACEME#>", $specPass).Trim()
}
+ # Replace default User and Password values with the provided parameters
+ $unattend = $unattend.Replace("USER-REPLACEME", $userName).Trim()
+ $unattend = $unattend.Replace("PW-REPLACEME", $userPassword).Trim()
+
+ # Save unattended answer file with UTF-8 encoding
$unattend | Out-File -FilePath "$env:temp\unattend.xml" -Force -Encoding utf8
}
diff --git a/functions/public/Invoke-WPFMicrowin.ps1 b/functions/public/Invoke-WPFMicrowin.ps1
index 9bb89194..f686082d 100644
--- a/functions/public/Invoke-WPFMicrowin.ps1
+++ b/functions/public/Invoke-WPFMicrowin.ps1
@@ -178,7 +178,22 @@ public class PowerManagement {
Write-Host "Removal complete!"
Write-Host "Create unattend.xml"
- New-Unattend
+ #New-Unattend
+ if ($sync.MicrowinUserName.Text -eq "")
+ {
+ New-Unattend -userName "User"
+ }
+ else
+ {
+ if ($sync.MicrowinUserPassword.Password -eq "")
+ {
+ New-Unattend -userName "$($sync.MicrowinUserName.Text)"
+ }
+ else
+ {
+ New-Unattend -userName "$($sync.MicrowinUserName.Text)" -userPassword "$($sync.MicrowinUserPassword.Password)"
+ }
+ }
Write-Host "Done Create unattend.xml"
Write-Host "Copy unattend.xml file into the ISO"
New-Item -ItemType Directory -Force -Path "$($scratchDir)\Windows\Panther"
@@ -248,7 +263,10 @@ public class PowerManagement {
# reg delete "HKLM\zSOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Orchestrator\UScheduler\$_" /f | Out-Null
# When in Offline Image
- reg delete "HKLM\zSOFTWARE\Microsoft\WindowsUpdate\Orchestrator\UScheduler_Oobe\$_" /f | Out-Null
+ if (Test-Path "HKLM:\zSOFTWARE\Microsoft\WindowsUpdate\Orchestrator\UScheduler_Oobe\$_")
+ {
+ reg delete "HKLM\zSOFTWARE\Microsoft\WindowsUpdate\Orchestrator\UScheduler_Oobe\$_" /f | Out-Null
+ }
}
reg add "HKLM\zSOFTWARE\Microsoft\Windows\CurrentVersion\Search" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f
diff --git a/xaml/inputXML.xaml b/xaml/inputXML.xaml
index 4ef28177..91394e56 100644
--- a/xaml/inputXML.xaml
+++ b/xaml/inputXML.xaml
@@ -607,6 +607,36 @@
+