📄 textdiff.nsi
字号:
;--------------------------------
;Constants
!define PRODUCT_NAME "TextDiff"
!define PRODUCT_VER "4.2 汉化版"
;--------------------------------
;Variables
Var MUI_TEMP
Var STARTMENU_FOLDER
;--------------------------------
;Include Modern UI
!include "MUI.nsh"
;--------------------------------
;Configuration
;General
Name "${PRODUCT_NAME} ${PRODUCT_VER}"
OutFile "..\HA_TextDiff.4.2.exe"
SetCompressor lzma
;Folder selection page
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
;Get install folder from registry if available
InstallDirRegKey HKCU "Software\${PRODUCT_NAME}" ""
;--------------------------------
;Interface Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\orange.bmp"
!define MUI_HEADERIMAGE_UNBITMAP "${NSISDIR}\Contrib\Graphics\Header\orange-uninstall.bmp"
!define MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange.bmp"
!define MUI_COMPONENTSPAGE_NODESC
BrandingText "汉化作者: 空指针 (nilnull@126.com)"
;--------------------------------
;Pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
;Start Menu Folder Page Configuration
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\${PRODUCT_NAME}"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "${PRODUCT_NAME}"
!define MUI_STARTMENUPAGE_NODISABLE
!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
!insertmacro MUI_PAGE_INSTFILES
!define MUI_FINISHPAGE_RUN "$INSTDIR\TextDiff.exe"
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\汉化说明.txt"
!define MUI_FINISHPAGE_SHOWREADME_TEXT "显示“汉化说明”"
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
;--------------------------------
;Languages
!insertmacro MUI_LANGUAGE "SimpChinese"
;--------------------------------
;Installer Types
InstType "标准安装"
InstType "完全安装 (包含源代码)"
;--------------------------------
;Installer Sections
Section "主程序 (必须安装)" SecCore
SectionIn 1 2 RO
SetOverwrite on
SetOutPath "$INSTDIR"
File ..\TextDiff.exe
File ..\TextDiff.hlp
File ..\汉化说明.txt
;Store install folder
WriteRegStr HKCU "Software\${PRODUCT_NAME}" "" $INSTDIR
;Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "DisplayName" "${PRODUCT_NAME}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "UninstallString" '"$INSTDIR\Uninstall.exe"'
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\卸载 ${PRODUCT_NAME}.lnk" "$INSTDIR\Uninstall.exe"
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\${PRODUCT_NAME}.lnk" "$INSTDIR\TextDiff.exe"
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\${PRODUCT_NAME} 帮助.lnk" "$INSTDIR\TextDiff.hlp"
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\汉化说明.lnk" "$INSTDIR\汉化说明.txt"
SectionEnd
Section "在桌面上创建一个快捷方式" SecDesktopIcon
SectionIn 1 2
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\TextDiff.exe"
SectionEnd
Section "源代码 (Delphi)" SecTemplates
SectionIn 2
SetOverwrite on
SetOutPath $INSTDIR\Source
File /r .\*.*
CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\源代码.lnk" "$INSTDIR\Source"
SectionEnd
;--------------------------------
;Uninstaller Section
Section "Uninstall"
RMDir /r "$INSTDIR"
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
RMDir /r "$SMPROGRAMS\$MUI_TEMP"
Delete "$DESKTOP\${PRODUCT_NAME}.lnk"
DeleteRegValue HKCU "Software\${PRODUCT_NAME}" ""
DeleteRegValue HKCU "Software\${PRODUCT_NAME}" "Start Menu Folder"
DeleteRegKey /ifempty HKCU "Software\${PRODUCT_NAME}"
; Remove registry keys
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
SectionEnd
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -