mirror of
https://github.com/dockur/windows.git
synced 2026-08-24 07:39:00 +01:00
fix: Skip ISO inspection for non-ISO downloads (#2119)
This commit is contained in:
+32
-30
@@ -71,7 +71,7 @@ selectWindowsImage() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Inspect unknown bootable media directly before falling back to extraction.
|
# Inspect unknown bootable media directly before falling back to extraction.
|
||||||
if [[ "${iso,,}" != *.esd ]]; then
|
if isDirectImage "$iso"; then
|
||||||
|
|
||||||
detectIsoImage "$iso" && return 0
|
detectIsoImage "$iso" && return 0
|
||||||
|
|
||||||
@@ -331,7 +331,7 @@ skipUnattended() {
|
|||||||
|
|
||||||
# Standalone ESD files and nested archives are not directly bootable media,
|
# Standalone ESD files and nested archives are not directly bootable media,
|
||||||
# so they cannot use the manual-install fallback.
|
# so they cannot use the manual-install fallback.
|
||||||
if enabled "${UNPACK:-}" || [[ "${iso,,}" == *".esd" ]]; then
|
if ! isDirectImage "$iso"; then
|
||||||
error "Failed to boot \"$iso\" because it is not a directly bootable ISO image!"
|
error "Failed to boot \"$iso\" because it is not a directly bootable ISO image!"
|
||||||
exit 60
|
exit 60
|
||||||
fi
|
fi
|
||||||
@@ -361,25 +361,6 @@ skipUnattended() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
useOriginalImage() {
|
|
||||||
|
|
||||||
local iso="$1"
|
|
||||||
|
|
||||||
if [ -n "$CUSTOM" ]; then
|
|
||||||
BOOT="$iso"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$iso" != "$BOOT" ]]; then
|
|
||||||
if ! mv -f -- "$iso" "$BOOT"; then
|
|
||||||
error "Failed to move ISO file: $iso"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
skipInstall() {
|
skipInstall() {
|
||||||
|
|
||||||
local iso="$1"
|
local iso="$1"
|
||||||
@@ -619,9 +600,35 @@ detectCustom() {
|
|||||||
|
|
||||||
hasImage() {
|
hasImage() {
|
||||||
|
|
||||||
local file="$1"
|
local iso="$1"
|
||||||
|
|
||||||
[ -f "$file" ] && [ -s "$file" ]
|
[ -f "$iso" ] && [ -s "$iso" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
isDirectImage() {
|
||||||
|
|
||||||
|
local iso="$1"
|
||||||
|
|
||||||
|
! enabled "${UNPACK:-}" && [[ "${iso,,}" != *.esd ]]
|
||||||
|
}
|
||||||
|
|
||||||
|
useOriginalImage() {
|
||||||
|
|
||||||
|
local iso="$1"
|
||||||
|
|
||||||
|
if [ -n "$CUSTOM" ]; then
|
||||||
|
BOOT="$iso"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$iso" != "$BOOT" ]]; then
|
||||||
|
if ! mv -f -- "$iso" "$BOOT"; then
|
||||||
|
error "Failed to move ISO file: $iso"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
removeImage() {
|
removeImage() {
|
||||||
@@ -669,8 +676,8 @@ needsExtraction() {
|
|||||||
local id="$1"
|
local id="$1"
|
||||||
local iso="$2"
|
local iso="$2"
|
||||||
|
|
||||||
# Nested archives must be extracted to expose their contained ISO.
|
# Nested archives must be extracted before they can be prepared.
|
||||||
if enabled "${UNPACK:-}"; then
|
if ! isDirectImage "$iso"; then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -684,11 +691,6 @@ needsExtraction() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Standalone ESD downloads must be extracted before they can be prepared.
|
|
||||||
if [[ "${iso,,}" == *".esd" ]]; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Modern bootable ISOs can use the original media with a setup overlay.
|
# Modern bootable ISOs can use the original media with a setup overlay.
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user