Summary
The PN.ini file contains Program Neighborhood settings that define application sets (server farms). This file can be preconfigured for users to restrict access.
It contains two major sections: Program Neighborhood and Application Set. The Program Neighborhood section enumerates all application sets configured on the client and the random file name generated to store user credentials. Every application set that is configured has a section dedicated to it that specifies all the parameters specific to it. Thus, an entry for the server farm Barra has a section [Barra] dedicated to it.
Sample PN.INI
;************************************************* *********************
;**
;** PN.INI - Program Neighborhood Configuration File.
;**
;** This file contains Program Neighborhood settings. An administrator
;** can configure this file by runing pn.exe and replace pn.src on the
;** install media (disk 2) with this file.
;**
;************************************************* *********************
[Program Neighborhood]
BARRA Farm=uf1h1040
INDIA Farm=s91few50
Users credentials are saved by encrypting them with a proprietary algorithm. They are then stored in their profile along with their PN.ini and Appsrv.ini files. This directory is \Application Data\ICAClient. Because user credentials are a property of an application set, credentials are stored for each application set independently. A random filename associated with each farm is generated during application set discovery/creation and is guaranteed to be unique. Two files exist in the profile for each application set; in the example above, the Barra Farm application set stores information in these two files:
uf1h1040.idx - An index to the .vl file
uf1h1040.vl - A database of applications in the application set
The user name and domain is stored in the application set section of the PN.ini. The password is encrypted and stored within the application information in the .vl file.
[BARRA Farm]
TransportDriver=TCP/IP
Transport Protocol to be used to connect to this farm (in this instance, TCP/IP).
DesiredHRES=4294967295
DesiredVRES=4294967295
These settings determine the window size. Window Size specifies the window size in which a published application runs.
NOTE: DesiredHRES and DesiredVRES are used only when DesiredWinType is set to custom. Older versions of the Win32 client required the fields to be set to 4294967295 when the DesiredWinType was Seamless. This is no longer the case.
PNName=BARRA Farm
The name used for Program Neighborhood to identify this farm.
ConnectType=1
Connect Type of 1 = LAN, Connect Type of 2 = WAN, Connect Type of 3 = PPP, and Connect Type of 4 = Dial-Up.
MaximumCompression=Off
Data compression reduces the amount of data that needs to be transferred but requires additional processor resources to compress and decompress the data. If your connection is bandwidth-limited, enabling data compression increases performance.
NOTE: This value is also used in application sets.
UseAlternateAddress=0
Defines whether or not to use the Alternate Address for ICA Connectivity across a firewall or a router. This parameter is of great use in performing Network Address Translation (NAT).
NoAutoDetectProtocol=Off
Sets Auto-Detect of Network Protocol to On or Off. When this value is set to Off, Program Neighborhood automatically detects protocol to use during launch and refresh of an application set. When it is turned On, it uses specified protocol.
PNProtocolMask=7
This value denotes the protocols Program Neighborhood last detected for this application set. This value is a cumulative value of all protocols detected. The individual protocol values are: TCP=1, IPX=2, SPX=4, NetBios=8. Thus a Protocol Mask of 7 denotes that TCP, IPX, and SPX were last detected by Program Neighborhood.
Compress=On
This value determines whether or not to compress ICA. This setting is set to On if the box for Use data compression is checked in the Default Options tab for the properties of the Application Set.
PersistentCacheEnabled=Off
This setting is Off if the box for Use disk cache for bitmaps is unchecked and the setting is On when the box is checked. Check this option to store commonly-used graphical objects such as bitmaps in a local cache on the clients hard disk. If your connection is bandwidth-limited, enabling caching increases performance. Disable caching to save disk space if your client is on a high-speed LAN. Disk caching is enabled by default for Dial-in connections.
MouseTimer=0
KeyboardTimer=0
Queue mouse movements and keystrokes. Queuing causes the client to send mouse and keyboard updates less frequently to the Citrix server. Check this option in the user interface to reduce the number of network packets sent from the ICA Client to the Citrix server. Leaving this option unchecked makes the session more responsive to keyboard and mouse movements. Checking this option improves performance if you dial in to RAS and then use a network to connect. The value is in milliseconds.
AudioBandwidthLimit=-1
This sets the audio bandwidth limit or audio quality for the connection. 0 is high, 1 is medium, and 2 is low. Anything else is invalid, though sometimes (but not always) it is set to "-1" if audio is off.
NoDeskInt=Off
Desktop integration is disabled when this value is set to Off. Desktop integration involves adding icons to the desktop and Start menu. This does not affect icons removed from Program Neighborhood by the user.
PNCacheRefresh=On
When this value is set to On, the application set is automatically refreshed the next time it is opened.
DefaultVideoType=0
Reserved for future use.
UseDefaultSound=On
This parameter sets use of server default sound to On or Off.
DefaultSoundType=1
Defines current level of sound. Currently, none=0 and basic=1 are defined.
ClientAudio=Off
This is the default Client Audio Setting.
UseDefaultEncryption=On
This parameter sets use of server default encryption to On or Off.
EncryptionLevelSession=1
Selects the level of encryption for the ICA connection. The various levels of encryption are:
Basic =1
RC5_LOGIN=2
RC5_40=3
RC5_56=4
RC5_128=5
UseDefaultWinColor=On
If this setting is On, Program Neighborhood uses color defined by the administrator. Otherwise, it uses color defined by the user.
DesiredColor=2
Window Colors specifies the number of colors displayed. Desired Color is 1 for 16 color and 2 for 256 color.
UseDefaultWinSize=Off
This parameter sets use of server default window size to On or Off.
DesiredWinType=8
Remembers the default desired window type for Custom Connections:
1=640x480
2=800x600
3=1024x768
4=1280x1024
5=Custom
6=Percent
7=Full Screen
8=Seamless
NOTE: 0=None. The connection inherits the default setting from the client.
TWIMode=On
Remembers if seamless is On or Off for Custom connections.
NOTE: This value is also used in application sets.
SavePNPassword=Off
This parameter sets saving the Program Neighborhood password for the server farm to On or Off. If this setting is set to On, the actual password is saved in dynamically created .vl files that are stored in the following path: \Application Data\ICAClient. The size of the .vl file is zero bytes if the Save Password box is left unchecked.
TcpBrowserAddress=10.10.10.10
This parameter is used for server location. Server location provides a method for a user at a network-connected Citrix ICA Client to view a list of all Citrix servers on the network that are configured for that network type (IPX/SPX, TCP/IP, or NetBIOS) and a list of all published applications. Server location is a five-step process:
1. If a Citrix server is specified in the Address List box for the network protocol, go to Step 2. If (Auto-Locate) is specified
in the Address List box for the network type, the ICA Client broadcasts a Get Nearest Citrix server packet. The
address of the first Citrix server to respond is then used in the next step.
2. The ICA Client sends a request for the address of the master browser to the specified Citrix server address.
3. The specified Citrix server returns the address of the master browser.
4. The ICA Client sends a request for the server and published application lists to the master browser.
5. The master browser responds with a list of all Citrix servers on the network that have connections configured for
that network type (IPX, TCP/IP, or NetBIOS) and a list of all published applications.
If you have a network configuration using routers or gateways, specify the address of a Citrix server. This is due to broadcast packet filtering in the router or gateway. You can designate a particular Citrix server to eliminate broadcasts on your network.
NOTE: There may also be TcpBrowserAddress2 through TcpBrowserAddress15. The first five are used in the primary group, the second five for the first backup group (Backup 1), and the third five for the second backup (Backup2).
Server Group
Use the Server Group and Address List fields to create lists of specific servers that you want to designate as primary and backup servers for connecting to application sets. Backup server groups provide business recovery for your client in the event that you cannot contact any servers in your primary group.
You can define up to three groups of Citrix servers to which you want to connect: a primary and two backups. Each group can contain from one to five servers. When you specify a server group for your client, the client attempts to contact all the servers within that group simultaneously (broadcasting) and the first server to respond is the one to which you connect.
Use this field to designate whether the servers entered in the Address List field belong to your Primary, first backup
(Backup 1), or second backup (Backup 2) group.
Username=joesmith
Domain=mis
User credentials for this application set. These entries are present only if the user credentials are supplied. They do not exist the user credentials are left blank.
NOTE: The sequence of entries (in BOLD) in the PN.ini has been left intact in the section above.
Associating Appsrv.ini Entries with the User Interface
Screen 1: Barra Farm\Properties\Connection Tab:
ConnectType=1
NoAutoDetectProtocol=Off
TransportDriver=TCP/IP
TcpBrowserAddress=10.10.10.10
UseAlternateAddress=0
Screen 2: Barra Farm\Properties\Default Options Tab:
MaximumCompression=Off
PersistentCacheEnabled=Off
MouseTimer=0
KeyboardTimer=0
NoDeskInt=Off
UseDefaultSound=On
DefaultSoundType=1
ClientAudio=Off
AudioBandwidthLimit=-1
UseDefaultEncryption=On
EncryptionLevelSession=1
UseDefaultWinColor=On
DesiredColor=2
UseDefaultWinSize=Off
DesiredWinType=8
TWIMode=On
Screen 3: Barra Farm\Properties\Login Information Tab:
Username=joesmith
Domain=mis
SavePNPassword=Off
Source CTX145271 - PN.ini Parameters Deciphered