From 3af54beeae5bc358de5f05b30e1b5ef240b9b2f2 Mon Sep 17 00:00:00 2001 From: Darloli <96697399+SorYoshino@users.noreply.github.com> Date: Wed, 28 Jan 2026 00:00:00 +0800 Subject: [PATCH] hwinfo: Refactor architecture handling --- bucket/hwinfo.json | 66 +++++++++++++++++++++++++++++++--------------- 1 file changed, 45 insertions(+), 21 deletions(-) diff --git a/bucket/hwinfo.json b/bucket/hwinfo.json index 85207af686cbbd..b4f09079f400d3 100644 --- a/bucket/hwinfo.json +++ b/bucket/hwinfo.json @@ -10,47 +10,71 @@ "hash": "c06212d303dfe49f454620321e0ae54eea2557b78a2515aa940a51d67365863c", "architecture": { "64bit": { - "pre_install": [ - "Get-ChildItem -Path $dir -Include '*32*', '*ARM*' -Recurse -File | Remove-Item -Force -ErrorAction SilentlyContinue", - "Get-ChildItem -Path $dir -Include '*64*' -Recurse -File | Rename-Item -NewName { $_.Name -replace '\\d{2}(?=\\.exe)', '' }" + "pre_install": "Get-ChildItem -Path $dir -Include '*32*', '*ARM*' -Recurse -File | Remove-Item -Force -ErrorAction SilentlyContinue", + "bin": [ + [ + "HWiNFO64.exe", + "HWiNFO" + ] + ], + "shortcuts": [ + [ + "HWiNFO64.exe", + "HWiNFO" + ] ] }, "32bit": { - "pre_install": [ - "Get-ChildItem -Path $dir -Include '*64*' -Recurse -File | Remove-Item -Force -ErrorAction SilentlyContinue", - "Get-ChildItem -Path $dir -Include '*32*' -Recurse -File | Rename-Item -NewName { $_.Name -replace '\\d{2}(?=\\.exe)', '' }" + "pre_install": "Get-ChildItem -Path $dir -Include '*64*' -Recurse -File | Remove-Item -Force -ErrorAction SilentlyContinue", + "bin": [ + [ + "HWiNFO32.exe", + "HWiNFO" + ] + ], + "shortcuts": [ + [ + "HWiNFO32.exe", + "HWiNFO" + ] ] }, "arm64": { - "pre_install": [ - "Get-ChildItem -Path $dir -Include '*ARM*' -Recurse -File | Rename-Item -NewName { $_.Name -replace '_.+(?=\\.exe)', '' }", - "Get-ChildItem -Path $dir -Include '*32*', '*64*' -Recurse -File | Remove-Item -Force -ErrorAction SilentlyContinue" + "pre_install": "Get-ChildItem -Path $dir -Exclude '*ARM*' -Recurse -File | Remove-Item -Force -ErrorAction SilentlyContinue", + "bin": [ + [ + "HWiNFO_ARM64.exe", + "HWiNFO" + ] + ], + "shortcuts": [ + [ + "HWiNFO_ARM64.exe", + "HWiNFO" + ] ] } }, "installer": { "script": [ + "ensure $persist_dir | Out-Null", + "Get-ChildItem -Path $persist_dir -Include '*64_KEY.txt' -Recurse -File | Copy-Item -Destination $dir -Force", "$setting_name = if ($architecture -match '\\d{2}(?=bit)') { 'HWiNFO{0}.INI' -f $matches[0] } else { 'HWiNFO_ARM64.INI' }", "if (-not (Test-Path -Path \"$persist_dir\\$setting_name\" -PathType Leaf)) {", " $cfg = @('[Settings]', 'AutoUpdate=0', 'AutoUpdateBetaDisable=1')", " Set-Content -Path \"$dir\\$setting_name\" -Value $cfg -Encoding ascii", "}", "persist_data @{ persist = $setting_name } $original_dir $persist_dir", - "Get-ChildItem -Path $persist_dir -Include '*64_KEY.txt' -Recurse -File | Copy-Item -Destination $dir -Force" + "persist_permission @{ persist = $setting_name } $global" ] }, - "bin": "HWiNFO.exe", - "shortcuts": [ - [ - "HWiNFO.exe", - "HWiNFO" + "pre_uninstall": "Get-ChildItem -Path $dir -Filter '*64_KEY.txt' -File | Copy-Item -Destination $persist_dir -Force", + "uninstaller": { + "script": [ + "$setting_name = if ($architecture -match '\\d{2}(?=bit)') { 'HWiNFO{0}.INI' -f $matches[0] } else { 'HWiNFO_ARM64.INI' }", + "unlink_persist_data @{ persist = $setting_name } $dir" ] - ], - "pre_uninstall": [ - "Get-ChildItem -Path $dir -Include '*64_KEY.txt' -Recurse -File | Copy-Item -Destination $persist_dir -Force", - "$setting_name = if ($architecture -match '\\d{2}(?=bit)') { 'HWiNFO{0}.INI' -f $matches[0] } else { 'HWiNFO_ARM64.INI' }", - "unlink_persist_data @{ persist = $setting_name } $dir" - ], + }, "checkver": { "url": "https://www.hwinfo.com/ver.txt", "regex": "([\\d.-]+)"