nsis安装mysql服务语句_NSIS:实现多语言安装卸载并定义语言相关字符串

本文档展示了如何使用NSIS脚本创建一个支持多语言的MySQL服务安装程序,包括设置语言选择窗口、定义语言相关字符串,并实现安装、卸载过程中的语言切换。用户可以在安装过程中选择英文或简体中文,程序会根据选择显示相应的提示信息。
摘要由CSDN通过智能技术生成

!define PRODUCT_NAME ""

!define PRODUCT_VERSION "1.0"

!define PRODUCT_PUBLISHER "My company, Inc."

!define PRODUCT_WEB_SITE "http://www.flighty.cn"

!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\myapp"

!define PRODUCT_UNINST_ROOT_KEY "HKLM"

SetCompressor lzma

RequestExecutionLevel admin

!include "MUI2.nsh"

!define MUI_ABORTWARNING

!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"

!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"

; 语言选择窗口常量设置

!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"

!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"

!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"

!insertmacro MUI_PAGE_WELCOME

!insertmacro MUI_PAGE_DIRECTORY

!insertmacro MUI_PAGE_INSTFILES

!insertmacro MUI_PAGE_FINISH

!insertmacro MUI_UNPAGE_INSTFILES

; 语言设置

!insertmacro MUI_LANGUAGE "English"

!insertmacro MUI_LANGUAGE "SimpChinese"

; 语言相关字符串

LangString LNG_AppName ${LANG_ENGLISH} "flighty'app"

LangString LNG_AppName ${LANG_SIMPCHINESE} "轻狂的程序"

LangString UNINSTALL_CONFIRM ${LANG_ENGLISH} "Thank you very much! $(^Name) has been successfully removed."

LangString UNINSTALL_CONFIRM ${LANG_SIMPCHINESE} "非常感謝您的使用! $(^Name) 已成功地从您的计算机中移除。"

Name "$(LNG_AppName)"

OutFile "Setup.exe"

InstallDir "$PROGRAMFILES\My application"

ShowInstDetails show

ShowUnInstDetails show

Section "MainSection" SEC01

StrCpy $0 $(LNG_AppName)

${If} $0 == "flighty'app"

MessageBox MB_OK "ENGLISH"

${Else}

MessageBox MB_OK "简体中文"

${EndIf}

SectionEnd

Section -AdditionalIcons

SetOutPath $INSTDIR

WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"

CreateDirectory "$SMPROGRAMS\My application"

CreateShortCut "$SMPROGRAMS\My application\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"

CreateShortCut "$SMPROGRAMS\My application\Uninstall.lnk" "$INSTDIR\uninst.exe"

SectionEnd

Section -Post

WriteUninstaller "$INSTDIR\uninst.exe"

WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"

WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"

WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"

WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"

WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"

SectionEnd

Function .onInit

!insertmacro MUI_LANGDLL_DISPLAY

FunctionEnd

Section Uninstall

Delete "$INSTDIR\${PRODUCT_NAME}.url"

Delete "$INSTDIR\uninst.exe"

Delete "$SMPROGRAMS\My application\Uninstall.lnk"

Delete "$SMPROGRAMS\My application\Website.lnk"

RMDir "$SMPROGRAMS\My application"

RMDir "$INSTDIR"

DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"

SetAutoClose true

SectionEnd

Function un.onInit

!insertmacro MUI_UNGETLANGUAGE

FunctionEnd

Function un.onUninstSuccess

HideWindow

MessageBox MB_ICONINFORMATION|MB_OK "$(UNINSTALL_CONFIRM)"

FunctionEnd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值