what you can do is using user variables to check whether or not a section has been executed.
eg. set $R0 to 0 at .onInit using StrCpy $R9 "0" and set it to 1 if a section has been visited, eg:
section "Some additional stuff"
StrCpy $R9 "1"
In a final section you can test the user variables for visited sections and write the info you want to the registry.
Good luck, I hope this answers the question a bit, it's not possible to retrieve "Custom" or "mini" directly in NSIS, though I would like to see this feature. I believe someone made a patch for this a while ago. Just search the forum.