@Rick C "How does this statement interact with your comment to not use rundll32, since it's been deprecated? Will printui.dll be rewriten/replaced?"
Two different things entirely.
1. If you a developer (outside of Microsoft) and you are wondering if you should write your application to be an EXE or a DLL powered by rundll, use the EXE.
2. If you a user of a different program that is powered by rundll32, it is still acceptable for you to call rundll32 to power it.
Consequently it is fine for you to type rundll32 printui.dll into CMD.exe, and it is fine for you to invoke rundll32 printui from your EXE. But if you work for Contoso and they have written an awesome app in the form MyAweswomeApp.dll that is to be invoked rundll32.dll MyAwesomeApp.dll, they should change as soon as possible to deploying an EXE (MyAwesomeApp.EXE) instead.