Because that's like expecting Windows...
Funny you mention Windows, because that is kind of what it's like. If you're developing a Windows application you have to accept the possibility that -- for example -- the user might firewall your program (so making it add-supported won't necessarily work) and that there's not a damn thing you can do about it.
I should have certain hardware and permissions to the OS. If you feel you can't trust my application then don't install it.
You're one of those dumbass programmers who designs Windows applications that require Administrator access to run, aren't you?
It becomes a support nightmare and a functionality nightmare and a programming nightmare to try and code around every single user's specific desires as to what hardware/permissions I should access.
If accepting the inevitable reality that the user is going to decide what happens on his own device is a nightmare for you as a developer, then go find some other line of work. The world will be better off without your malware.