赞
踩
软件文件夹用Bandizip压缩成zip,下载安装NSIS,使用NSIS的"Installer based on .ZIP file"功能读取zip,点击Generate即可。
VSCode(在页面找到并下载"System Installer",“x64”)+vscode-nsis
HM NIS Edit(教程多)
nvm+yo+yo nsis
(前端亲和)
Eclipse+eclipsensis(20多年老牌软件)
其他:Sublime Text、gedit、Emacs、EditPlus、codemirror
Adobe Brackets、Atom不建议使用,已经被VSCode干趴下了
全中文NSIS手册 - 来源文江博客
中文脚本示例 - 来源文江博客
全中文NSIS手册 - 来源nsisfans
水晶石 - 博客园
; 这是一个最小的nsi脚本
; 生成的安装包可执行文件的输出路径
OutFile "Installer.exe"
; 区段开始
Section
; 区段结束
SectionEnd
; 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
; 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
; 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
; 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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。