As far as I know it's C::B itself that registers the file-endings not a setup program.
You can try to (temporary) rename the folder the C::B exe is in (e.g. from CodeBlocks to CodeBlocks.tmp), and run C::B from explorer.
Now C::b should ask whether to associate it with some file-endings.
Chose yes (or whatever it's called exactly) and see if it helps.
Change the foldername back (after closing C::B) and run it again.
You should get the same question.
But if setting it explicitely from the "Settings"-dialog does not work, this might not work too.
Check for antivirus and other (programmers-)system breaking stuff, that might "protect" your registry from being changed.