feat: ConvertGUI v2.0 (Wails + preview/trim + NSIS + Gitea CI)
Build Windows Installer / build (push) Successful in 4m11s
Build Windows Installer / build (push) Successful in 4m11s
This commit is contained in:
40 files changed
+6084
-266
No files matched your search
@@ -0,0 +1,138 @@
|
||||
Unicode True
|
||||
!include "MUI2.nsh"
|
||||
|
||||
!ifndef VERSION
|
||||
!define VERSION "2.0.0"
|
||||
!endif
|
||||
|
||||
!define APP_NAME "ConvertGUI"
|
||||
!define EXE_NAME "convert.exe"
|
||||
!define UNINSTALL_REG "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}"
|
||||
|
||||
Name "${APP_NAME} ${VERSION}"
|
||||
OutFile "../dist/ConvertGUI-Setup-${VERSION}.exe"
|
||||
InstallDir "$LOCALAPPDATA\Programs\${APP_NAME}"
|
||||
InstallDirRegKey HKCU "Software\${APP_NAME}" "InstallDir"
|
||||
RequestExecutionLevel user
|
||||
SetCompressor /SOLID lzma
|
||||
|
||||
!define MUI_ABORTWARNING
|
||||
!define MUI_ICON "../build/windows/icon.ico"
|
||||
!define MUI_UNICON "../build/windows/icon.ico"
|
||||
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
!insertmacro MUI_PAGE_COMPONENTS
|
||||
!insertmacro MUI_PAGE_DIRECTORY
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\${EXE_NAME}"
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
!insertmacro MUI_LANGUAGE "Russian"
|
||||
|
||||
!macro RegisterExt EXT
|
||||
WriteRegStr HKCU "Software\Classes\SystemFileAssociations\${EXT}\shell\${APP_NAME}" "" "Convert with ${APP_NAME}"
|
||||
WriteRegStr HKCU "Software\Classes\SystemFileAssociations\${EXT}\shell\${APP_NAME}" "Icon" "$INSTDIR\${EXE_NAME},0"
|
||||
WriteRegStr HKCU "Software\Classes\SystemFileAssociations\${EXT}\shell\${APP_NAME}\command" "" '"$INSTDIR\${EXE_NAME}" -i "%1"'
|
||||
!macroend
|
||||
|
||||
!macro UnregisterExt EXT
|
||||
DeleteRegKey HKCU "Software\Classes\SystemFileAssociations\${EXT}\shell\${APP_NAME}"
|
||||
!macroend
|
||||
|
||||
Section "ConvertGUI Application (Required)" SEC_APP
|
||||
SectionIn RO
|
||||
SetOutPath "$INSTDIR"
|
||||
File "../dist/convert.exe"
|
||||
|
||||
WriteRegStr HKCU "Software\${APP_NAME}" "InstallDir" "$INSTDIR"
|
||||
WriteUninstaller "$INSTDIR\uninstall.exe"
|
||||
|
||||
WriteRegStr HKCU "${UNINSTALL_REG}" "DisplayName" "${APP_NAME}"
|
||||
WriteRegStr HKCU "${UNINSTALL_REG}" "DisplayVersion" "${VERSION}"
|
||||
WriteRegStr HKCU "${UNINSTALL_REG}" "Publisher" "m4xx1m"
|
||||
WriteRegStr HKCU "${UNINSTALL_REG}" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
||||
WriteRegStr HKCU "${UNINSTALL_REG}" "DisplayIcon" "$INSTDIR\${EXE_NAME},0"
|
||||
WriteRegDWORD HKCU "${UNINSTALL_REG}" "NoModify" 1
|
||||
WriteRegDWORD HKCU "${UNINSTALL_REG}" "NoRepair" 1
|
||||
|
||||
CreateDirectory "$SMPROGRAMS\${APP_NAME}"
|
||||
CreateShortcut "$SMPROGRAMS\${APP_NAME}\${APP_NAME}.lnk" "$INSTDIR\${EXE_NAME}"
|
||||
CreateShortcut "$SMPROGRAMS\${APP_NAME}\Uninstall ${APP_NAME}.lnk" "$INSTDIR\uninstall.exe"
|
||||
|
||||
; Check Microsoft Edge WebView2 Runtime (required on older Windows 10)
|
||||
SetRegView 32
|
||||
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" "pv"
|
||||
StrCmp $0 "" 0 webview2_done
|
||||
ReadRegStr $0 HKCU "Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" "pv"
|
||||
StrCmp $0 "" 0 webview2_done
|
||||
DetailPrint "Installing Microsoft Edge WebView2 Runtime..."
|
||||
nsExec::ExecToLog 'powershell -NoProfile -ExecutionPolicy Bypass -Command "Invoke-WebRequest -Uri https://go.microsoft.com/fwlink/p/?LinkId=2124703 -OutFile $env:TEMP\wv2setup.exe; Start-Process $env:TEMP\wv2setup.exe -ArgumentList /silent,/install -Wait; Remove-Item $env:TEMP\wv2setup.exe -ErrorAction SilentlyContinue"'
|
||||
webview2_done:
|
||||
SectionEnd
|
||||
|
||||
Section "Bundled FFmpeg & FFprobe" SEC_FFMPEG
|
||||
SetOutPath "$INSTDIR\bin"
|
||||
File "../dist/bin/ffmpeg.exe"
|
||||
File "../dist/bin/ffprobe.exe"
|
||||
SectionEnd
|
||||
|
||||
Section "Windows Explorer Context Menu" SEC_CTX
|
||||
!insertmacro RegisterExt ".mp4"
|
||||
!insertmacro RegisterExt ".mkv"
|
||||
!insertmacro RegisterExt ".mov"
|
||||
!insertmacro RegisterExt ".avi"
|
||||
!insertmacro RegisterExt ".webm"
|
||||
!insertmacro RegisterExt ".m4v"
|
||||
!insertmacro RegisterExt ".flv"
|
||||
!insertmacro RegisterExt ".ts"
|
||||
!insertmacro RegisterExt ".wmv"
|
||||
SectionEnd
|
||||
|
||||
Section "Desktop Shortcut" SEC_DESKTOP
|
||||
CreateShortcut "$DESKTOP\${APP_NAME}.lnk" "$INSTDIR\${EXE_NAME}"
|
||||
SectionEnd
|
||||
|
||||
LangString DESC_APP ${LANG_ENGLISH} "Core ConvertGUI application and Start Menu shortcut."
|
||||
LangString DESC_APP ${LANG_RUSSIAN} "Основное приложение ConvertGUI и ярлык в меню Пуск."
|
||||
LangString DESC_FFMPEG ${LANG_ENGLISH} "Standalone static FFmpeg & FFprobe binaries (recommended if not installed in PATH)."
|
||||
LangString DESC_FFMPEG ${LANG_RUSSIAN} "Встроенные FFmpeg и FFprobe (рекомендуется, если не установлены в PATH)."
|
||||
LangString DESC_CTX ${LANG_ENGLISH} "Add 'Convert with ConvertGUI' to Windows Explorer right-click menu for video files."
|
||||
LangString DESC_CTX ${LANG_RUSSIAN} "Добавить «Convert with ConvertGUI» в контекстное меню видеофайлов Проводника."
|
||||
LangString DESC_DESKTOP ${LANG_ENGLISH} "Create a shortcut on the Desktop."
|
||||
LangString DESC_DESKTOP ${LANG_RUSSIAN} "Создать ярлык на Рабочем столе."
|
||||
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_APP} $(DESC_APP)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_FFMPEG} $(DESC_FFMPEG)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_CTX} $(DESC_CTX)
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_DESKTOP} $(DESC_DESKTOP)
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||
|
||||
Section "Uninstall"
|
||||
!insertmacro UnregisterExt ".mp4"
|
||||
!insertmacro UnregisterExt ".mkv"
|
||||
!insertmacro UnregisterExt ".mov"
|
||||
!insertmacro UnregisterExt ".avi"
|
||||
!insertmacro UnregisterExt ".webm"
|
||||
!insertmacro UnregisterExt ".m4v"
|
||||
!insertmacro UnregisterExt ".flv"
|
||||
!insertmacro UnregisterExt ".ts"
|
||||
!insertmacro UnregisterExt ".wmv"
|
||||
|
||||
Delete "$DESKTOP\${APP_NAME}.lnk"
|
||||
RMDir /r "$SMPROGRAMS\${APP_NAME}"
|
||||
|
||||
Delete "$INSTDIR\bin\ffmpeg.exe"
|
||||
Delete "$INSTDIR\bin\ffprobe.exe"
|
||||
RMDir "$INSTDIR\bin"
|
||||
Delete "$INSTDIR\${EXE_NAME}"
|
||||
Delete "$INSTDIR\uninstall.exe"
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
DeleteRegKey HKCU "${UNINSTALL_REG}"
|
||||
DeleteRegKey HKCU "Software\${APP_NAME}"
|
||||
SectionEnd
|
||||
Reference in new issue
Block a user