当前位置:   article > 正文

NSIS脚本中文翻译_nsis工具如何设置中文

nsis工具如何设置中文

0.NSIS的最简单使用方法

软件文件夹用Bandizip压缩成zip,下载安装NSIS,使用NSIS的"Installer based on .ZIP file"功能读取zip,点击Generate即可。

1.NSIS脚本编辑器选择

VSCode(在页面找到并下载"System Installer",“x64”)+vscode-nsis
HM NIS Edit(教程多)
nvm+yo+yo nsis(前端亲和)
Eclipse+eclipsensis(20多年老牌软件)
其他:Sublime Textgedit、Emacs、EditPlus、codemirror
Adobe BracketsAtom不建议使用,已经被VSCode干趴下了

2.NSIS 用户手册

全中文NSIS手册 - 来源文江博客
中文脚本示例 - 来源文江博客
全中文NSIS手册 - 来源nsisfans
水晶石 - 博客园

MinimumExample-Chinese.nsi

; 这是一个最小的nsi脚本
; 生成的安装包可执行文件的输出路径
OutFile "Installer.exe"
; 区段开始
Section
; 区段结束
SectionEnd
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

example1-Chinese.nsi

; example1-Chinese.nsi

; 这个脚本是最简单的NSIS脚本。
; 所有设置都是默认设置。
; 生成的安装程序只会询问程序的安装位置,然后把本脚本(也就是example1-Chinese.nsi)放在里面。

; example2.nsi比本脚本(也就是example1-Chinese.nsi)仅增加了一个功能,那就是添加卸载程序和开始菜单快捷方式。

;--------------------------------

; 安装程序的名称
Name "Example1-Chinese"

; 要写入的文件(最终的生成结果)
OutFile "example1-Chinese.exe"

; 请求Windows Vista及更高版本的应用程序权限
; 一些复杂的安装包在运行时可能需要管理员权限,而这里仅设置为user
RequestExecutionLevel user

; 生成Unicode安装程序
; 启用Unicode让界面显示全世界的语言,尤其是中文强烈依赖Unicode
; 除非代码质量差,不然Unicode只需设置为True即可(关闭后更返祖,可以理解为仅支持26个英文字母)
Unicode True

; 默认安装目录
InstallDir $DESKTOP\Example1-Chinese

;--------------------------------

; Pages页面
; Page directory 安装目录选择页面
; Page instfiles 安装执行页面

Page directory
Page instfiles

;--------------------------------

; 要安装的东西
Section "" ;没有Page components 组件选择页面,名称不重要

  ; 设置安装目录的输出路径
  SetOutPath $INSTDIR
  
  ; 将文件放置在这里
  File example1-Chinese.nsi
  
SectionEnd
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49

example2-Chinese.nsi

; example2-Chinese.nsi
;
; 本脚本基于example1.nsi并增加了以下功能
;       1.记住目录
;       2.卸载功能
;       3.可选的开始菜单快捷方式
;
; example2-Chinese.nsi脚本会将example2-Chinese.nsi文件安装到用户选择的目录中。
;
; install-shared.nsi脚本将提供一种更可靠的检查管理员权限的方法
; install-per-user.nsi脚本将提供如何做文件关联功能的方法

;--------------------------------

; 安装程序的名称
Name "Example2"

; 要写入的文件(最终的生成结果)
OutFile "example2-Chinese.exe"

; 请求Windows Vista及更高版本的应用程序权限
RequestExecutionLevel admin

; 生成Unicode安装程序
; 启用Unicode让界面显示全世界的语言,尤其是中文强烈依赖Unicode
; 除非代码质量差,不然Unicode只需设置为True即可(关闭后更返祖,可以理解为仅支持26个英文字母)
Unicode True

; 默认安装目录
InstallDir $PROGRAMFILES\Example2

; 用于检查目录的注册表项(因此,如果二次安装,它将自动覆盖旧目录)
InstallDirRegKey HKLM "Software\NSIS_Example2" "Install_Dir"

;--------------------------------

; Pages页面
; Page components 组件选择页面
; Page directory 安装目录选择页面
; Page instfiles 安装执行页面
; UninstPage uninstConfirm 卸载确认页面
; UninstPage instfiles 取消安装

Page components
Page directory
Page instfiles

UninstPage uninstConfirm
UninstPage instfiles

;--------------------------------

; 要安装的东西
Section "Example2 (required)"

  SectionIn RO
  
  ; 设置安装目录的输出路径
  SetOutPath $INSTDIR
  
  ; 将文件放置在这里
  File "example2-Chinese.nsi"
  
  ; 将安装路径写入注册表
  WriteRegStr HKLM SOFTWARE\NSIS_Example2 "Install_Dir" "$INSTDIR"
  
  ; 卸载注册表项的 Windows 安装程序属性:https://learn.microsoft.com/en-us/windows/win32/msi/uninstall-registry-key
  ; 写入卸载注册表项
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "DisplayName" "NSIS Example2"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "UninstallString" '"$INSTDIR\uninstall.exe"'
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "NoModify" 1
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "NoRepair" 1
  WriteUninstaller "$INSTDIR\uninstall.exe"
  
SectionEnd

; 可选的Section(可由用户禁用)
Section "Start Menu Shortcuts"

  CreateDirectory "$SMPROGRAMS\Example2"
  CreateShortcut "$SMPROGRAMS\Example2\Uninstall.lnk" "$INSTDIR\uninstall.exe"
  CreateShortcut "$SMPROGRAMS\Example2\Example2 (MakeNSISW).lnk" "$INSTDIR\example2-Chinese.nsi"

SectionEnd

;--------------------------------

; 卸载程序

Section "Uninstall"
  
  ; 删除注册表项
  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2"
  DeleteRegKey HKLM SOFTWARE\NSIS_Example2

  ; 删除文件和卸载程序
  Delete $INSTDIR\example2-Chinese.nsi
  Delete $INSTDIR\uninstall.exe

  ; 如果有快捷方式则删除快捷方式
  Delete "$SMPROGRAMS\Example2\*.lnk"

  ; 删除目录
  RMDir "$SMPROGRAMS\Example2"
  RMDir "$INSTDIR"

SectionEnd
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107

VersionInfo-Chinese.nsi

; VersionInfo-Chinese.nsi
;
; 此脚本显示如何向安装程序添加版本信息。
; 版本信息将显示在exe文件的右键菜单里。

;--------------------------------
; 安装程序的名称
Name "Version Info"
; 要写入的文件(最终的生成结果)
OutFile "VersionInfo-Chinese.exe"

; 加载所需要的语言包
; LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
; 中文语言包
LoadLanguageFile "${NSISDIR}\Contrib\Language files\SimpChinese.nlf"

;--------------------------------
; 版本信息

  VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "FileDescription" "这是文件说明"
  VIProductVersion "1.2.3.4"
  VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "ProductName" "这是产品名称"
  VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "LegalCopyright" "这是版权"
  VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "LegalTrademarks" "这是合法商标"
  VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "Comments" "A test comment"
  VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "CompanyName" "Fake company"
  VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "FileVersion" "1.2.3"

;--------------------------------
; 区段开始(nsi脚本必须有一个或以上的区段)
Section
; 区段结束
SectionEnd
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

在这里插入图片描述

unicode-Chinese.nsi

; Unicode安装程序将无法在Windows 9x上运行!
; Windows 9x?久远的时间,那是拍大话西游,关启德机场的时候
Unicode true

Name "Unicode Games"
OutFile "unicode.exe"
RequestExecutionLevel User
; 是否显示安装详细信息,设置显示才能看见DetailPrint的东西
ShowInstDetails show
; 启用 WindowsXP 的视觉样式
XPStyle on


Section "Unicode in UI"

    ; DetailPrint是打印变量的方法,可以用来调试。类似Python的print,C语言的printf,JAVA的System.out.println
    ; 以下语言依次是英语,希伯来语,阿拉伯语,日语,中国语,俄语,韩语
    DetailPrint "Hello World!"
    DetailPrint "שלום עולם!"
    DetailPrint "مرحبا العالم!"
    DetailPrint "こんにちは、世界!"
    DetailPrint "你好世界!"
    DetailPrint "привет мир!"
    DetailPrint "안녕하세요!"

    ; 版权所有标记(©)
    DetailPrint "${U+00A9}"

SectionEnd


Section "Unicode in Files"

    ; 定义全局变量,NSIS不支持局部变量(区段或函数内定义的变量必须使用 /GLOBAL 标记)
    Var /Global Message

    ; InitPluginsDir,初始化插件目录 ($PLUGINSDIR) ,当之前没有初始化时,可以多次使用。
    InitPluginsDir
    ; FileOpen 打开文件;w 一种覆盖写入的模式
    ; 该路径是一个临时目录,当第一次使用一个插件或一个调用 InitPluginsDir 时被创建。该文件夹当安装程序退出时会被自动删除。
    ; 这个文件夹的用意是用来保存给 InstallOptions 使用的 INI 文件、启动画面位图或其他插件运行需要的文件。
    FileOpen $0 "$PluginsDir\Test.txt" w
    ; IfErrors done 如果有错误则跳转到done
    IfErrors done
    ; 如果启用了Unicode,FileWriteUTF16LE是一种写入文件的方法
    FileWriteUTF16LE /BOM $0 "你好世界 "
    ; 一种叫代理对的输入方法,https://blog.csdn.net/htxhtx123/article/details/104569063
    FileWriteWord $0 0xD83C # 手动写入欧非洲字符 ${U+1F30D}(
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/112609
推荐阅读
相关标签