Altquark - Citrix Development


VIP Member
Below is a contribution from Jon Steel on Citrix Development. Thanks for this extensive explanation Jon!

If you follow these instructions closely you won't get into any issues.

First of all, make sure you install Visual C++ onto the Terminal Server- place it into an area that everyone can see (ie C:\Program Files\Microsoft Visual Studio\....)

Then do the following. Create a directory - d:\users.

Share the D:\USERS directory as "users" - give everyone in a group all permissions on the directory.

If you have SCSI drives that are relatively fast, you can compress this directory quite happily. You might be forced to compress this directory, since each user will likely use more than 2Gb of Drive Space for their Development Specifications...!

Now you need to ensure that all the user profiles on this machine are located in here correctly. If you are using roaming profiles or another such method, you probably don't need to perform any of these steps - check with your NT Administrator first !

This step is easily performed - create two administrator users (Admin1 and Admin2) - then go into the registry using REGEDIT and change the following :

\\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
Change ProfilesDirectory from "%SystemDrive%\Documents and Settings" TO "D:\USERS" (REG_SZ)

Blow away all of the user profiles on the machine (go into Control Panel/System - click on "User Profiles" and click on each one and delete them - THIS is where you need the two Admin ID's so that you can ensure nothing is pointing to the old "Documents and Settings" directory). Once this has completed, log in as a user and check to make sure that your profile is now set to "D:\USERS\{userID}". Delete the Admin account you needed to do this step.

Then create a "D:\USERS\STANDARD" directory and copy the standard B7 directories across :


ok - note that I haven't yet manually copied the B7 directory to the end user profile (STEELJ) yet. I want the system to automatically update the users B7 directory when I feel like it.

Create a Batch File named "OWDEV.BAT" - stick this in a common directory somewhere (I use "C:\STARTOW")

It should look like the following :

@echo off
net use x: /d >nul
net use x: \\srvowctx09%homepath% >nul
if exist x:\b7\system\bin32\oexplore.exe goto startow

@echo Copying standard OneWorld Development Client to your profile...
@echo Please be patient - this takes up to 20 minutes and only occurs
@echo on the first use.....
mkdir x:\b7

@echo Copying authorization files.....
xcopy d:\users\standard\b7\*.* x:\b7\*.* /s /e /d /h /y >nul

if exist "%HOMEDrive%%HOMEPath%\windows\jde.ini" del "%HOMEDrive%%HOMEPath%\windows\jde.ini"
copy c:\startow\jdedev.ini x:\windows\jde.ini >nul
@echo Starting Oneworld....

start x:\b7\system\bin32\oexplore.exe
In effect, the above batch file maps a drive (X:) to the users profile. It then checks to see if OneWorld exists in the users home directory (it looks for oexplore.exe) - and if not it copies the standard B7 directory to the users directory (note that this can take 20 minutes or so to complete)

If OneWorld exists, then it copies a standard JDE.INI file into the users profile (JDEDEV.INI) and starts oneworld before closing the .BAT file.

The standard JDE.INI "JDEDEV.INI" will have the following lines :



I then publish "OWDEV.BAT" as my citrix application.

To then have users run PY on the same machine in a generic directory - I have the following batch file set up :

if exist "%HOMEDrive%%HOMEPath%\windows\jde.ini" del "%HOMEDrive%%HOMEPath%\windows\jde.ini"
copy c:\startow\jdecrp.ini %HOMEDrive%%HOMEPath%\windows\jde.ini
start d:\b7\system\bin32\oexplore.exe

The JDECRP.INI will have the following lines in it :



Now I can install a full development package on the terminal server - copy it to d:\users\standard, and go through the users directories (after ensuring that they have checked everything in), blow away the d:\users\{userid}\b7\system\bin32\oexplore.exe and they'll be automatically updated !!!!!!!!!! Maintenance couldn't be simpler.

With the above setup, I can also build packages and perform package deployments with ease. In fact, I can have 40-50 developers all sitting on one Terminal Server while I sit there and build and deploy packages with ease.

Remember, of course, that developers WONT see update packages - and you should NOT try to push the update packages down to them. This is the only drawback, and requires the developers to manually "fetch" the specifications they need.

Hope that helps ! Is this good enough for Tips and Tricks ?

Jon Steel
OneWorld Technical Specialist
erpSOURCING LLC - member of The iConsortium
[email protected]
24/7 Response Line - (904) 382 5701