So basically for Microsoft in this day and age, the end user is not the customer? The end user is a commodity that Microsoft sells to other corporations who are the customers?
Gee, that sounds familiar. I left Microsoft for Linux in 1999 because of it. I have never looked back.
--"Windows is not the answer. Windows is the question. The answer is 'No'." As true now as it was then.
I've noticed several design suggestions in your code.