- Windows NSIS: lädt VirtViewer MSI herunter und installiert es während der App-Installation (via PowerShell + msiexec) - Linux .deb: Depends: virt-viewer — apt zieht es automatisch rein - Linux AppImage: Startup-Check mit pkexec-Dialog falls virt-viewer fehlt - BUILD.md aktualisiert: Installer-Verhalten dokumentiert
56 lines
1.9 KiB
NSIS
56 lines
1.9 KiB
NSIS
; Proxmox SPICE Client — Custom NSIS Install Script
|
|
; Prüft ob virt-viewer installiert ist und installiert es bei Bedarf.
|
|
|
|
!macro customInstall
|
|
; Prüfen ob remote-viewer.exe bereits vorhanden ist
|
|
IfFileExists "$PROGRAMFILES64\VirtViewer\bin\remote-viewer.exe" vv_found
|
|
IfFileExists "$PROGRAMFILES\VirtViewer\bin\remote-viewer.exe" vv_found
|
|
|
|
; Nicht gefunden — Benutzer fragen
|
|
MessageBox MB_YESNO|MB_ICONQUESTION \
|
|
"VirtViewer wurde auf diesem System nicht gefunden.$\n$\n\
|
|
VirtViewer wird für SPICE-Verbindungen zu Proxmox-VMs benötigt.$\n\
|
|
Ohne VirtViewer können keine VMs geöffnet werden.$\n$\n\
|
|
Jetzt automatisch herunterladen und installieren (ca. 30 MB)?" \
|
|
IDYES vv_download IDNO vv_skip
|
|
|
|
vv_download:
|
|
DetailPrint "Lade VirtViewer herunter..."
|
|
nsExec::ExecToLog 'powershell.exe -NonInteractive -Command \
|
|
"Invoke-WebRequest \
|
|
-Uri \"https://virt-manager.org/download/virt-viewer-x64.msi\" \
|
|
-OutFile \"$TEMP\virt-viewer-setup.msi\" \
|
|
-UseBasicParsing"'
|
|
Pop $0
|
|
${If} $0 != 0
|
|
MessageBox MB_OK|MB_ICONEXCLAMATION \
|
|
"Download fehlgeschlagen (Fehlercode: $0).$\n$\n\
|
|
Bitte VirtViewer nach der Installation manuell installieren:$\n\
|
|
https://virt-manager.org/download/"
|
|
Goto vv_skip
|
|
${EndIf}
|
|
|
|
DetailPrint "Installiere VirtViewer (bitte warten)..."
|
|
ExecWait 'msiexec /i "$TEMP\virt-viewer-setup.msi" /quiet /norestart' $0
|
|
Delete "$TEMP\virt-viewer-setup.msi"
|
|
|
|
${If} $0 == 0
|
|
DetailPrint "VirtViewer erfolgreich installiert."
|
|
${Else}
|
|
MessageBox MB_OK|MB_ICONEXCLAMATION \
|
|
"VirtViewer-Installation schlug fehl (Code: $0).$\n$\n\
|
|
Bitte nach Abschluss manuell installieren:$\n\
|
|
https://virt-manager.org/download/"
|
|
${EndIf}
|
|
Goto vv_skip
|
|
|
|
vv_found:
|
|
DetailPrint "VirtViewer bereits installiert — OK."
|
|
|
|
vv_skip:
|
|
!macroend
|
|
|
|
!macro customUnInstall
|
|
; Nichts extra — VirtViewer bleibt installiert
|
|
!macroend
|