杉宫竹苑工作室

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1903|回复: 0

NSIS 一个软件实例

[复制链接]
发表于 2017-2-26 13:37:30 | 显示全部楼层 |阅读模式

正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.jpg
2.jpg
3.jpg
4.jpg
  1. ;|=========================================================|
  2. !define PRODUCT_NAME "JUAN'S For CHT9K"
  3. !define PRODUCT_VERSION "V1.08.04.26"
  4. !define PRODUCT_PUBLISHER "罾心製作"
  5. !define PRODUCT_WEB_SITE "http://www.blog.163.com/53_54/"
  6. !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
  7. !define PRODUCT_UNINST_ROOT_KEY "HKLM"

  8. Name "CHT 9000 "
  9. OutFile "c9K.exe"
  10. SetCompressor /final /solid lzma
  11. ShowInstDetails nevershow
  12. ShowUnInstDetails nevershow
  13. xpstyle on
  14. InstallDir "$temp"
  15. ;SilentInstall silent
  16. BrandingText " "
  17. ;BrandingText "罾心製作 blog.163.com/53_54于${__Date__}发布"

  18.   VIProductVersion "1.08.04.26"
  19.   VIAddVersionKey /LANG=2052 "ProductName" "blog.163.com/53_54"
  20.   VIAddVersionKey /LANG=2052 "Comments" "blog.163.com/53_54"
  21. ; VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "CompanyName" "罾心製作"
  22. ; VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "LegalTrademarks" 罾心製作"
  23. ; VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "LegalCopyright" "Copyright (C) 2007 "
  24.   VIAddVersionKey /LANG=2052 "FileDescription" "blog.163.com/53_54"
  25. ; VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "OriginalFilename" "Wopti.exe"
  26. ; VIAddVersionKey /LANG=${LANG_SIMPCHINESE} "InternalName" "Wopti.exe"
  27.   VIAddVersionKey /LANG=2052 "FileVersion" "1.08.04.26"
  28. ;--------------------------------
  29. ;Interface Settings

  30. ;!include "UMUI2.nsh"     ;黑风格
  31.   !include "XPUI3.nsh"     ;黄风格
  32.   !include "logiclib.nsh"
  33.   !define XPUI_WANSIS
  34.   !define MUI_ABORTWARNING
  35. !define MUI_ICON "D:\My Documents\ubuntu.ico"
  36. !define MUI_UNICON "D:\My Documents\ubuntu.ico"
  37. Caption "CHT9000"
  38. !verbose 4
  39. !define MUI_WELCOMEPAGE_TEXT "说明:\r\n\r\n1.本程序ROM仅使用于CHT9000  \r\n\r\n2.本程序只支持在线下载ROM  \r\n\r\n3. http://www.blog.163.com/53_54/"
  40. !insertmacro MUI_PAGE_WELCOME
  41. !define MUI_LICENSEPAGE_CHECKBOX
  42. !insertmacro MUI_PAGE_LICENSE "D:\CHT9000\redem.txt"
  43.    Page custom   CustomPageB  leave
  44. !define MUI_PAGE_CUSTOMFUNCTION_SHOW ChageFONT
  45. !insertmacro MUI_PAGE_COMPONENTS
  46.   

  47.   !insertmacro MUI_PAGE_INSTFILES
  48.   !insertmacro MUI_LANGUAGE "cht9000"
  49.   !insertmacro MUI_LANGUAGE "English"
  50. ;!insertmacro MUI_LANGUAGE "SimpChinese"




  51.      ReserveFile "ioA.ini"
  52. !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
  53. ;SetFont 14

  54. ;--------------------------------
  55. ;Installer Sections

  56. Section -123
  57. DetailPrint '正在火热进行中$(^Name)刷机......'
  58. SetDetailsPrint None
  59. SectionEnd

  60. SectionGroup "19174核心系列" Sec19174

  61. Section /o "雅黑字体" Sec1741
  62.   SetOutPath "$temp"
  63.   ;  SetDetailsView hide
  64.    inetc::get /RESUME  "Download failed" /caption "Please wait some minutes" /popup "Download OS_19174 雅黑字体" "http://" "$TEMP\OS_1741.7Z" /end
  65.    MessageBox MB_OK "Download Status: $0"
  66. ; ZipDLL::extractall "$TEMP\OS_19174.zip" "$TEMP\OS_19174"
  67. File "D:\CHT9000\7za.exe"
  68. nsExec::Exec '"$INSTDIR\7za.exe" e $INSTDIR\OS_1741.7z -o$INSTDIR\os_1741'
  69. ;nsis7z::Extract '"$temp\OS_19174.7z" -o $temp\os"'
  70. ExecWait "$temp\OS_1741\RUUWrapper.exe"
  71. Delete *.*
  72. RMDir /r "$TEMP"
  73. SectionEnd

  74. Section /o "Q字体" Sec1742
  75.   SetOutPath "$temp"
  76.   ;  SetDetailsView hide
  77.    inetc::get /RESUME  "Download failed" /caption "Please wait some minutes" /popup "Download OS_19174 Q字体" "http://" "$TEMP\OS_1742.7Z" /end
  78.    MessageBox MB_OK "Download Status: $0"
  79. ; ZipDLL::extractall "$TEMP\OS_19174.zip" "$TEMP\OS_19174"
  80. File "D:\CHT9000\7za.exe"
  81. nsExec::Exec '"$INSTDIR\7za.exe" e $INSTDIR\OS_1742.7z -o$INSTDIR\os_1742'
  82. ;nsis7z::Extract '"$temp\OS_19174.7z" -o $temp\os"'
  83. ExecWait "$temp\OS_1742\RUUWrapper.exe"
  84. Delete *.*
  85. RMDir /r "$TEMP"
  86. SectionEnd

  87. Section /o "4字体自由切换A版" Sec1743
  88.   SetOutPath "$temp"
  89.   ;  SetDetailsView hide
  90.    inetc::get /RESUME  "Download failed" /caption "Please wait some minutes" /popup "Download OS_19174 4字体自由切换A版" "http://" "$TEMP\OS_1743.7Z" /end
  91.    MessageBox MB_OK "Download Status: $0"
  92. ; ZipDLL::extractall "$TEMP\OS_19174.zip" "$TEMP\OS_19174"
  93. File "D:\CHT9000\7za.exe"
  94. nsExec::Exec '"$INSTDIR\7za.exe" e $INSTDIR\OS_1743.7z -o$INSTDIR\os_1743'
  95. ;nsis7z::Extract '"$temp\OS_19174.7z" -o $temp\os"'
  96. ExecWait "$temp\OS_1743\RUUWrapper.exe"
  97. Delete *.*
  98. RMDir /r "$TEMP"
  99. SectionEnd

  100. Section /o "4字体自由切换B版" Sec1744
  101.   SetOutPath "$temp"
  102.   ;  SetDetailsView hide
  103.    inetc::get /RESUME  "Download failed" /caption "Please wait some minutes" /popup "Download OS_19174 4字体自由切换B版" "http://" "$TEMP\OS_1744.7Z" /end
  104.    MessageBox MB_OK "Download Status: $0"
  105. ; ZipDLL::extractall "$TEMP\OS_19174.zip" "$TEMP\OS_19174"
  106. File "D:\CHT9000\7za.exe"
  107. nsExec::Exec '"$INSTDIR\7za.exe" e $INSTDIR\OS_1744.7z -o$INSTDIR\os_1744'
  108. ;nsis7z::Extract '"$temp\OS_19174.7z" -o $temp\os"'
  109. ExecWait "$temp\OS_1744\RUUWrapper.exe"
  110. Delete *.*
  111. RMDir /r "$TEMP"
  112. SectionEnd
  113. SectionGroupend

  114. ;========================================================
  115. SectionGroup "19199核心系列" Sec19199
  116. Section /o "雅黑A版" Sec1991
  117.   SetOutPath "$temp"
  118.   ;  SetDetailsView hide
  119.    inetc::get /RESUME  "Download failed" /caption "Please wait some minutes" /popup "Download OS_19199 雅黑A版" "http://" "$TEMP\OS_1991.7Z" /end
  120.    MessageBox MB_OK "Download Status: $0"
  121. ; ZipDLL::extractall "$TEMP\OS_19174.zip" "$TEMP\OS_19174"
  122. File "D:\CHT9000\7za.exe"
  123. nsExec::Exec '"$INSTDIR\7za.exe" e $INSTDIR\OS_1991.7z -o$INSTDIR\os_1991'
  124. ;nsis7z::Extract '"$temp\OS_19174.7z" -o $temp\os"'
  125. ExecWait "$temp\OS_1991\RUUWrapper.exe"
  126. Delete *.*
  127. RMDir /r "$TEMP"
  128. SectionEnd

  129. Section /o "雅黑B版" Sec1992
  130.   SetOutPath "$temp"
  131.   ;  SetDetailsView hide
  132.    inetc::get /RESUME  "Download failed" /caption "Please wait some minutes" /popup "Download OS_19199 雅黑B版" "http://" "$TEMP\OS_1992.7Z" /end
  133.    MessageBox MB_OK "Download Status: $0"
  134. ; ZipDLL::extractall "$TEMP\OS_19174.zip" "$TEMP\OS_19174"
  135. File "D:\CHT9000\7za.exe"
  136. nsExec::Exec '"$INSTDIR\7za.exe" e $INSTDIR\OS_1992.7z -o$INSTDIR\os_1992'
  137. ;nsis7z::Extract '"$temp\OS_19174.7z" -o $temp\os"'
  138. ExecWait "$temp\OS_1992\RUUWrapper.exe"
  139. Delete *.*
  140. RMDir /r "$TEMP"
  141. SectionEnd
  142. SectionGroupend

  143. ;===============================================================
  144. SectionGroup "19202核心系列" Sec19202
  145. Section /o "雅黑" Sec2021
  146.   SetOutPath "$temp"
  147.   ;  SetDetailsView hide
  148.    inetc::get /RESUME  "Download failed" /caption "Please wait some minutes" /popup "Download OS_19202 雅黑" "http://" "$TEMP\OS_2021.7Z" /end
  149.    MessageBox MB_OK "Download Status: $0"
  150. ; ZipDLL::extractall "$TEMP\OS_19174.zip" "$TEMP\OS_19174"
  151. File "D:\CHT9000\7za.exe"
  152. nsExec::Exec '"$INSTDIR\7za.exe" e $INSTDIR\OS_2021.7z -o$INSTDIR\os_2021'
  153. ;nsis7z::Extract '"$temp\OS_19174.7z" -o $temp\os"'
  154. ExecWait "$temp\OS_2021\RUUWrapper.exe"
  155. Delete *.*
  156. RMDir /r "$TEMP"
  157. SectionEnd
  158. SectionGroupend

  159. ;=====================================================================
  160. SectionGroup "19209核心系列" Sec19209
  161. Section /o "明柳字体" Sec2091
  162.   SetOutPath "$temp"
  163.   ;  SetDetailsView hide
  164.    inetc::get /RESUME  "Download failed" /caption "Please wait some minutes" /popup "Download OS_19209 明柳字体" "http://" "$TEMP\OS_2091.7Z" /end
  165.    MessageBox MB_OK "Download Status: $0"
  166. ; ZipDLL::extractall "$TEMP\OS_19174.zip" "$TEMP\OS_19174"
  167. File "D:\CHT9000\7za.exe"
  168. nsExec::Exec '"$INSTDIR\7za.exe" e $INSTDIR\OS_2091.7z -o$INSTDIR\os_2091'
  169. ;nsis7z::Extract '"$temp\OS_19174.7z" -o $temp\os"'
  170. ExecWait "$temp\OS_2091\RUUWrapper.exe"
  171. Delete *.*
  172. RMDir /r "$TEMP"
  173. SectionEnd

  174. Section /o "雅黑A版" Sec2092
  175.   SetOutPath "$temp"
  176.   ;  SetDetailsView hide
  177.    inetc::get /RESUME  "Download failed" /caption "Please wait some minutes" /popup "Download OS_19209 雅黑A版" "http://" "$TEMP\OS_2092.7Z" /end
  178.    MessageBox MB_OK "Download Status: $0"
  179. ; ZipDLL::extractall "$TEMP\OS_19174.zip" "$TEMP\OS_19174"
  180. File "D:\CHT9000\7za.exe"
  181. nsExec::Exec '"$INSTDIR\7za.exe" e $INSTDIR\OS_2092.7z -o$INSTDIR\os_2092'
  182. ;nsis7z::Extract '"$temp\OS_19174.7z" -o $temp\os"'
  183. ExecWait "$temp\OS_2092\RUUWrapper.exe"
  184. Delete *.*
  185. RMDir /r "$TEMP"
  186. SectionEnd

  187. Section /o "雅黑B版" Sec2093
  188.   SetOutPath "$temp"
  189.   ;  SetDetailsView hide
  190.    inetc::get /RESUME  "Download failed" /caption "Please wait some minutes" /popup "Download OS_19209 雅黑B版" "http://" "$TEMP\OS_2093.7Z" /end
  191.    MessageBox MB_OK "Download Status: $0"
  192. ; ZipDLL::extractall "$TEMP\OS_19174.zip" "$TEMP\OS_19174"
  193. File "D:\CHT9000\7za.exe"
  194. nsExec::Exec '"$INSTDIR\7za.exe" e $INSTDIR\OS_2093.7z -o$INSTDIR\os_2093'
  195. ;nsis7z::Extract '"$temp\OS_19174.7z" -o $temp\os"'
  196. ExecWait "$temp\OS_2093\RUUWrapper.exe"
  197. Delete *.*
  198. RMDir /r "$TEMP"
  199. SectionEnd
  200. SectionGroupend

  201. ;=================================================================
  202. SectionGroup "19400核心系列" Sec19400
  203. Section /o "小雅黑" Sec4001
  204.   SetOutPath "$temp"
  205.   ;  SetDetailsView hide
  206.    inetc::get  /QUESTION " " /RESUME  "Download failed" /caption "Please wait some minutes" /popup "Download OS_19400 小雅黑" "http://" "$TEMP\OS_4001.7Z" /end
  207. ;  MessageBox MB_OK "Download Status: $0"
  208. StrCmp $0 "OK" dlok
  209.   MessageBox MB_OK|MB_ICONEXCLAMATION "Too many downloads, please come back later." /SD IDOK
  210.   Abort
  211. dlok:
  212. ; ZipDLL::extractall "$TEMP\OS_19174.zip" "$TEMP\OS_19174"
  213. File "D:\CHT9000\7za.exe"
  214. nsExec::Exec '"$INSTDIR\7za.exe" e $INSTDIR\OS_4001.7z -o$INSTDIR\os_4001'
  215. ;nsis7z::Extract '"$temp\OS_19174.7z" -o $temp\os"'
  216. ExecWait "$temp\OS_4001\RUUWrapper.exe"
  217. Delete *.*
  218. RMDir /r "$TEMP"
  219. SectionEnd
  220. SectionGroupend

  221. ;=====================================================================
  222. SectionGroup "19701核心系列" Sec19701
  223. Section /o  "OS_19701" Sec7011
  224. SectionEnd
  225. SectionGroupend
  226. ;====================================================================
  227. SectionGroup "X核心系列" SecX
  228. Section /o  "OS_X" SecX1
  229. SectionEnd
  230. SectionGroupend


  231. !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
  232.   !insertmacro MUI_DESCRIPTION_TEXT ${SEC1741} "ROM_19174  FOR CHT9000 雅黑字体"
  233.     !insertmacro MUI_DESCRIPTION_TEXT ${SEC1742} "ROM_19174  FOR CHT9000 华康少女字体"
  234.       !insertmacro MUI_DESCRIPTION_TEXT ${SEC1743} "ROM_19174  FOR CHT9000 4字体切换A版"
  235.         !insertmacro MUI_DESCRIPTION_TEXT ${SEC1744} "ROM_19174  FOR CHT9000 4字体切换B版"

  236. !insertmacro MUI_DESCRIPTION_TEXT ${SEC1991} "ROM_19199  FOR CHT9000 雅黑A版"
  237.   !insertmacro MUI_DESCRIPTION_TEXT ${SEC1992} "ROM_19199  FOR CHT9000 雅黑B版"
  238.    
  239. !insertmacro MUI_DESCRIPTION_TEXT ${SEC2021} "ROM_19202  FOR CHT9000 雅黑字体"

  240.         
  241. !insertmacro MUI_DESCRIPTION_TEXT ${SEC2091} "ROM_19209  FOR CHT9000 明柳字体"
  242.   !insertmacro MUI_DESCRIPTION_TEXT ${SEC2092} "ROM_19209  FOR CHT9000 雅黑A版"
  243.     !insertmacro MUI_DESCRIPTION_TEXT ${SEC2093} "ROM_19209  FOR CHT9000 雅黑B版"
  244.       
  245. !insertmacro MUI_DESCRIPTION_TEXT ${SEC4001} "ROM_19400  FOR CHT9000 4小雅黑"

  246. !insertmacro MUI_DESCRIPTION_TEXT ${SEC7011} "ROM_19701  FOR CHT9000 『尚未支持』"

  247. !insertmacro MUI_DESCRIPTION_TEXT ${SECX1} "ROM_x  FOR CHT9000 『尚未支持』"


  248. !insertmacro MUI_DESCRIPTION_TEXT ${SEC19174} "请选择19174核心子目录下的版本"
  249. !insertmacro MUI_DESCRIPTION_TEXT ${SEC19199} "请选择19199核心子目录下的版本"
  250. !insertmacro MUI_DESCRIPTION_TEXT ${SEC19202} "请选择19202核心子目录下的版本"
  251. !insertmacro MUI_DESCRIPTION_TEXT ${SEC19209} "请选择19209核心子目录下的版本"
  252. !insertmacro MUI_DESCRIPTION_TEXT ${SEC19400} "请选择19400核心子目录下的版本"
  253. !insertmacro MUI_DESCRIPTION_TEXT ${SEC19701} "请选择19701核心子目录下的版本"
  254. !insertmacro MUI_DESCRIPTION_TEXT ${SECX} "请选择核心子目录下的版本"
  255. !insertmacro MUI_FUNCTION_DESCRIPTION_END
  256. ;--------------------------------
  257. ;Installer Functions

  258.   Function CustomPageB
  259.   !insertmacro MUI_INSTALLOPTIONS_DISPLAY "ioA.ini"
  260. FunctionEnd

  261. Function .onInit
  262. !insertmacro XPUI_LANGPAGE_DISPLAY
  263. !insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioA.ini"
  264. FunctionEnd


  265. Function ChageFONT
  266. GetDlgItem $1 $HWNDPARENT 1038
  267. CreateFont $0 "Arial" "10" "500"
  268. SendMessage $1 0x0030 $0 0

  269. GetDlgItem $1 $HWNDPARENT 1037
  270. CreateFont $0 "Arial" "10" "500"
  271. SendMessage $1 0x0030 $0 0
  272. FunctionEnd

  273. Function leave
  274. ReadINIStr $0 "$pluginsdir\IOA.ini" "Settings" "State"
  275. ${Switch} $0
  276. ${Default}
  277. Abort
  278.     ${Case} 1  ;Field 1,Type=Button,注意Flags=NOTIFY
  279.     MessageBox MB_ICONINFORMATION|MB_OK ""
  280.     Abort
  281.     ${Case} 0
  282. ${EndSwitch}
  283. FunctionEnd
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SgzyStudio

GMT+8, 2024-5-19 13:20 , Processed in 0.115868 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表