I would go for a bootstrapper for your setup. Personally I successfully used
dotNetInstaller[
^] in the past.
The bootstrapper first checks and installs the prerequisited like your keyboard installation (whatever this is, I do not understand) and then your actual VB.NET application setup.
Cheers
Uwe