[feat] remove internet shortcut installing for windows script

This commit is contained in:
dijunkun
2025-09-05 18:51:16 +08:00
parent b6631c3db0
commit a45118f785

View File

@@ -1,7 +1,7 @@
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD> ; Set search path
!addincludedir "${__FILEDIR__}" !addincludedir "${__FILEDIR__}"
; <EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; Installer initial constants
!define PRODUCT_NAME "CrossDesk" !define PRODUCT_NAME "CrossDesk"
!define PRODUCT_VERSION "${VERSION}" !define PRODUCT_VERSION "${VERSION}"
!define PRODUCT_PUBLISHER "CrossDesk" !define PRODUCT_PUBLISHER "CrossDesk"
@@ -9,23 +9,19 @@
!define APP_NAME "CrossDesk" !define APP_NAME "CrossDesk"
!define UNINSTALL_REG_KEY "CrossDesk" !define UNINSTALL_REG_KEY "CrossDesk"
; <EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD>װ<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD> ; Installer icon path
!define MUI_ICON "${__FILEDIR__}\..\..\icons\windows\crossdesk.ico" !define MUI_ICON "${__FILEDIR__}\..\..\icons\windows\crossdesk.ico"
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>·<EFBFBD><EFBFBD> ; Certificate path
!define CERT_FILE "${__FILEDIR__}\..\..\certs\crossdesk.cn_root.crt" !define CERT_FILE "${__FILEDIR__}\..\..\certs\crossdesk.cn_root.crt"
; <EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>ѡ<EFBFBD><EFBFBD> ; Compression settings
!define MUI_FINISHPAGE_RUN "crossdesk.exe" ; Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD>
!define MUI_FINISHPAGE_TEXT "<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CrossDesk?"
; ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SetCompressor /FINAL lzma SetCompressor /FINAL lzma
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԱȨ<EFBFBD>ޣ<EFBFBD>д<EFBFBD><EFBFBD>HKLM<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD> ; Request admin privileges (needed to write HKLM)
RequestExecutionLevel admin RequestExecutionLevel admin
; ------ MUI <EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ------ ; ------ MUI Modern UI Definition ------
!include "MUI.nsh" !include "MUI.nsh"
!define MUI_ABORTWARNING !define MUI_ABORTWARNING
!insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_WELCOME
@@ -34,7 +30,7 @@ RequestExecutionLevel admin
!insertmacro MUI_PAGE_FINISH !insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "SimpChinese" !insertmacro MUI_LANGUAGE "SimpChinese"
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
; ------ MUI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ------ ; ------ End of MUI Definition ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "crossdesk-win-x64-${PRODUCT_VERSION}.exe" OutFile "crossdesk-win-x64-${PRODUCT_VERSION}.exe"
@@ -45,13 +41,13 @@ Section "MainSection"
SetOutPath "$INSTDIR" SetOutPath "$INSTDIR"
SetOverwrite ifnewer SetOverwrite ifnewer
; <EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD> ; Main application executable path
File /oname=crossdesk.exe "..\..\build\windows\x64\release\crossdesk.exe" File /oname=crossdesk.exe "..\..\build\windows\x64\release\crossdesk.exe"
; ? <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>װĿ¼ ; Copy icon file to installation directory
File "${MUI_ICON}" File "${MUI_ICON}"
; д<EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ ; Write uninstall information
WriteUninstaller "$INSTDIR\uninstall.exe" WriteUninstaller "$INSTDIR\uninstall.exe"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${UNINSTALL_REG_KEY}" "DisplayName" "${PRODUCT_NAME}" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${UNINSTALL_REG_KEY}" "DisplayName" "${PRODUCT_NAME}"
@@ -64,12 +60,9 @@ Section "MainSection"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${UNINSTALL_REG_KEY}" "NoRepair" 1 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${UNINSTALL_REG_KEY}" "NoRepair" 1
SectionEnd SectionEnd
; <EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD> ; After installation
Section -Post Section -Post
ExecWait '"C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\mt.exe" -manifest "$INSTDIR\crossdesk.manifest" -outputresource:"$INSTDIR\crossdesk.exe";1' ExecWait '"C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\mt.exe" -manifest "$INSTDIR\crossdesk.manifest" -outputresource:"$INSTDIR\crossdesk.exe";1'
; <20><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
StrCmp $INSTDIR\crossdesk.exe "" 0 +2
Exec "$INSTDIR\crossdesk.exe"
SectionEnd SectionEnd
Section "Cert" Section "Cert"
@@ -78,33 +71,29 @@ Section "Cert"
SectionEnd SectionEnd
Section -AdditionalIcons Section -AdditionalIcons
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ʽ ; Desktop shortcut
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\crossdesk.exe" "" "$INSTDIR\crossdesk.ico" CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\crossdesk.exe" "" "$INSTDIR\crossdesk.ico"
; <EFBFBD><EFBFBD>ʼ<EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ʽ ; Start menu shortcut
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}.lnk" "$INSTDIR\crossdesk.exe" "" "$INSTDIR\crossdesk.ico" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}.lnk" "$INSTDIR\crossdesk.exe" "" "$INSTDIR\crossdesk.ico"
; <20><>ҳ<EFBFBD><D2B3><EFBFBD>ݷ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>
WriteIniStr "$DESKTOP\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
SectionEnd SectionEnd
Section "Uninstall" Section "Uninstall"
; ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>س<EFBFBD><EFBFBD><EFBFBD> ; Delete main executable and uninstaller
Delete "$INSTDIR\crossdesk.exe" Delete "$INSTDIR\crossdesk.exe"
Delete "$INSTDIR\uninstall.exe" Delete "$INSTDIR\uninstall.exe"
; <EFBFBD>ݹ<EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>װĿ¼ ; Recursively delete installation directory
RMDir /r "$INSTDIR" RMDir /r "$INSTDIR"
; ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD>ʼ<EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>ʽ ; Delete desktop and start menu shortcuts
Delete "$DESKTOP\${PRODUCT_NAME}.lnk" Delete "$DESKTOP\${PRODUCT_NAME}.lnk"
Delete "$DESKTOP\${PRODUCT_NAME}.url"
Delete "$SMPROGRAMS\${PRODUCT_NAME}.lnk" Delete "$SMPROGRAMS\${PRODUCT_NAME}.lnk"
; ɾ<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; Delete registry uninstall entry
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${UNINSTALL_REG_KEY}" DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${UNINSTALL_REG_KEY}"
; <EFBFBD>ݹ<EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD> AppData <20>е<EFBFBD> CrossDesk <20>ļ<EFBFBD><C4BC><EFBFBD> ; Recursively delete CrossDesk folder in user AppData
RMDir /r "$APPDATA\CrossDesk" RMDir /r "$APPDATA\CrossDesk"
RMDir /r "$LOCALAPPDATA\CrossDesk" RMDir /r "$LOCALAPPDATA\CrossDesk"
SectionEnd SectionEnd