| Project Compatibility was designed to speed up the process of creating compatibility print driver mappings.  The principles behind Project Compatibility are, simply put, to grab a list of MetaFrame XP servers, and then parse through their logs to find failed printer drivers and present those drivers to the administrator. From this core philosophy, Ive added a few other features and logic to account for every circumstance that I can think of. The following is the workflow and logic behind Project Compatibility. The first time you launch Project Compatibility, you will need to set the configuration options. You will be required to enter a NT 4.0 TSE, Windows 2000 and Windows Server 2003 printer driver database file. Project Compatibilitys logic will communicate with a MetaFrame XP with Feature Release 3 server through the MetaFrameCOM service (MFCOM) to enumerate the list of the MetaFrame XP servers in the farm and what platform (Windows 2000, Windows Server 2003 or Windows NT TSE) they are running on. This information is saved in memory and then written to an INI file for future use. Project Compatibility then loads as it would in future loads. Now that it knows what servers are in the farm, it will parse through their application event logs for failed auto-created printers (Event IDs 1006 for Windows 2000, 1003s for Windows NT 4.0 TSE and 1007 for Feature Release 3 boxes, both (Windows 2000 and Windows Server 2003). If it finds one, it will verify that it is not a duplicate failed driver on a particular platform then save it to a list with other failed drivers along with the date of the failed event and the OS platform. Once Project Compatibility has finished parsing all the MetaFrame XP Servers event logs, it will need to compare them against the following: If the failed driver was removed from the displayed list by the administrator, it will be prevented from being displayed in the list of failed drivers. This function is not specific to the OS platform of the failed driver. If the failed driver already has an IMA mapping and the mapping was made after the date of the failed driver, it will be prevented from being displayed in the list of failed drivers. This function is specific to the OS platform of the failed driver. If the failed driver already has an IMA mapping but the mapping was made before the date of the failed driver, it will be displayed in the list of failed driver with a specific icon stating that. This function is specific to the OS platform of the failed driver. Once Project Compatibility is finished with the list of the working drivers, it will compare each driver to the suggested driver database and present the failed driver and associated suggested drivers to the administrator in Project Compatibilitys graphical users interface (GUI) for the administrator to take action against. The following defines the minimum configurations and requirements for installing and operating Project Compatibility 3.0. Installed on at least one Citrix MetaFrame XP server with Feature Release 3 running Microsoft Windows 2000 and or Windows Server 2003. The MetaFrame XP Farm must be running in Native Mode. Microsoft .NET Framework 1.0 with SP2 must be installed on the MetaFrame XP Server that Project Compatibility will be installed on and run from. It does NOT need to be installed on any other server for Project Compatibility to do its job. Project Compatibility administrators need to have full administration access to the Management Console for MetaFrame XP and local administrator access to all the MetaFrame XP Servers to be monitored. If you do not have access to a server you will want to deselect that server. Internet access for use with the auto database update feature. (optional) Note: Project Compatibility will monitor and configure drivers that failed on Microsoft Windows Terminal Server 4.0 (TSE) server running MetaFrame XP but can not be installed to run from a TSE server. IMPORTANT! Project Compatibility 1.0, 1.1, 2.0 or 2.1 does not work on a MetaFrame XP with Feature Release 3 servers. Version 2.1 will monitor FR3 servers but can not be installed and run from one. Important: As of release time, I have logged a few issues with running Project Compatibility on a Microsoft Windows 2000 Server with Service Pack 4. I have not been able to track these isolated cases to anything related to this application. If you experience issues then please refer to http://support.citrix.com/kb and search Service Pack 4 for the latest support information. After complying with Project Compatibilitys system requirements, installation is straightforward. Note: I recommend installing Project Compatibility on the MetaFrame XP control server. A control server is a server where the administrators publish their applications. (i.e., Management Console for MetaFrame XP, printer driver replication and other tasks like that) It can be smaller box dedicated for administrative use or possibly a dedicated data collector, if the load is low enough. The following defines how to install Project Compatibility. 1. Click Start click Run type: CMD and click OK. At the system prompt type: change user /install and press enter. 2. Double click on PC3.0.MSI to launch the installer. 3. Click Next to continue with the install  4. Click the I Agree radio button to accept the license agreement and click Next to Continue.  5. Read the system requirements to verify you are in compliance and click Next to continue.  6. You are now prompted to select the application destination. Enter a custom folder or accept the default. Click to select the appropriate radio button to select who will use Project Compatibility and click Next. (I recommend you to select Everyone)  7. Click Next to start the installation.  8. Click Close to exit the installation.  9. Click Start click Run type: CMD and click OK. At the system prompt type: change user /execute and press enter. You have now successfully installed Project Compatibility and are ready to address those dreaded failed printers. The first time you run Project Compatibility, the installation program will enumerate all the MetaFrame XP servers in the farm. You have the option to select the MetaFrame XP servers you want to analyze and a printer driver mappings database file for each platform. The following walks you through the process of running Project Compatibility 3.0 for the first time. 1. The first time you launch Project Compatibility, you will be required to select the desired MetaFrame XP servers to me monitored and the location of the Printer Driver mappings database file for Microsoft Windows Server 2003, Windows 2000 and Windows NT 4.0 Terminal Server Edition (TSE) server. 2. During the installation of Project Compatibility the default database files are copied to the application directory. (By default \Program Files\DABCC.COM\PC\). 3. If you will be using a custom mapping database file then click the Browse button in the Printer Compatibility Database section to select the desired printer driver mappings database file.  4. Select the appropriate database file and click Open.  5. Repeat the above procedures for the other two platforms and click OK when finished.  6. You are now presented with Project Compatibilitys main console. The other three tabs are now accessible and fully functional. 7. Press the Start button to analyze the desired servers.  8. Click OK to proceed with analyzing MetaFrame XP servers. Do note this could take some time depending on the number of servers and size of their respective Event Logs.  9. You are now presented with all the failed auto-created printers in the MetaFrame XP farm. You are ready to manage those printers with printer driver mappings.  On the following pages I describe the features you have at your disposal with just a click of a mouse. Once you have configured Project Compatibility, you are presented with the following interface and turned loose. From the Failed Printer Driver Mapping tab you have the ability to perform the following actions: Select a failed printer driver and configure a suggested or custom printer driver mapping. Remove a driver from being displayed in the list of failed drivers and view the selected drivers configured mapping. Reload and or Start an analysis for failed auto-created printers in the current MetaFrame XP farm.  The Failed Drivers by MetaFrame XP Farm tree view not only displays a list of the failed drivers but represents each drivers status through a specific icon. It also displays an icon legend and a button to view a list of all the MetaFrame XP servers being monitored, just below the treeview. The following gives a bit more information of the meaning of each icon. |  | Represents a driver that appears to be failing to auto-create and does not currently have a compatibility mapping in the IMA data store. | |  | Represents a driver that has been mapped to a compatible driver through the current Project Compatibility session. | |  | Represents a driver that currently has a drive mapping in the IMA data store but the printer is still failing to auto-create. You will want to verify the mapping and or verify that all requirements for auto-creating printers are met. | Click to select a driver to configure a mapping for. Depending on the status of the last time Event Log analysis, you will have two different choices in the Controls section. Start Control  By pressing Start, Project Compatibility will start analyzing the Event Logs of the configured MetaFrame XP servers for failed auto-created printers. Do note that this process could take a long time to complete depending on number of MetaFrame XP servers and the size of their respective Event Logs. You will only see the Start option at load time and after the application settings have changed. Reload Control  By pressing Reload, Project Compatibility will start analyzing the Event Logs of the configured MetaFrame XP servers for failed auto-created printers. Do note that this process could take a long time to complete depending on number of MetaFrame XP servers and the size of their respective Event Logs. You can perform a Reload anytime during a Project Compatibility session. When you select a driver in the tree view or by default, the first driver in the list is displayed in the Failed Auto-Created Printers box. You have the ability to click the Back or Next button to navigate through the list of failed drivers. You are presented with the Operating System, platform, of the failed printer driver(s). This is very important to note, because the compatible server-side driver must be of the same platform. You can also click the Remove from List button to prevent the driver from being viewed in future sessions. This is useful for printer drivers that will never have a mapping. (e.g., fax printers and Adobe Acrobats printer driver)  Once you have selected a printer driver, Project Compatibility will compare it against the database of suggested mappings and then present the results to you in the Suggested Printer Driver box. The Select a printer driver to associate with the above failed driver dialog box consists of two sections. The first section, Suggested printer driver, contains of a list of suggested printers. When an administrator selects a failed printer driver, Project Compatibility compares it to the appropriate mappings database file and presents any known mappings in the listbox. Click the suggested driver radio button to enable the suggested driver list. Click the desired driver and click the Add button to create a mapping between the suggested printer driver and the failed driver to the MetaFrame XP farm.  The second section, Custom printer driver mapping, gives the administrator the ability to manually enter a customer driver or select a driver from a drop-down list of the platforms local printer drivers. Click the Custom printer driver mappings radio button. If you will be entering your own manual mapping then type in the printer driver name and click the Add Custom button. You can also click to drop down the combo box to reveal a list of all the server side printer drivers that were loaded during the installation of the pertinent operating system.  Note: You are not allowed to have multiple mappings for the same driver, so Project Compatibility will prompt you if you are trying to add another mapping for a printer driver. You will then have the ability to overwrite the previous mapping Last, but not least, the Configured Compatibility Printer driver dialog box displays the associated server-side printer driver mapping for the selected failed printer if one is configured.  To view and edit all of the configured printer drivers mappings in the MetaFrame farm, click the IMA Printer Driver Mappings tab. This allows you to view, edit and or delete all the printer drivers found in the IMA data. From time to time you may want to view or edit the printer driver mappings that currently exist in the MetaFrame data store. Project Compatibility has broken the mappings down into two sections: 1) printer driver mappings that were in the data store upon application load time and 2) printer driver mappings that were made during the current Project Compatibility session. You have the ability to delete and or edit any of the compatibility mappings. The following defines how to view, edit and delete printer driver mappings from the IMA data store. 1. Launch Project Compatibility and click the IMA Printer Driver Mappings tab. 2. The IMA Printer Driver Mappings section displays a list of all the printer drivers that were found in the data store upon load time. In the Session Printer Driver Mappings section is the printer driver mappings that were added during the current Project Compatibility session. To remove a driver mapping from the IMA data store all you need to do is select the printer driver mapping, from both sections, and click the Delete button.  3. If you want to edit an existing compatibility mapping then all you need to do is: Double click on the desired mapping you want to edit -or- Click to select the mapping you want to edit and click the Edit button Once you have selected the desired mapping you will be brought to the Edit Mapping window. Edit the mapping as desired and click OK when finished.  The Installed Printer Drivers tab allows you to view all the printer drivers installed throughout the MetaFrame XP farm and or per server along with the following features. View a printer drivers registry details. View if a printer driver is an OS native printer driver or a third party printer driver. Create a compatibility mapping to the server-side driver. Click the Installed Printer Drivers tab to view all the printer drivers installed in the MetaFrame XP farm. In the left hand treeview you will be presented with all the printer drivers and their OS platform. If you click on a printer driver you will be presented with a list of all the MetaFrame XP servers where the printer driver is installed on.  The first time, after a program start and or option change, you click to visit the Installed Printer Drivers tab, Project Compatibility will contact the IMA through the MFCOM to enumerate any printer drivers installed in the farm and will analyze the farms servers registry for driver details. Any time after, the settings will be retained unless the administrator clicks on the Reload button.  The first sub interface I will define is the one with a list of all the printer drivers in the farm. The following defines how to view all printer drivers installed on a particular MetaFrame XP server. 1. Click to select the Installed Printer Drivers tab Click on the desired printer drivers to enumerate a list of MetaFrame XP servers where the driver is installed on right click on the desired MetaFrame XP server to view a list of properties Click View Server Drivers.  2. Click OK to view a list of printer drivers on the desired server.  3. You are now presented with a list of printer drivers on the desired MetaFrame XP server. The screen has properties of its own and the printer drivers icon depicts if its a native and or third party driver.  The following defines how to view a printer drivers registry details. 1. Click to select the Installed Print Drivers tab Click on the desired printer drivers to enumerate a list of MetaFrame XP Servers where the driver is installed on right click on the desired MetaFrame XP Server to view a list of properties Click Driver Details.  2. On the left pane you are presented with the drivers details pulled from the printer drivers registry entry on that particular server. Click the Close button when finished to return to the all drivers list.  The following defines how to assign a client side compatibility mapping. 1. Click to select the Installed Print Drivers tab Click on the desired printer drivers to enumerate a list of MetaFrame XP Servers where the driver is installed on right click on the desired MetaFrame XP Server to view a list of properties Click Compatibility Driver Mapping.  2. Enter the client side printer driver name in the Client Driver text box and click OK to continue.  The other major sub interface of the Installed Printer Drivers tab lists all the printer drivers installed per server. This view also shows off if the printer driver is an OS native or 3rd party printer driver. The following defines how to view all printer drivers installed on a per server basis. 1. Click to drop down the Select the server you would like to view the installed printer drivers on Combo Box and click the MetaFrame XP server you would like to monitor.  2. You are now presented with all the installed printer drivers found on the selected MetaFrame XP server. Do note the icon next to the printer driver. It denotes the type of printer driver installed. Refer to the Icon Legend for more information.  The following defines how to view the registry settings of a printer driver. 1. Right click on the desired printer driver and click Driver Details.  2. On the left pane you are presented with the drivers details pulled from the printer drivers registry entry on that particular server. Click the Close button when finished to return to the servers printer drivers list.  The following defines how to create a printer driver mapping from the selected server side printer driver to a client side printer. 1. Right click on the desired printer driver and click Compatibility Driver Mapping.  2. Enter the client side printer driver name in the Client Driver text box and click OK to continue.  The UPD Settings tab was added to give you the ability to configure how the Universal Printer Driver will behave on a per server basis. Ive also added in the ability to configure how client-side auto-created printers will be auto-created and how the Universal Printer Driver (UPD) will function on a per farm basis.  To give you a bit of background on the Universal Printer Driver, the new UPD II - PCL5c driver is based on the HP Color LaserJet 4500 and allows up to 600 dpi while supporting color compared to the UPD I - PCL4 universal driver in Feature Release 2. UPD I is a native Windows HP LaserJet Series II driver, monochrome and 300 dpi. These driver settings are stored in the Registry of every MetaFrame XP server. Project Compatibility manipulates this registry key and its values to your desired settings. HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\UniversalPrintDrivers\Driver Possible values are: PCL4;PS;PCL5c. If you remove UPD 2 (PCL5c), the printer is mapped as UPD 1 (PCL4) and if you remove UPD 1 (PCL4), the printer is mapped as UPD 2 (PCL5c). The PS universal driver is intended for use with UNIX Clients, where Postscript is the default printer control language. Project Compatibility does not change this value. How to Reload the Universal Printer Driver Settings The first time, after a program start and or option change, you click to visit the UPD Settings tab, Project Compatibility will contact the IMA through the MFCOM to enumerate server configurations and it will analyze the farms servers registry for driver details. On futures loads the settings will be retained until the administrator clicks on the Reload button in which the entire process happens over.  How to Configure Universal Printer Driver Settings per Server In order to configure the Universal Printer Driver on a per server basis Project Compatibility edits the above mentioned registry key with the settings you configure on the UPD Settings tab. You may also have a similar configuration applied to all FR1 & FR2 and or FR3 servers. The following defines how to configure how the Universal Printer Driver is configured, per server. 1. Double click to select a MetaFrame XP server to configure.  2. Once you have selected a MetaFrame XP server you are ready to configure it. Click to check the UPD1 checkbox to enable the possibility of using the PCL4 driver if the UPD2 is not available. Click to check the UPD2 checkbox to enable the possibility of using the PCL5c driver if the client is using the ICA Win32 7.0 client. Click the Disable Universal Printer Driver radio button to disable the UPD driver from being auto-created on that particular server. Click to check the Apply to All FR1 and FR2 Servers or the Apply to All FR3 Servers to allow you to configure all the servers with the same settings. 3. Click the Save Settings button to apply the changes to the MetaFrame XP server. How to Configure Auto-Created Printer Driver Settings per Farm When client printers are auto-created, you can specify whether they use native printer drivers (which must be installed on the server) or the Universal Printer Driver feature by selecting from the following options:  Native Drivers Only: This option disables the Universal Printer Driver feature. All client printers are auto-created if the native drivers are installed on MetaFrame XP servers. Universal Driver Only: This option enables the Universal Printer Driver feature and auto-creates client printers with the Citrix Universal Driver on the server. Select this option if you want all client printing to use the Citrix Universal Printer Driver feature. Universal Driver Only if Native Driver Unavailable: This is the default option. It specifies that client printers are auto-created with the native driver for each printer, if it is available. If the driver is not available on the server, the client printer is auto-created with the Citrix Universal Driver. This is the option I recommend in order to guarantee a client can print when all else fails. Both Universal and Native Drivers: This option specifies that two versions of each client printer are auto-created: one with the Citrix Universal Driver and the other with the printers native driver (if it is installed on the server). Click the Save Settings button to apply the new setting to the IMA data store. |