Windows is not really built with this type of thing in mind, especially for the server side of things. It's a highly distributed system where application developers do not communicate with each other. Software packages do not have a uniform installation mechanism (one of several methods are used) so constructing a universal installation system would be difficult at best. Additionally, most EULAs explicitly prohibit redistribution of software, so a centralized DB is often impossible without violating copyright.
That said:
- Microsoft Update. This will check for most MS products.
- Secunia PSI or CSI. This software will scan your computer for software which is insecure or end-of-lifed. It's not comprehensive, and it doesn't install automatically (some things it will, but it's a little flakey IMX) but it's not bad.
Ultimately, your best bet is to use Microsoft Update to check for OS security issues and patches (second Tuesday of every month is patch day), the hardware vendor websites for updated drivers and firmware, and your application vendor support websites for the software you're running.