System.nsh is the same in NSIS 2.24, 2.23, 2.22 and 2.21. The modified file is for those versions.
The link might be obsolete before long. Sorry about that.
Edit System.nsh yourself by first making a backup copy. Then open System.nsh in a text editor and make these changes:
1) Replace every occurrence of "Field 1" with "Field 999".
2) Replace every occurrence of "Field 3" with "Field 1".
3) Replace every occurrence of "Field 999" with "Field 3".
Save the file.
Images:
Design a 497x314 image with enough area to display text. An orange title won't be visible on an orange background. The Welcome page and Finish page do not have the same text and other languages do not use the same text strings; please bear that in mind.
How to show two checkboxes on the Finish page:
You can customize the following code.
!define MUI_PAGE_CUSTOMFUNCTION_PRE z_order_finish
!define MUI_PAGE_CUSTOMFUNCTION_SHOW font_background
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE post_install_1
!define MUI_FINISHPAGE_TITLE_3LINES
!define MUI_FINISHPAGE_TITLE "$(TEXT_FINISH_INFO_TITLE)"
!define MUI_FINISHPAGE_SHOWREADME
!define MUI_FINISHPAGE_RUN
!define MUI_FINISHPAGE_RUN_TEXT "$(TEXT_FINISH_RUN)"
!define MUI_FINISHPAGE_RUN_NOTCHECKED
!define MUI_FINISHPAGE_RUN_FUNCTION post_install_2
!insertmacro MUI_PAGE_FINISH
Function z_order_finish
!insertmacro MUI_INSTALLOPTIONS_READ $R1 "ioSpecial.ini" "Field 3" "Text"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Top" 80
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Bottom" 185
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Top" 15
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Bottom" 80
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Text" "$(TEXT_FINISH_SHOW)"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Type" Checkbox
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Left" 78
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Right" 258
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Top" 150
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" 160
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "State" 0
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Flags" ""
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Left" 78
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Right" 258
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" 130
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" 140
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Text" $R1
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Type" Bitmap
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Left" 0
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Right" 331
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Top" 0
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Bottom" 193
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Flags" RESIZETOFIT
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "State" ""
FunctionEnd
The bitmap is Field 3 before and Field 5 afterwards.