*Disclaimer – I am not an AS400 guy. I just know this problem in publishing client access via XenApp published applications and this is one way to tackle it.*
If you have an AS400 and are wanting to grant access via Citrix XenApp as a published application, here’s a quick tip on setting up a universal workstation (.ws) file. I’m assuming you use some sort of individual session name on the 400 side so you can identity who is connecting.
When configuring the workstation file, select either “Use Computer Name” or “Use Windows User Name”, along with check marking the “Avoid Duplicate…” checkbox as indicated below. This will populate the WS file with a variable and pull the value from the session, and to avoid duplicates it will append a 1 or 2 to the end of the session name. You then just have to edit the .ws file and update the path to keyboard mappings file (I would map it in their H drive) that is generic to all users.
From there, just save the .ws file to a network share location and in XenApp call C:\Program Files\IBM\Client Access\Emulator\pcsws.exe and point it to the .ws on the network share.
And there you have it..a universal .ws file without the need to spit one out for every client, and published easily via XenApp.
UPDATE: If you have conflicts with the default key mappings, use THIS article to edit the default ICA to fix it. If you’re running StoreFront, the default ICA is under C:\inetpub\wwwroot\Citrix\StoreName\App_Data.