Answer:
Use Xojo or AppleScript to launch the KeyboardViewerServer.app.
AppleScript code:
set theApplication to "KeyboardViewerServer"
set thePath to "/System/Library/Components/KeyboardViewer.component/Contents/SharedSupport/KeyboardViewerServer.app"
set POSIXPath to ((POSIX file thePath) as string)
tell application "System Events" to set isRunning to 0 < (count (application processes whose name is theApplication))
if isRunning then tell application POSIXPath to quit
delay 0.15
ignoring application responses
tell application POSIXPath to run
end ignoring