Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions tiny11maker.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,17 @@ Write-Host "Welcome to the tiny11 image creator! Release: 05-06-24"

$hostArchitecture = $Env:PROCESSOR_ARCHITECTURE
New-Item -ItemType Directory -Force -Path "$ScratchDisk\tiny11\sources" | Out-Null

do {
$DriveLetter = Read-Host "Please enter the drive letter for the Windows 11 image"
if ($DriveLetter -match '^[c-zC-Z]$') {
$DriveLetter = $DriveLetter + ":"
Write-Output "Drive letter set to $DriveLetter"
$ImagePath = Read-Host "Please enter a path to the Windows 11 ISO image"
$ImagePath = $ImagePath -replace '"', ''
if ((Test-Path $ImagePath -PathType Leaf) -And ($ImagePath -match '\.iso$')) {
$DriveLetter = (Mount-DiskImage -ImagePath $ImagePath -Access ReadOnly | Get-Volume | Select-Object -ExpandProperty DriveLetter) + ":"
Write-Output "Selected ${ImagePath} (mounted with drive letter $DriveLetter). The script will now extract the image."
} else {
Write-Output "Invalid drive letter. Please enter a letter between C and Z."
Write-Output "File doesn't exist. Please specify a correct path"
}
} while ($DriveLetter -notmatch '^[c-zC-Z]:$')
} while (!(Test-Path $ImagePath -PathType Leaf) -And !($ImagePath -match '\.iso$'))

if ((Test-Path "$DriveLetter\sources\boot.wim") -eq $false -or (Test-Path "$DriveLetter\sources\install.wim") -eq $false) {
if ((Test-Path "$DriveLetter\sources\install.esd") -eq $true) {
Expand All @@ -80,6 +82,7 @@ if ((Test-Path "$DriveLetter\sources\boot.wim") -eq $false -or (Test-Path "$Driv

Write-Host "Copying Windows image..."
Copy-Item -Path "$DriveLetter\*" -Destination "$ScratchDisk\tiny11" -Recurse -Force | Out-Null
Dismount-DiskImage -ImagePath $ImagePath # unmount because it's not going to be used ever again
Set-ItemProperty -Path "$ScratchDisk\tiny11\sources\install.esd" -Name IsReadOnly -Value $false > $null 2>&1
Remove-Item "$ScratchDisk\tiny11\sources\install.esd" > $null 2>&1
Write-Host "Copy complete!"
Expand Down