From 0be5bd031d695a29132fb65c8456c3148110b469 Mon Sep 17 00:00:00 2001 From: "Namhyeon, Go" Date: Mon, 1 Dec 2025 16:16:43 +0900 Subject: [PATCH] Update installer process handling and cleanup arguments Removed unnecessary installer arguments and ensured installers run with process waiting for completion in postInstall.ps1. Cleaned up setup.iss to remove redundant 'Components' field for PowerShell execution. Minor formatting fix in DownloadUrls.psd1. --- data/DownloadUrls.psd1 | 2 +- postInstall.ps1 | 16 +++++++++------- setup.iss | 2 +- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/data/DownloadUrls.psd1 b/data/DownloadUrls.psd1 index d78f491..71f859d 100644 --- a/data/DownloadUrls.psd1 +++ b/data/DownloadUrls.psd1 @@ -105,7 +105,7 @@ # WinDivert # =========================== windivert = @{ - x64 = "https://github.com/basil00/WinDivert/releases/download/v2.2.2/WinDivert-2.2.2-A.zip", + x64 = "https://github.com/basil00/WinDivert/releases/download/v2.2.2/WinDivert-2.2.2-A.zip" arm64 = $null # no official ARM64 build x86 = "https://github.com/basil00/WinDivert/releases/download/v2.2.2/WinDivert-2.2.2-A.zip" } diff --git a/postInstall.ps1 b/postInstall.ps1 index ed7e824..ce31576 100644 --- a/postInstall.ps1 +++ b/postInstall.ps1 @@ -682,11 +682,11 @@ try { Write-Host "[*] artifacts component not selected. Skipping installation." } - # GTK3 runtime (component: gtk3runtime) – just run installer; no need to wait + # GTK3 runtime (component: gtk3runtime) – run installer and wait if (Test-ComponentSelected -Name "gtk3runtime") { if (Test-Path $GtkRuntimeInstaller) { - Write-Host "[*] Starting GTK runtime installer (no wait): $GtkRuntimeInstaller" - Start-Process -FilePath $GtkRuntimeInstaller + Write-Host "[*] Running GTK runtime installer (wait): $GtkRuntimeInstaller" + Start-Process -FilePath $GtkRuntimeInstaller -Wait -ErrorAction Stop } else { Write-Host "[WARN] GTK runtime installer not found. Skipping." @@ -758,10 +758,11 @@ try { # Nmap bundle (component: nmap) – Npcap → Nmap → VC_redist.x86.exe if (Test-ComponentSelected -Name "nmap") { + # Npcap if (Test-Path $NpcapInstaller) { Write-Host "[*] Running Npcap installer (wait): $NpcapInstaller" - Start-Process -FilePath $NpcapInstaller -ArgumentList "/S" -Wait -ErrorAction Stop + Start-Process -FilePath $NpcapInstaller -Wait -ErrorAction Stop } else { Write-Host "[WARN] Npcap installer not found. Skipping Npcap." @@ -770,7 +771,7 @@ try { # Nmap if (Test-Path $NmapInstaller) { Write-Host "[*] Running Nmap installer (wait): $NmapInstaller" - Start-Process -FilePath $NmapInstaller -ArgumentList "/S" -Wait -ErrorAction Stop + Start-Process -FilePath $NmapInstaller -Wait -ErrorAction Stop } else { Write-Host "[WARN] Nmap installer not found. Skipping Nmap." @@ -789,7 +790,8 @@ try { $vcRedist = $null foreach ($dir in $searchDirs) { if (Test-Path $dir) { - $candidate = Get-ChildItem -Path $dir -Filter "vc_redist.x86.exe" -Recurse -ErrorAction SilentlyContinue | Select-Object -First 1 + $candidate = Get-ChildItem -Path $dir -Filter "vc_redist.x86.exe" -Recurse -ErrorAction SilentlyContinue | + Select-Object -First 1 if ($candidate) { $vcRedist = $candidate break @@ -799,7 +801,7 @@ try { if ($vcRedist) { Write-Host "[*] Running VC_redist.x86 installer: $($vcRedist.FullName)" - Start-Process -FilePath $vcRedist.FullName -ArgumentList "/install /quiet /norestart" -Wait -ErrorAction SilentlyContinue + Start-Process -FilePath $vcRedist.FullName -Wait -ErrorAction SilentlyContinue } else { Write-Host "[WARN] VC_redist.x86.exe not found under expected Nmap directories." diff --git a/setup.iss b/setup.iss index bc6b6b6..89751fe 100644 --- a/setup.iss +++ b/setup.iss @@ -92,7 +92,7 @@ Name: "{group}\Test {cm:AppName}"; Filename: "{app}\bootstrap.bat"; AfterInstall Name: "{group}\Uninstall {cm:AppName}"; Filename: "{uninstallexe}"; AfterInstall: SetElevationBit('{group}\Uninstall {cm:AppName}.lnk'); [Run] -Filename: "powershell.exe"; Parameters: "-ExecutionPolicy Bypass -NoProfile -File ""{app}\postInstall.ps1"" -TelemetryProvider posthog -TelemetryApiKey ""{cm:PostHogApiKey}"" -Version ""{cm:AppVersion}"" -DistinctId ""{computername}"" -Components ""{code:GetSelectedComponents}"""; WorkingDir: "{app}"; Components: artifacts; Flags: waituntilterminated +Filename: "powershell.exe"; Parameters: "-ExecutionPolicy Bypass -NoProfile -File ""{app}\postInstall.ps1"" -TelemetryProvider posthog -TelemetryApiKey ""{cm:PostHogApiKey}"" -Version ""{cm:AppVersion}"" -DistinctId ""{computername}"" -Components ""{code:GetSelectedComponents}"""; WorkingDir: "{app}"; Flags: waituntilterminated Filename: {app}\installService.bat; Components: artifacts; Flags: nowait Filename: "{userappdata}\{cm:AppName}\bin\WelsonJS.Launcher.exe"; Components: artifacts; Flags: nowait