That does sound a bit excessive. Remember that (unlike MSI-based installers) not every file needs to be associated with a component -- you only need to declare a component and link a file to it when there is a meaningful choice that the user can make whether to include or exclude an optional feature. Anything that is required for proper functionality can just be left without any component, and if a bunch of subcomponents are required for a particular component you can just link them all to the parent component without explicitly declaring them as a subcomponent.
Also, disk space is cheap, so it's often easier and simpler to unconditionally install features and then decide whether to enable them or not within the application settings, rather than forcing users to choose between things at install time (when they might not even know yet what the feature is and whether they want to use it or not).
An installer should not usually have more than about 10 or so components (maybe a few more if they're arranged into logical trees) because users will get decision paralysis.