In my setup I used the Windows Crypto API to provide certificates: all computers are domain members and certificates are pushed via group policy. This reduced administrative efforts quite a bit!

For the GUI to support CSR generation, it will probably require SSL libraries to be present, as well as some templates, etc. Looks like a lot of work, yet quite a nice feature as a result! Probably that can be done in a separate app, even a simple batch script that invokes OpenSSL should be enough! You don't generate CSR that often after all, nothing fancy required. Hence the CSR generation step can even be included in the NSIS installer!