`
RednaxelaFX
  • 浏览: 3053320 次
  • 性别: Icon_minigender_1
  • 来自: 海外
社区版块
存档分类
最新评论

ef - the first tale.的繁体中文汉化安装包的NSIS脚本

    博客分类:
  • NSIS
阅读更多
唉,当时没催社长把这汉化坚持做完真是太失策了.现在也只好就这么拖着,等ef - the latter tale.出的时候再鼓起干劲把它接着做完.本来是能指望跟简体版的汉化补丁同期放出的...

之前听师兄说起他最近用NSIS的经历才又想起来.现在就先把这个安装包的NSIS脚本放出来好了.反正已经没有什么需要隐藏的东西.不过大半年前写的这脚本果然是老了啊...很多东西都很不上现在的NSIS的脚步了.

; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "ef - the first tale. 繁體中文版"
!define PRODUCT_VERSION "1.0"
!define PRODUCT_PUBLISHER "Router Buster"
!define PRODUCT_WEB_SITE "http://shibunoheya.blog86.fc2.com/"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\ef_first_1001chs.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"

; MUI 1.67 compatible ------
!include "MUI.nsh"

; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "E:\ef patch working folder\ef.ico"
;!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
!define MUI_UNICON "E:\ef patch working folder\ef.ico"

; Language Selection Dialog Settings
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"

; Welcome page
!insertmacro MUI_PAGE_WELCOME
; License page
!define MUI_LICENSEPAGE_CHECKBOX
!insertmacro MUI_PAGE_LICENSE "E:\ef patch working folder\license.txt"
; Directory page
!insertmacro MUI_PAGE_DIRECTORY
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!define MUI_FINISHPAGE_RUN "$INSTDIR\ef_first_1001chs.exe"
;!define MUI_FINISHPAGE_RUN "$INSTDIR\ef_first_1001zhh.exe"
!insertmacro MUI_PAGE_FINISH

; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES

; Language files
!insertmacro MUI_LANGUAGE "SimpChinese"
VIProductVersion "1.0.0.0"
VIAddVersionKey /LANG=2052 "FileDescription" "${PRODUCT_NAME}"
VIAddVersionKey /LANG=2052 "Comments" "${PRODUCT_WEB_SITE}"
VIAddVersionKey /LANG=2052 "ProductName" "${PRODUCT_NAME}"
VIAddVersionKey /LANG=2052 "LegalCopyright" ""
VIAddVersionKey /LANG=2052 "CompanyName" "${PRODUCT_PUBLISHER}"
VIAddVersionKey /LANG=2052 "FileVersion" "${PRODUCT_VERSION}"

; MUI end ------

Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "Setup_chs.exe"
InstallDir "$EXEDIR"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
ShowInstDetails show
ShowUnInstDetails show

Function .onInit
  !insertmacro MUI_LANGDLL_DISPLAY
  InitPluginsDir
  ReadRegStr $INSTDIR HKLM "SOFTWARE\minori\ef_first" "InstallDir"
FunctionEnd

;; CHECK THIS FOR FONT INSTALLATION: $FONTS

Section "MainSection" SEC01
;--------------------------copy-----------------------------
  SetOutPath "$INSTDIR"
  DetailPrint "正在複製檔案..."
  SetOverwrite ifnewer
  File "E:\ef patch working folder\ef_first_1001chs.exe"
  CreateDirectory "$SMPROGRAMS\\"
  CreateShortCut "$SMPROGRAMS\\ef - the first tale. 繁體中文版.lnk" "$INSTDIR\ef_first_1001chs.exe"
  CreateShortCut "$DESKTOP\ef - the first tale. 繁體中文版.lnk" "$INSTDIR\ef_first_1001chs.exe"
  SetOverwrite on
  File "E:\ef patch working folder\scr.paz"
  File "E:\ef patch working folder\mov.paz"
  File "E:\ef patch working folder\tool\paz.exe"
  File "E:\ef patch working folder\tool\paz.ini"
;-------------------------extract----------------------------
;; TODO - 下面这部分只是测试!!!
  CreateDirectory "$INSTDIR\scr"
  nsExec::ExecToStack '"cd" $INSTDIR'
  nsExec::ExecToStack '"dir" > files.txt'
  nsExec::ExecToStack '"$INSTDIR\paz.exe" e $INSTDIR\scr.paz'
;  RMDir "$INSTDIR\"

   DetailPrint "正在更新檔案..."
SectionEnd

Section -Post
  WriteUninstaller "$INSTDIR\uninst.exe"
  WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\ef_first_1001chs.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}" "DisplayIcon" "$INSTDIR\ef_first_1001chs.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}"
  WriteRegStr HKLM "SOFTWARE\minori\ef_first" "InstallKeyCode" "07303ed1"
  WriteRegStr HKLM "SOFTWARE\minori\ef_first" "SerialCode" "11111-11111-11111-11111"
  WriteRegStr HKLM "SOFTWARE\minori\ef_first" "InstallDir" "$INSTDIR"
SectionEnd


Function un.onUninstSuccess
  HideWindow
  MessageBox MB_ICONINFORMATION|MB_OK "「ef - the first tale. 繁體中文版」已成功地从你的計算機移除。"
FunctionEnd

Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "你确实要完全移除「ef - the first tale. 繁體中文版」,其及所有組件?" IDYES +2
  Abort
FunctionEnd

Section Uninstall
  Delete "$INSTDIR\uninst.exe"
  Delete "$INSTDIR\mov.paz"
  Delete "$INSTDIR\scr.paz"
  Delete "$INSTDIR\ef_first_1001chs.exe"

  ;Delete "$DESKTOP\ef - the first tale. 繁體中文版(for 繁體作業系統).lnk"
  ;Delete "$SMPROGRAMS\\ef - the first tale. 繁體中文版(for 繁體作業系統).lnk"
  Delete "$DESKTOP\ef - the first tale. 繁體中文版(for 简体操作系统).lnk"
  Delete "$SMPROGRAMS\\ef - the first tale. 繁體中文版(for 简体操作系统).lnk"

  RMDir "$SMPROGRAMS\\"
  RMDir "$INSTDIR"

  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
  SetAutoClose true
SectionEnd

这个安装包的核心还是在于中间对我另外写的一个外部工具,"paz.exe"的调用.用paz.exe完成对原始归档的抽出和更新.上面的脚本里,extract的那段只是验证了几个关键点是否可行: 1.是否能实现目录转换 2.是否能实现目录中文件列表输出 3.是否能将原始paz归档的内容抽出.
本来这个paz.exe是会被用来抽出原本的bg.paz中的图片,然后把有更新的图片覆盖掉原本的那些,再将这些图片打包回到bg.paz中.不过我一直没收到那些改过的图,所以这命令也一直没写到安装包脚本里.再次叹气...
分享到:
评论

相关推荐

    基于Java的源码-博客系统Tale.zip

    【标题】基于Java的源码-博客系统Tale 【描述】Tale是一个简洁而强大的开源博客系统,它采用Java编程语言开发,旨在为个人用户提供轻量级、易部署的博客解决方案。Tale的设计理念是简约至上,注重用户体验,同时在...

    基于java的开发源码-博客系统Tale.zip

    【标题】基于Java的开发源码-博客系统Tale 【描述】Tale是一个轻量级的开源博客系统,它采用Java语言编写,为个人或小型团队提供了简单易用、功能丰富的博客搭建方案。这个压缩包包含的是Tale博客系统的全部源代码...

    基于java的开发源码-Tale Java博客系统.zip

    基于java的开发源码-Tale Java博客系统.zip 基于java的开发源码-Tale Java博客系统.zip 基于java的开发源码-Tale Java博客系统.zip 基于java的开发源码-Tale Java博客系统.zip 基于java的开发源码-Tale Java博客系统...

    OverSave-Tale 0.23.1.rar

    《OverSave-Tale 0.23.1.rar》是一个压缩包文件,它包含了与“OverSave-Tale”游戏相关的更新版本,版本号为0.23.1。"whm"、"fdy"和"oversave-table"是描述中的关键词,它们可能是游戏内的特定术语或功能模块。在...

    译林版五年级下册英语unit1-8知识点.doc

    - tale(故事) - hurry(快点) - pick(摘) - mushroom(蘑菇) - leave(留下) - clothes(衣服) - before(在...之前) - understand(明白) - let(让) - Cinderella(灰姑娘) 2. **词组**: ...

    Atom-wild-cherry,仙女.zip

    Atom-wild-cherry.zip,a fairy-tale inspired theme, with tasteful use of emojis野樱桃,atom是一个用web技术构建的开源文本编辑器。

    译林版五年级下册英语unit1-8知识点汇总.doc

    9. **tale** - 故事 10. **hurry** - 快点 11. **pick** - 摘 12. **mushroom** - 蘑菇 13. **可惜** - what a pity! 14. **leave** - 留下 15. **clothes** - 衣服 16. **before** - 在...之前 17. **understand** ...

    2017红宝书考研英语词汇(词汇分类整理)--基础词.pdf

    13. tale和tame的区别:tale指故事或传说,tame则指驯服的或温顺的。 14. tan和tangle的区别:tan指棕黄色或棕褐色,tangle则指绞在一起或混乱状态。 15. tank和tanker的区别:tank指坦克,tanker则指油船或油罐车...

    新人教九年级英语复习PPT课件.pptx

    3. 童话故事 - fairy tale 4. 由……制成 - be made of/from 5. environmental protection - 环境保护 6. by hand - 手工 7. be covered with - 被……覆盖 8. paper cutting - 剪纸 三、句型攻关 这部分练习了英语...

    常用见的开音节闭音节词汇.doc

    17. tale - 故事 闭音节词汇: 1. map - 地图 2. desk - 书桌 3. is - 是 4. bag - 包 5. begin - 开始 6. fish - 鱼 7. not - 不 8. cup - 杯子 9. gate - 大门 10. gave - 给 11. page - 页 12. lake - 湖 13. ...

    基于springboot+thymeleaf+mybatis+tale.js+redis简洁的个人博客系统源码,适合快速全栈学习

    基于springboot+thymeleaf+mybatis+tale.js+redis简洁的个人博客系统源码,适合快速全栈学习,项目经过严格测试,确保可以运行! 1.涉及技术及工具 核心框架:SpringBoot ORM 框架:MyBatis MyBatis 工具:MyBatis...

    【英文】德银报告:中国电子商务报告China E-commerce:A tale of two camps - and we favor the(72页).zip

    【英文】德银报告:中国电子商务报告China E-commerce:A tale of two camps - and we favor the(72页),资源名称:【英文】德银报告:中国电子商务报告China E-commerce:A tale of two camps - and we favor the...

    大学英语六级语法知识系统学习第37篇.docx

    - `say of`、`tale of`、`hear of`、`think of`、`learn of`、`savor of` 用于提及或思考关于某事。 - 如 `The room smells of stale cabbage.` 房间里弥漫着烂白菜的气味。 - `brag of his achievements` 自夸他...

    core-research-team.github.io

    故事 ... gem "tale" 安装主题的宝石和依赖项: $ bundle 在_config.yml添加以下行: theme : tale permalink : /:year-:month-:day/:title paginate : 5 删除任何其他theme:行。 将index.md重命

    简洁的个人博客系统 springboot+thymeleaf+mybatis+tale.js+redis.zip

    【简洁的个人博客系统 springboot+thymeleaf+mybatis+tale.js+redis】是一个典型的Java后端技术栈结合前端框架实现的个人博客项目,适用于IT毕业设计。这个项目运用了SpringBoot、Thymeleaf、MyBatis以及Tale.js等...

    Unity插件:NodeCanvas 2.6.2

    NodeCanvas is a production ready framework used by many awesome games including Kim, Pamela, Hurtworld, Shroud of the Avatar, Kingdom and Ghost of a Tale. [Games Showcase] Feature Highlights --------...

    基于Java的博客系统Tale.zip

    【标题】基于Java的博客系统Tale 在IT领域,Java是一种广泛应用的编程语言,尤其在企业级应用开发中占据重要地位。"基于Java的博客系统Tale"是一款使用Java技术构建的开源博客平台,旨在为用户提供简洁、易用且功能...

    四川省成都市金堂县又新镇九年级英语全册Unit5Whataretheshirtsmadeof8导学案无答案新版人教新目标版201

    这篇导学案主要涵盖了九年级英语Unit5 "What are the shirts made of"的相关内容,重点在于复习动词的过去式和过去分词,以及一系列与制作、环保、产地、闻名等相关的重要短语。以下是具体的知识点: 1. 动词的过去...

Global site tag (gtag.js) - Google Analytics