I'm going to give you a high level answer since everyone else is already tackling the "show one or two messages" part.
Don't be one of those apps
Instead, here are some counterquestions to possibly affect your design decisions:
- What percentage of users is going to encounter problems if they don't reboot? Is it worth nagging 100% of your users if <5% has issues?
- Is your application architecture able to support delaying the installation of the features depending on networking components until the user chooses to reboot?
- Could you redesign your application so that users who will be using the networking features can install a specific networking-supported version, but everyone else installs one that doesn't require rebooting? Be as up front as possible; you could tell users this as early as the app's download page.
Use psychology to make the process less painful
If you must show messages, consider some behavioural psychology principles. If you're going to nag me, at least do it with a smile - that might soften the blow a bit. I remember this app that measures the time it takes you to read the terms of service and click "accept", and if you do it really quickly (because you didn't read them), it pops up an alert saying "Congratulions! You read the terms in 3 seconds! ...or did you?", which brings a sense of humour to an otherwise annoying step in a process.
Here are some options you could consider:
- Offer the user something in return for rebooting. Seducing the user can be a quick & dirty technique. "We know it's a hassle to reboot your computer just to install your app, but after you come back, we'll have a surprise for you! Do you like free t-shirts?"
- Invoke status and social proof. "93% of users reboot their computer immediately after installing for a fresh, clean experience. Do you like being fresh and clean?" ;)
- Reframe the situation. "Did you know that rebooting your computer often helps prevent system degradation? Why not do it now while you're installing our software? Then you won't have to do it later! All thanks to us."
- Combine various principles. "Only 7% of users choose not to reboot their computer now. Don't be one of them! If you reboot now, we'll give you a free t-shirt! (One-time offer.)"
- Achievements. I went there. "You've gained the Rebooted During Installation achievement!"
You can kind of go on like this, but my point is that you could brainstorm with the team to find whether there are opportunities here beyond being yet another boring app that requires me to reboot in order to complete installation. Instead, choose to be a memorable experience. Applying any of the above would make you a million times more interesting than your competitors.
Don't look at it as a messaging problem. Look at it as a brand opportunity!