aboutsummaryrefslogtreecommitdiff
path: root/program_info
diff options
context:
space:
mode:
authorKenneth Chew <kenneth.c0@protonmail.com>2022-05-29 17:37:45 -0400
committerKenneth Chew <kenneth.c0@protonmail.com>2022-05-29 19:50:44 -0400
commit8731c86d0deba2f8e624d41137b69abca5b85e8e (patch)
tree2978436bf713f8fe1a1d37ed3132dea4a0f8a574 /program_info
parentd7fad4bd04a9f6d4fa149ff0b3aa526f1524cd56 (diff)
downloadPrismLauncher-8731c86d0deba2f8e624d41137b69abca5b85e8e.tar.gz
PrismLauncher-8731c86d0deba2f8e624d41137b69abca5b85e8e.tar.bz2
PrismLauncher-8731c86d0deba2f8e624d41137b69abca5b85e8e.zip
Use CMake for Windows installer branding
As a side effect, fixes an issue where the installer wrote the incorrect version to the registry.
Diffstat (limited to 'program_info')
-rw-r--r--program_info/CMakeLists.txt1
-rw-r--r--program_info/win_install.nsi.in (renamed from program_info/win_install.nsi)45
2 files changed, 25 insertions, 21 deletions
diff --git a/program_info/CMakeLists.txt b/program_info/CMakeLists.txt
index 2cbef1b6..b2325b6f 100644
--- a/program_info/CMakeLists.txt
+++ b/program_info/CMakeLists.txt
@@ -14,6 +14,7 @@ set(Launcher_MetaInfo "program_info/org.polymc.PolyMC.metainfo.xml" PARENT_SCOPE
set(Launcher_ManPage "program_info/polymc.6.txt" PARENT_SCOPE)
set(Launcher_SVG "program_info/org.polymc.PolyMC.svg" PARENT_SCOPE)
set(Launcher_Branding_ICNS "program_info/polymc.icns" PARENT_SCOPE)
+set(Launcher_Branding_ICO "program_info/polymc.ico" PARENT_SCOPE)
set(Launcher_Branding_WindowsRC "program_info/polymc.rc" PARENT_SCOPE)
set(Launcher_Branding_LogoQRC "program_info/polymc.qrc" PARENT_SCOPE)
diff --git a/program_info/win_install.nsi b/program_info/win_install.nsi.in
index cb4c8d1d..d8b3e88f 100644
--- a/program_info/win_install.nsi
+++ b/program_info/win_install.nsi.in
@@ -4,10 +4,13 @@
Unicode true
-Name "PolyMC"
-InstallDir "$LOCALAPPDATA\Programs\PolyMC"
-InstallDirRegKey HKCU "Software\PolyMC" "InstallDir"
+Name "@Launcher_Name@"
+InstallDir "$LOCALAPPDATA\Programs\@Launcher_Name@"
+InstallDirRegKey HKCU "Software\@Launcher_Name@" "InstallDir"
RequestExecutionLevel user
+OutFile "../@Launcher_Name@-Setup.exe"
+
+!define MUI_ICON "../@Launcher_Branding_ICO@"
;--------------------------------
@@ -18,7 +21,7 @@ RequestExecutionLevel user
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
-!define MUI_FINISHPAGE_RUN "$InstDir\polymc.exe"
+!define MUI_FINISHPAGE_RUN "$InstDir\@Launcher_APP_BINARY_NAME@.exe"
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
@@ -99,15 +102,15 @@ RequestExecutionLevel user
;--------------------------------
; The stuff to install
-Section "PolyMC"
+Section "@Launcher_Name@"
SectionIn RO
- nsExec::Exec /TIMEOUT=2000 'TaskKill /IM polymc.exe /F'
+ nsExec::Exec /TIMEOUT=2000 'TaskKill /IM @Launcher_APP_BINARY_NAME@.exe /F'
SetOutPath $INSTDIR
- File "polymc.exe"
+ File "@Launcher_APP_BINARY_NAME@.exe"
File "qt.conf"
File *.dll
File /r "iconengines"
@@ -117,20 +120,20 @@ Section "PolyMC"
File /r "styles"
; Write the installation path into the registry
- WriteRegStr HKCU Software\PolyMC "InstallDir" "$INSTDIR"
+ WriteRegStr HKCU Software\@Launcher_Name@ "InstallDir" "$INSTDIR"
; Write the uninstall keys for Windows
${GetParameters} $R0
${GetOptions} $R0 "/NoUninstaller" $R1
${If} ${Errors}
- !define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\PolyMC"
- WriteRegStr HKCU "${UNINST_KEY}" "DisplayName" "PolyMC"
- WriteRegStr HKCU "${UNINST_KEY}" "DisplayIcon" "$INSTDIR\polymc.exe"
+ !define UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\@Launcher_Name@"
+ WriteRegStr HKCU "${UNINST_KEY}" "DisplayName" "@Launcher_Name@"
+ WriteRegStr HKCU "${UNINST_KEY}" "DisplayIcon" "$INSTDIR\@Launcher_APP_BINARY_NAME@.exe"
WriteRegStr HKCU "${UNINST_KEY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
WriteRegStr HKCU "${UNINST_KEY}" "QuietUninstallString" '"$INSTDIR\uninstall.exe" /S'
WriteRegStr HKCU "${UNINST_KEY}" "InstallLocation" "$INSTDIR"
- WriteRegStr HKCU "${UNINST_KEY}" "Publisher" "PolyMC Contributors"
- WriteRegStr HKCU "${UNINST_KEY}" "ProductVersion" "${VERSION}"
+ WriteRegStr HKCU "${UNINST_KEY}" "Publisher" "@Launcher_Name@ Contributors"
+ WriteRegStr HKCU "${UNINST_KEY}" "ProductVersion" "@Launcher_RELEASE_VERSION_NAME@"
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
IntFmt $0 "0x%08X" $0
WriteRegDWORD HKCU "${UNINST_KEY}" "EstimatedSize" "$0"
@@ -143,13 +146,13 @@ SectionEnd
Section "Start Menu Shortcut" SM_SHORTCUTS
- CreateShortcut "$SMPROGRAMS\PolyMC.lnk" "$INSTDIR\polymc.exe" "" "$INSTDIR\polymc.exe" 0
+ CreateShortcut "$SMPROGRAMS\@Launcher_Name@.lnk" "$INSTDIR\@Launcher_APP_BINARY_NAME@.exe" "" "$INSTDIR\@Launcher_APP_BINARY_NAME@.exe" 0
SectionEnd
Section "Desktop Shortcut" DESKTOP_SHORTCUTS
- CreateShortcut "$DESKTOP\PolyMC.lnk" "$INSTDIR\polymc.exe" "" "$INSTDIR\polymc.exe" 0
+ CreateShortcut "$DESKTOP\@Launcher_Name@.lnk" "$INSTDIR\@Launcher_APP_BINARY_NAME@.exe" "" "$INSTDIR\@Launcher_APP_BINARY_NAME@.exe" 0
SectionEnd
@@ -159,12 +162,12 @@ SectionEnd
Section "Uninstall"
- nsExec::Exec /TIMEOUT=2000 'TaskKill /IM polymc.exe /F'
+ nsExec::Exec /TIMEOUT=2000 'TaskKill /IM @Launcher_APP_BINARY_NAME@.exe /F'
- DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\PolyMC"
- DeleteRegKey HKCU SOFTWARE\PolyMC
+ DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\@Launcher_Name@"
+ DeleteRegKey HKCU SOFTWARE\@Launcher_Name@
- Delete $INSTDIR\polymc.exe
+ Delete $INSTDIR\@Launcher_APP_BINARY_NAME@.exe
Delete $INSTDIR\uninstall.exe
Delete $INSTDIR\portable.txt
@@ -220,8 +223,8 @@ Section "Uninstall"
RMDir /r $INSTDIR\platforms
RMDir /r $INSTDIR\styles
- Delete "$SMPROGRAMS\PolyMC.lnk"
- Delete "$DESKTOP\PolyMC.lnk"
+ Delete "$SMPROGRAMS\@Launcher_Name@.lnk"
+ Delete "$DESKTOP\@Launcher_Name@.lnk"
RMDir "$INSTDIR"