Finish.nsh 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490
  1. /*
  2. NSIS Modern User Interface
  3. Finish page (implemented using nsDialogs)
  4. */
  5. ;--------------------------------
  6. ;Page interface settings and variables
  7. !macro MUI_FINISHPAGE_INTERFACE
  8. !ifndef MUI_FINISHPAGE_INTERFACE
  9. !define MUI_FINISHPAGE_INTERFACE
  10. Var mui.FinishPage
  11. Var mui.FinishPage.Image
  12. Var mui.FinishPage.Image.Bitmap
  13. Var mui.FinishPage.Title
  14. Var mui.FinishPage.Title.Font
  15. Var mui.FinishPage.Text
  16. !endif
  17. !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
  18. !ifndef MUI_FINISHPAGE_RETURNVALUE_VARIABLES
  19. !define MUI_FINISHPAGE_RETURNVALUE_VARIABLES
  20. Var mui.FinishPage.ReturnValue
  21. !endif
  22. !else ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME
  23. !ifndef MUI_FINISHPAGE_RETURNVALUE_VARIABLES
  24. !define MUI_FINISHPAGE_RETURNVALUE_VARIABLES
  25. Var mui.FinishPage.ReturnValue
  26. !endif
  27. !endif
  28. !ifdef MUI_FINISHPAGE_CANCEL_ENABLED
  29. !ifndef MUI_FINISHPAGE_CANCEL_ENABLED_VARIABLES
  30. !define MUI_FINISHPAGE_CANCEL_ENABLED_VARIABLES
  31. Var mui.FinishPage.DisableAbortWarning
  32. !endif
  33. !endif
  34. !ifdef MUI_FINISHPAGE_RUN
  35. !ifndef MUI_FINISHPAGE_RUN_VARIABLES
  36. !define MUI_FINISHPAGE_RUN_VARIABLES
  37. Var mui.FinishPage.Run
  38. !endif
  39. !endif
  40. !ifdef MUI_FINISHPAGE_SHOWREADME
  41. !ifndef MUI_FINISHPAGE_SHOWREADME_VARIABLES
  42. !define MUI_FINISHPAGE_SHOWREADME_VARIABLES
  43. Var mui.FinishPage.ShowReadme
  44. !endif
  45. !endif
  46. !ifdef MUI_FINISHPAGE_LINK
  47. !ifndef MUI_FINISHPAGE_LINK_VARIABLES
  48. !define MUI_FINISHPAGE_LINK_VARIABLES
  49. Var mui.FinishPage.Link
  50. !endif
  51. !endif
  52. !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
  53. !ifndef MUI_FINISHPAGE_REBOOT_VARIABLES
  54. !define MUI_FINISHPAGE_REBOOT_VARIABLES
  55. Var mui.FinishPage.RebootNow
  56. Var mui.FinishPage.RebootLater
  57. !endif
  58. !endif
  59. !insertmacro MUI_DEFAULT MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\win.bmp"
  60. !if "${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP}" == ""
  61. !error "Invalid MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP"
  62. !endif
  63. !macroend
  64. ;--------------------------------
  65. ;Interface initialization
  66. !macro MUI_FINISHPAGE_GUIINIT
  67. !ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_GUINIT
  68. !define MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_GUINIT
  69. Function ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.GUIInit
  70. InitPluginsDir
  71. File "/oname=$PLUGINSDIR\modern-wizard.bmp" "${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEFINISHPAGE_BITMAP}"
  72. !ifdef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT
  73. Call "${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT}"
  74. !endif
  75. !ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}FINISHPAGE_NOAUTOCLOSE
  76. SetAutoClose true
  77. !endif
  78. FunctionEnd
  79. !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_GUIINIT ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.GUIInit
  80. !endif
  81. !macroend
  82. ;--------------------------------
  83. ;Abort warning
  84. !macro MUI_FINISHPAGE_ABORTWARNING
  85. !ifdef MUI_FINISHPAGE_CANCEL_ENABLED
  86. !ifndef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}FINISHPAGE_ABORTWARNING
  87. !define MUI_${MUI_PAGE_UNINSTALLER_PREFIX}FINISHPAGE_ABORTWARNING
  88. Function ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.AbortWarning
  89. ${if} $mui.FinishPage.DisableAbortWarning == "1"
  90. Quit
  91. ${endif}
  92. !ifdef MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_ABORTWARNING
  93. Call ${MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_ABORTWARNING}
  94. !endif
  95. FunctionEnd
  96. !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGE_FUNCTION_ABORTWARNING ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.AbortWarning
  97. !endif
  98. !endif
  99. !macroend
  100. ;--------------------------------
  101. ;Page declaration
  102. !macro MUI_PAGEDECLARATION_FINISH
  103. !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}FINISHPAGE ""
  104. !insertmacro MUI_FINISHPAGE_INTERFACE
  105. !insertmacro MUI_FINISHPAGE_GUIINIT
  106. !insertmacro MUI_FINISHPAGE_ABORTWARNING
  107. !insertmacro MUI_DEFAULT MUI_FINISHPAGE_TITLE "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_TITLE)"
  108. !insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_TEXT)"
  109. !insertmacro MUI_DEFAULT MUI_FINISHPAGE_BUTTON "$(MUI_BUTTONTEXT_FINISH)"
  110. !insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT_REBOOT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_REBOOT)"
  111. !insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT_REBOOTNOW "$(MUI_TEXT_FINISH_REBOOTNOW)"
  112. !insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT_REBOOTLATER "$(MUI_TEXT_FINISH_REBOOTLATER)"
  113. !insertmacro MUI_DEFAULT MUI_FINISHPAGE_RUN_TEXT "$(MUI_TEXT_FINISH_RUN)"
  114. !insertmacro MUI_DEFAULT MUI_FINISHPAGE_SHOWREADME_TEXT "$(MUI_TEXT_FINISH_SHOWREADME)"
  115. !insertmacro MUI_DEFAULT MUI_FINISHPAGE_LINK_COLOR "000080"
  116. !insertmacro MUI_PAGE_FUNCTION_FULLWINDOW
  117. PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom
  118. PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.Pre_${MUI_UNIQUEID} \
  119. ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.Leave_${MUI_UNIQUEID}
  120. Caption " "
  121. PageExEnd
  122. !insertmacro MUI_FUNCTION_FINISHPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.Pre_${MUI_UNIQUEID} \
  123. ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.Leave_${MUI_UNIQUEID} \
  124. ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPage.Link_${MUI_UNIQUEID}
  125. !insertmacro MUI_UNSET MUI_FINISHPAGE_TITLE
  126. !insertmacro MUI_UNSET MUI_FINISHPAGE_TITLE_3LINES
  127. !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT
  128. !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_LARGE
  129. !insertmacro MUI_UNSET MUI_FINISHPAGE_BUTTON
  130. !insertmacro MUI_UNSET MUI_FINISHPAGE_CANCEL_ENABLED
  131. !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOT
  132. !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOTNOW
  133. !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOTLATER
  134. !insertmacro MUI_UNSET MUI_FINISHPAGE_REBOOTLATER_DEFAULT
  135. !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN
  136. !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_TEXT
  137. !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_PARAMETERS
  138. !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_NOTCHECKED
  139. !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_FUNCTION
  140. !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME
  141. !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_TEXT
  142. !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
  143. !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_FUNCTION
  144. !insertmacro MUI_UNSET MUI_FINISHPAGE_LINK
  145. !insertmacro MUI_UNSET MUI_FINISHPAGE_LINK_LOCATION
  146. !insertmacro MUI_UNSET MUI_FINISHPAGE_LINK_COLOR
  147. !insertmacro MUI_UNSET MUI_FINISHPAGE_NOREBOOTSUPPORT
  148. !insertmacro MUI_UNSET MUI_FINISHPAGE_ABORTWARNINGCHECK
  149. !insertmacro MUI_UNSET MUI_FINISHPAGE_CURFIELD_TOP
  150. !insertmacro MUI_UNSET MUI_FINISHPAGE_CURFIELD_BOTTOM
  151. !macroend
  152. !macro MUI_PAGE_FINISH
  153. !verbose push
  154. !verbose ${MUI_VERBOSE}
  155. !insertmacro MUI_PAGE_INIT
  156. !insertmacro MUI_PAGEDECLARATION_FINISH
  157. !verbose pop
  158. !macroend
  159. !macro MUI_UNPAGE_FINISH
  160. !verbose push
  161. !verbose ${MUI_VERBOSE}
  162. !insertmacro MUI_UNPAGE_INIT
  163. !insertmacro MUI_PAGEDECLARATION_FINISH
  164. !verbose pop
  165. !macroend
  166. ;--------------------------------
  167. ;Page functions
  168. !macro MUI_FUNCTION_FINISHPAGE PRE LEAVE LINK
  169. !ifdef MUI_FINISHPAGE_LINK
  170. Function "${LINK}"
  171. ExecShell open "${MUI_FINISHPAGE_LINK_LOCATION}"
  172. FunctionEnd
  173. !endif
  174. Function "${PRE}"
  175. !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
  176. ;Set text on Next button
  177. SendMessage $mui.Button.Next ${WM_SETTEXT} 0 "STR:${MUI_FINISHPAGE_BUTTON}"
  178. ;Enable cancel button if set in script
  179. !ifdef MUI_FINISHPAGE_CANCEL_ENABLED
  180. EnableWindow $mui.Button.Cancel 1
  181. !endif
  182. ;Create dialog
  183. nsDialogs::Create 1044
  184. Pop $mui.FinishPage
  185. nsDialogs::SetRTL $(^RTL)
  186. SetCtlColors $mui.FinishPage "" "${MUI_BGCOLOR}"
  187. ;Image control
  188. ${NSD_CreateBitmap} 0u 0u 109u 193u ""
  189. Pop $mui.FinishPage.Image
  190. !insertmacro MUI_INTERNAL_FULLWINDOW_LOADWIZARDIMAGE "${MUI_PAGE_UNINSTALLER_PREFIX}" $mui.FinishPage.Image $PLUGINSDIR\modern-wizard.bmp $mui.FinishPage.Image.Bitmap
  191. ;Positiong of controls
  192. ;Title
  193. !ifndef MUI_FINISHPAGE_TITLE_3LINES
  194. !define MUI_FINISHPAGE_TITLE_HEIGHT 28
  195. !else
  196. !define MUI_FINISHPAGE_TITLE_HEIGHT 38
  197. !endif
  198. ;Text
  199. ;17 = 10 (top margin) + 7 (distance between texts)
  200. !define /math MUI_FINISHPAGE_TEXT_TOP 17 + ${MUI_FINISHPAGE_TITLE_HEIGHT}
  201. ;Height if space required for radio buttons or check boxes
  202. !ifndef MUI_FINISHPAGE_TEXT_LARGE
  203. !define MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS 40
  204. !else
  205. !define MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS 60
  206. !endif
  207. !define /math MUI_FINISHPAGE_TEXT_BOTTOM_BUTTONS ${MUI_FINISHPAGE_TEXT_TOP} + ${MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS}
  208. ;Positioning of radio buttons to ask for a reboot
  209. !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
  210. !define /math MUI_FINISHPAGE_REBOOTNOW_TOP ${MUI_FINISHPAGE_TEXT_BOTTOM_BUTTONS} + 5 ;Distance between text and options
  211. ;25 = 10 (height of first radio button) + 15 (distance between buttons)
  212. !define /math MUI_FINISHPAGE_REBOOTLATER_TOP ${MUI_FINISHPAGE_REBOOTNOW_TOP} + 25
  213. !endif
  214. ;Positioning of checkboxes
  215. !ifdef MUI_FINISHPAGE_RUN
  216. !define /math MUI_FINISHPAGE_RUN_TOP ${MUI_FINISHPAGE_TEXT_BOTTOM_BUTTONS} + 5 ;Distance between text and options
  217. !endif
  218. !ifdef MUI_FINISHPAGE_SHOWREADME
  219. !ifdef MUI_FINISHPAGE_RUN
  220. ;25 = 10 (height of run checkbox) + 10 (distance between checkboxes)
  221. !define /math MUI_FINISHPAGE_SHOWREADME_TOP ${MUI_FINISHPAGE_RUN_TOP} + 20
  222. !else
  223. !define /math MUI_FINISHPAGE_SHOWREADME_TOP ${MUI_FINISHPAGE_TEXT_BOTTOM_BUTTONS} + 5 ;Distance between text and options
  224. !endif
  225. !endif
  226. !ifndef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
  227. ;Height if full space is available for text and link
  228. !ifndef MUI_FINISHPAGE_LINK
  229. !define MUI_FINISHPAGE_TEXT_HEIGHT 130
  230. !else
  231. !define MUI_FINISHPAGE_TEXT_HEIGHT 120
  232. !endif
  233. !endif
  234. !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
  235. ${if} ${RebootFlag}
  236. ;Title text
  237. ${NSD_CreateLabel} 120u 10u 195u ${MUI_FINISHPAGE_TITLE_HEIGHT}u "${MUI_FINISHPAGE_TITLE}"
  238. Pop $mui.FinishPage.Title
  239. SetCtlColors $mui.FinishPage.Title "" "${MUI_BGCOLOR}"
  240. CreateFont $mui.FinishPage.Title.Font "$(^Font)" "12" "700"
  241. SendMessage $mui.FinishPage.Title ${WM_SETFONT} $mui.FinishPage.Title.Font 0
  242. ;Finish text
  243. ${NSD_CreateLabel} 120u ${MUI_FINISHPAGE_TEXT_TOP}u 195u ${MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS}u "${MUI_FINISHPAGE_TEXT_REBOOT}"
  244. Pop $mui.FinishPage.Text
  245. SetCtlColors $mui.FinishPage.Text "" "${MUI_BGCOLOR}"
  246. ;Radio buttons for reboot page
  247. ${NSD_CreateRadioButton} 120u ${MUI_FINISHPAGE_REBOOTNOW_TOP}u 195u 10u "${MUI_FINISHPAGE_TEXT_REBOOTNOW}"
  248. Pop $mui.FinishPage.RebootNow
  249. SetCtlColors $mui.FinishPage.RebootNow "" "${MUI_BGCOLOR}"
  250. ${NSD_CreateRadioButton} 120u ${MUI_FINISHPAGE_REBOOTLATER_TOP}u 195u 10u "${MUI_FINISHPAGE_TEXT_REBOOTLATER}"
  251. Pop $mui.FinishPage.RebootLater
  252. SetCtlColors $mui.FinishPage.RebootLater "" "${MUI_BGCOLOR}"
  253. !ifndef MUI_FINISHPAGE_REBOOTLATER_DEFAULT
  254. SendMessage $mui.FinishPage.RebootNow ${BM_SETCHECK} ${BST_CHECKED} 0
  255. !else
  256. SendMessage $mui.FinishPage.RebootLater ${BM_SETCHECK} ${BST_CHECKED} 0
  257. !endif
  258. ${NSD_SetFocus} $mui.FinishPage.RebootNow
  259. ${else}
  260. !endif
  261. ;Title text
  262. ${NSD_CreateLabel} 120u 10u 195u ${MUI_FINISHPAGE_TITLE_HEIGHT}u "${MUI_FINISHPAGE_TITLE}"
  263. Pop $mui.FinishPage.Title
  264. SetCtlColors $mui.FinishPage.Title "" "${MUI_BGCOLOR}"
  265. CreateFont $mui.FinishPage.Title.Font "$(^Font)" "12" "700"
  266. SendMessage $mui.FinishPage.Title ${WM_SETFONT} $mui.FinishPage.Title.Font 0
  267. ;Finish text
  268. !ifndef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
  269. ${NSD_CreateLabel} 120u ${MUI_FINISHPAGE_TEXT_TOP}u 195u ${MUI_FINISHPAGE_TEXT_HEIGHT}u "${MUI_FINISHPAGE_TEXT}"
  270. !else
  271. ${NSD_CreateLabel} 120u ${MUI_FINISHPAGE_TEXT_TOP}u 195u ${MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS}u "${MUI_FINISHPAGE_TEXT}"
  272. !endif
  273. Pop $mui.FinishPage.Text
  274. SetCtlColors $mui.FinishPage.Text "" "${MUI_BGCOLOR}"
  275. ;Checkboxes
  276. !ifdef MUI_FINISHPAGE_RUN
  277. ${NSD_CreateCheckbox} 120u ${MUI_FINISHPAGE_RUN_TOP}u 195u 10u "${MUI_FINISHPAGE_RUN_TEXT}"
  278. Pop $mui.FinishPage.Run
  279. SetCtlColors $mui.FinishPage.Run "" "${MUI_BGCOLOR}"
  280. !ifndef MUI_FINISHPAGE_RUN_NOTCHECKED
  281. SendMessage $mui.FinishPage.Run ${BM_SETCHECK} ${BST_CHECKED} 0
  282. !endif
  283. ${NSD_SetFocus} $mui.FinishPage.Run
  284. !endif
  285. !ifdef MUI_FINISHPAGE_SHOWREADME
  286. ${NSD_CreateCheckbox} 120u ${MUI_FINISHPAGE_SHOWREADME_TOP}u 195u 10u "${MUI_FINISHPAGE_SHOWREADME_TEXT}"
  287. Pop $mui.FinishPage.ShowReadme
  288. SetCtlColors $mui.FinishPage.ShowReadme "" "${MUI_BGCOLOR}"
  289. !ifndef MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
  290. SendMessage $mui.FinishPage.ShowReadme ${BM_SETCHECK} ${BST_CHECKED} 0
  291. !endif
  292. !ifndef MUI_FINISHPAGE_RUN
  293. ${NSD_SetFocus} $mui.FinishPage.ShowReadme
  294. !endif
  295. !endif
  296. ;Link
  297. !ifdef MUI_FINISHPAGE_LINK
  298. ${NSD_CreateLink} 120u 175u 195u 10u "${MUI_FINISHPAGE_LINK}"
  299. Pop $mui.FinishPage.Link
  300. SetCtlColors $mui.FinishPage.Link "${MUI_FINISHPAGE_LINK_COLOR}" "${MUI_BGCOLOR}"
  301. ${NSD_OnClick} $mui.FinishPage.Link "${LINK}"
  302. !endif
  303. !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
  304. ${endif}
  305. !endif
  306. !ifdef MUI_FINISHPAGE_CANCEL_ENABLED
  307. StrCpy $mui.FinishPage.DisableAbortWarning "1"
  308. !endif
  309. ;Show page
  310. Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageLoadFullWindow
  311. !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
  312. nsDialogs::Show
  313. Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}muiPageUnloadFullWindow
  314. !ifdef MUI_FINISHPAGE_CANCEL_ENABLED
  315. StrCpy $mui.FinishPage.DisableAbortWarning ""
  316. !endif
  317. ;Delete image from memory
  318. ${NSD_FreeImage} $mui.FinishPage.Image.Bitmap
  319. !insertmacro MUI_UNSET MUI_FINISHPAGE_TITLE_HEIGHT
  320. !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_TOP
  321. !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_HEIGHT
  322. !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_HEIGHT_BUTTONS
  323. !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_BOTTOM_BUTTONS
  324. !insertmacro MUI_UNSET MUI_FINISHPAGE_REBOOTNOW_TOP
  325. !insertmacro MUI_UNSET MUI_FINISHPAGE_REBOOTLATER_TOP
  326. !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_TOP
  327. !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_TOP
  328. FunctionEnd
  329. Function "${LEAVE}"
  330. !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
  331. !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
  332. ;Check whether the user has chosen to reboot the computer
  333. ${if} ${RebootFlag}
  334. SendMessage $mui.FinishPage.RebootNow ${BM_GETCHECK} 0 0 $mui.FinishPage.ReturnValue
  335. ${if} $mui.FinishPage.ReturnValue = ${BST_CHECKED}
  336. Reboot
  337. ${else}
  338. Return
  339. ${endif}
  340. ${endif}
  341. !endif
  342. ;Run functions depending on checkbox state
  343. !ifdef MUI_FINISHPAGE_RUN
  344. SendMessage $mui.FinishPage.Run ${BM_GETCHECK} 0 0 $mui.FinishPage.ReturnValue
  345. ${if} $mui.FinishPage.ReturnValue = ${BST_CHECKED}
  346. !ifndef MUI_FINISHPAGE_RUN_FUNCTION
  347. !ifndef MUI_FINISHPAGE_RUN_PARAMETERS
  348. Exec "$\"${MUI_FINISHPAGE_RUN}$\""
  349. !else
  350. Exec "$\"${MUI_FINISHPAGE_RUN}$\" ${MUI_FINISHPAGE_RUN_PARAMETERS}"
  351. !endif
  352. !else
  353. Call "${MUI_FINISHPAGE_RUN_FUNCTION}"
  354. !endif
  355. ${endif}
  356. !endif
  357. !ifdef MUI_FINISHPAGE_SHOWREADME
  358. SendMessage $mui.FinishPage.ShowReadme ${BM_GETCHECK} 0 0 $mui.FinishPage.ReturnValue
  359. ${if} $mui.FinishPage.ReturnValue = ${BST_CHECKED}
  360. !ifndef MUI_FINISHPAGE_SHOWREADME_FUNCTION
  361. ExecShell open "${MUI_FINISHPAGE_SHOWREADME}"
  362. !else
  363. Call "${MUI_FINISHPAGE_SHOWREADME_FUNCTION}"
  364. !endif
  365. ${endif}
  366. !endif
  367. FunctionEnd
  368. !macroend