mirror of
https://github.com/dockur/windows.git
synced 2025-10-29 04:05:50 +00:00
Update install.sh
This commit is contained in:
parent
c9bf0e50ab
commit
648d64869b
1 changed files with 32 additions and 16 deletions
|
|
@ -541,6 +541,36 @@ extractImage() {
|
|||
return 0
|
||||
}
|
||||
|
||||
parseVersion() {
|
||||
local xml="$1"
|
||||
local name name2 name3
|
||||
|
||||
local tag="DISPLAYNAME"
|
||||
name=$(sed -n "/$tag/{s/.*<$tag>\(.*\)<\/$tag>.*/\1/;p}" <<< "$xml")
|
||||
|
||||
DETECTED=$(getVersion "$name")
|
||||
[ -n "$DETECTED" ] && return 0
|
||||
|
||||
tag="PRODUCTNAME"
|
||||
name2=$(sed -n "/$tag/{s/.*<$tag>\(.*\)<\/$tag>.*/\1/;p}" <<< "$xml")
|
||||
[[ "$name2" == *"Operating System"* ]] && name2=""
|
||||
|
||||
DETECTED=$(getVersion "$name2")
|
||||
[ -n "$DETECTED" ] && return 0
|
||||
|
||||
tag="NAME"
|
||||
name3=$(sed -n "/$tag/{s/.*<$tag>\(.*\)<\/$tag>.*/\1/;p}" <<< "$xml")
|
||||
|
||||
DETECTED=$(getVersion "$name3")
|
||||
[ -n "$DETECTED" ] && return 0
|
||||
|
||||
[ -n "$name3" ] && info "Unknown name: '$name3'"
|
||||
[ -n "$name" ] && info "Unknown displayname: '$name'"
|
||||
[ -n "$name2" ] && info "Unknown productname: '$name2'"
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
detectImage() {
|
||||
|
||||
XML=""
|
||||
|
|
@ -587,7 +617,7 @@ detectImage() {
|
|||
fi
|
||||
fi
|
||||
|
||||
local src loc tag result name name2 desc
|
||||
local src loc result desc
|
||||
src=$(find "$dir" -maxdepth 1 -type d -iname sources | head -n 1)
|
||||
|
||||
if [ ! -d "$src" ]; then
|
||||
|
|
@ -603,23 +633,9 @@ detectImage() {
|
|||
warn "failed to locate 'install.wim' or 'install.esd' in ISO image, $FB" && return 1
|
||||
fi
|
||||
|
||||
tag="DISPLAYNAME"
|
||||
result=$(wimlib-imagex info -xml "$loc" | tr -d '\000')
|
||||
name=$(sed -n "/$tag/{s/.*<$tag>\(.*\)<\/$tag>.*/\1/;p}" <<< "$result")
|
||||
DETECTED=$(getVersion "$name")
|
||||
|
||||
if [ -z "$DETECTED" ]; then
|
||||
|
||||
tag="PRODUCTNAME"
|
||||
name2=$(sed -n "/$tag/{s/.*<$tag>\(.*\)<\/$tag>.*/\1/;p}" <<< "$result")
|
||||
[[ "$name2" == *"Operating System"* ]] && name2=""
|
||||
DETECTED=$(getVersion "$name2")
|
||||
|
||||
fi
|
||||
|
||||
if [ -z "$DETECTED" ]; then
|
||||
[ -n "$name" ] && info "Unknown displayname: '$name'"
|
||||
[ -n "$name2" ] && info "Unknown productname: '$name2'"
|
||||
if ! parseVersion "$result"; then
|
||||
warn "failed to determine Windows version from image, $FB"
|
||||
return 0
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue