Fix mistypos in the post-install script

Fix mistypos in the post-install script, Fix decompression process when the file contains single root
This commit is contained in:
Namhyeon, Go 2025-12-01 17:14:28 +09:00
parent 3058d6c190
commit c37d42418d
3 changed files with 24 additions and 10 deletions

View File

@ -91,7 +91,7 @@ function ADBObject() {
}; };
// set the binary path // set the binary path
this.binPath = SYS.getAppDataDir() + "\\android_platform_tools\\platform-tools\\adb.exe"; this.binPath = SYS.getAppDataDir() + "\\android_platform_tools\\adb.exe";
this._interface.setPrefix(this.binPath); this._interface.setPrefix(this.binPath);
} }

View File

@ -289,28 +289,42 @@ function Extract-CompressedFile {
Write-Host " $CompressedPath" Write-Host " $CompressedPath"
Write-Host " -> $DestinationDirectory" Write-Host " -> $DestinationDirectory"
# Ensure destination directory exists # Ensure destination directory exists (clean)
Ensure-EmptyDirectory -Path $DestinationDirectory Ensure-EmptyDirectory -Path $DestinationDirectory
# Temporary extraction workspace inside destination directory # Temporary extraction workspace
$tmpExtractDir = Join-Path $DestinationDirectory "_tmp_extract" $tmpExtractDir = Join-Path $DestinationDirectory "_tmp_extract"
Ensure-EmptyDirectory -Path $tmpExtractDir Ensure-EmptyDirectory -Path $tmpExtractDir
# Extract archive # Extract all
Add-Type -AssemblyName System.IO.Compression.FileSystem Add-Type -AssemblyName System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::ExtractToDirectory($CompressedPath, $tmpExtractDir) [System.IO.Compression.ZipFile]::ExtractToDirectory($CompressedPath, $tmpExtractDir)
# Move all items from temp folder to final destination # Detect source root to move from
Get-ChildItem -Path $tmpExtractDir -Force | ForEach-Object { $entries = Get-ChildItem -Path $tmpExtractDir -Force
$SourceRoot = $tmpExtractDir
if ($entries.Count -eq 1 -and $entries[0].PSIsContainer) {
# ZIP contains exactly one top-level folder → unwrap that folder
$SourceRoot = $entries[0].FullName
Write-Host "[*] Detected single root folder inside zip: $($entries[0].Name)"
Write-Host "[*] Unwrapping folder content..."
}
else {
Write-Host "[*] Extracting multi-item archive (no root folder unwrapping needed)."
}
# Move all items from source root to final destination
Get-ChildItem -Path $SourceRoot -Force | ForEach-Object {
$targetPath = Join-Path $DestinationDirectory $_.Name $targetPath = Join-Path $DestinationDirectory $_.Name
if (Test-Path $targetPath) { if (Test-Path $targetPath) {
# If the target exists, remove it (file or directory)
Remove-Item -Path $targetPath -Recurse -Force Remove-Item -Path $targetPath -Recurse -Force
} }
Move-Item -Path $_.FullName -Destination $targetPath Move-Item -Path $_.FullName -Destination $targetPath
} }
# Remove the temporary extraction directory # Cleanup
Remove-Item -Path $tmpExtractDir -Recurse -Force Remove-Item -Path $tmpExtractDir -Recurse -Force
} }
@ -828,7 +842,7 @@ try {
# Android Platform Tools (component: android_platform_tools) # Android Platform Tools (component: android_platform_tools)
if (Test-ComponentSelected -Name "android_platform_tools") { if (Test-ComponentSelected -Name "android_platform_tools") {
if (Test-Path $WinDivertCompressed) { if (Test-Path $AndroidPlatformToolsCompressed) {
Extract-CompressedFile ` Extract-CompressedFile `
-CompressedPath $AndroidPlatformToolsCompressed ` -CompressedPath $AndroidPlatformToolsCompressed `
-DestinationDirectory (Join-Path $TargetDir "android_platform_tools") -DestinationDirectory (Join-Path $TargetDir "android_platform_tools")

View File

@ -40,7 +40,7 @@ Name: "tessdata_best"; Description: "Download the pre-trained Tesseract OCR data
Name: "tessdata_fast"; Description: "Download the pre-trained Tesseract OCR data (faster)"; Types: custom; Name: "tessdata_fast"; Description: "Download the pre-trained Tesseract OCR data (faster)"; Types: custom;
Name: "gtk3runtime"; Description: "Download and install GTK3 runtime for Windows"; Types: custom; Name: "gtk3runtime"; Description: "Download and install GTK3 runtime for Windows"; Types: custom;
Name: "gtkserver"; Description: "Download GTK-server (GTK GUI interpreter)"; Types: custom; Name: "gtkserver"; Description: "Download GTK-server (GTK GUI interpreter)"; Types: custom;
Name: "nmap"; Description: "Download and Nmap and Npcap"; Types: custom; Name: "nmap"; Description: "Download Nmap and Npcap"; Types: custom;
Name: "windivert"; Description: "Download WinDivert (Windows Packet Divert)"; Types: custom; Name: "windivert"; Description: "Download WinDivert (Windows Packet Divert)"; Types: custom;
Name: "android_platform_tools"; Description: "Download Android Platform Tools"; Types: custom; Name: "android_platform_tools"; Description: "Download Android Platform Tools"; Types: custom;