mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-10-26 20:25:34 +08:00
[feat] ensure VC++ Redistributable is installed on Windows during setup
This commit is contained in:
14
.github/workflows/build.yaml
vendored
14
.github/workflows/build.yaml
vendored
@@ -255,6 +255,20 @@ jobs:
|
|||||||
Write-Host "Resolved CUDA_PATH = $cudaPath"
|
Write-Host "Resolved CUDA_PATH = $cudaPath"
|
||||||
Pop-Location
|
Pop-Location
|
||||||
|
|
||||||
|
- name: Download INetC plugin
|
||||||
|
shell: powershell
|
||||||
|
run: |
|
||||||
|
$url = "https://github.com/DigitalMediaServer/NSIS-INetC-plugin/releases/download/v1.0.5.7/InetC.zip"
|
||||||
|
$out = "$env:RUNNER_TEMP\InetC.zip"
|
||||||
|
Invoke-WebRequest -Uri $url -OutFile $out
|
||||||
|
Expand-Archive $out -DestinationPath "$env:RUNNER_TEMP\InetC" -Force
|
||||||
|
|
||||||
|
$source = "$env:RUNNER_TEMP\InetC\x86-unicode\INetC.dll"
|
||||||
|
$target = "C:\Program Files (x86)\NSIS\Plugins\x86-unicode\INetC.dll"
|
||||||
|
|
||||||
|
Write-Host "Copying $source to $target"
|
||||||
|
Copy-Item $source $target -Force
|
||||||
|
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,27 @@ InstallDir "$PROGRAMFILES\CrossDesk"
|
|||||||
InstallDirRegKey HKCU "Software\${PRODUCT_NAME}" "InstallDir"
|
InstallDirRegKey HKCU "Software\${PRODUCT_NAME}" "InstallDir"
|
||||||
ShowInstDetails show
|
ShowInstDetails show
|
||||||
|
|
||||||
|
Function CheckVCRedist
|
||||||
|
ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64" "Installed"
|
||||||
|
StrCmp $0 1 done
|
||||||
|
|
||||||
|
DetailPrint "Downloading Microsoft Visual C++ Redistributable..."
|
||||||
|
inetc::get /popup "" /caption "Downloading VC++ Runtime..." \
|
||||||
|
"https://aka.ms/vs/17/release/vc_redist.x64.exe" \
|
||||||
|
"$TEMP\\vc_redist.x64.exe"
|
||||||
|
Pop $0
|
||||||
|
StrCmp $0 "OK" +2
|
||||||
|
MessageBox MB_OK "Failed to download VC++ Redistributable. Please install it manually." IDOK done
|
||||||
|
|
||||||
|
ExecWait '"$TEMP\\vc_redist.x64.exe" /quiet /norestart'
|
||||||
|
|
||||||
|
done:
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
|
Section "VC++ Runtime"
|
||||||
|
Call CheckVCRedist
|
||||||
|
SectionEnd
|
||||||
|
|
||||||
Section "MainSection"
|
Section "MainSection"
|
||||||
SetOutPath "$INSTDIR"
|
SetOutPath "$INSTDIR"
|
||||||
SetOverwrite ifnewer
|
SetOverwrite ifnewer
|
||||||
@@ -109,9 +130,6 @@ Section "Uninstall"
|
|||||||
RMDir /r "$LOCALAPPDATA\CrossDesk"
|
RMDir /r "$LOCALAPPDATA\CrossDesk"
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
Section -Post
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
; ------ Functions ------
|
; ------ Functions ------
|
||||||
Function LaunchApp
|
Function LaunchApp
|
||||||
Exec "$INSTDIR\crossdesk.exe"
|
Exec "$INSTDIR\crossdesk.exe"
|
||||||
|
|||||||
Reference in New Issue
Block a user