at the start of my script, I define that I want to call a custom pre page, before showing the finish page.
!define MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT PreFinishPage !insertmacro MUI_PAGE_FINISH I then have my PreFinishPage function to modify the iospecial.ini file to add my extras..Function PreFinishPage StrCmp $INSTALL_SERVICE "1" +1 gotoend !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "NumFields" "4" !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Type" "CheckBox" !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Text" "$(OpenConfigPage)" !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Left" "120" !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Right" "315" !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "125" !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "135" !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "State" "1" !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "135" gotoend: FunctionEnd The problem is, the checkbox ONLY appears when I move the mouse over it (repaint problem), and it's background is ugly grey. The repaint problem, I think, is because field 3 of the iospecial.ini is too big (bottom = 185), which I why I try to attempt to shorten it in my code.If I open the temp plugin folder during install. I can see it's added my extra field, (field 4), but field 3 bottom is still the 185 value..