Application Isolation Environments
Not every application in the world is going to work with Citrix. There are tools in Presentation Server 4 though to make more of them work.

If the issue was that the application needed to have the IP address of the client as a username, and now the application is on Citrix and so everybody has the same IP address - that of the Presentation Server - then there is the new "Virtual IP" feature, where a range of internal addresses can be given out to each session of an application process.

If the issue is that the application runs in multi-user mode, but doesn't run on the same machine as some of the other applications on the Citrix server, the solution used to be to separate the application servers into "Load Managed Groups", or "silos", subsets of the farm devoted to one particular app or set of apps. In Presentation Server 4 Enterprise there is the Application Isolation Environment feature, which allows any application on a Presentation Server to have its own separate Windows and Windows\System directories, its own virtual part of the registry, and its own separate named objects, so that it won't conflict with anything else on the server.

If a second application needs to be installed on Citrix, but a first application is preventing it from being installed, then an isolation environment can be set up in the PSC, under the PSC node "isolation environments". Once there is an environment, virtual place is created for any number of applications to be installed into, as long as they all can work with each other. The default locations for the isolation environment can be found in the Farm properties, under "Isolation Settings"

In order to install an application into the newly created AIE environment, the Citrix command line utility "AIESETUP" is used. The syntax is AIESETUP "AIE name" path:\setup.exe. This needs to be run at a full command prompt, so that the "discovery" can be run after the application install is done

Finally, after installing something into an application isolation environment and letting it get discovered, the job is to publish the application.

Rather than browse for the exe the way a normal application is published, the "isolation settings" button can be checked, and the various isolation environments of the farm are listed; within each environment is a drop-down box listing the applications installed in that environment. This is the way to browse to publish an isolated application. The rest of the screens are the same as for an ordinary application environment.