The PPP Suite is broken into two main portions; Admin Tools used by an administrator to migrate printers,
move printers, define new printers, etc, and the Client application that runs on all end-user machines and
peforms whatever changes may be needed as a result.
Admin Tools - PPPAdmin.exe
These allow you to configure the various applications in the PPP Suite. To use the administrative tools, you need read/write access to the directory you are running them from, local admin rights to the computer
running them, and often network admin rights for many of the capabilities of the tools.
Note: The PPPAdmin tools are not intended for multi-user access. Multiple people making changes at the
same time will generally cause each other's changes to be lost, giving preference to the very last person
who made a change. Even if the changes are in different areas or applications, many datafiles are related
to each other and are read and wrote as a single unit. Excessive use by multiple people at once may cause
datafiles to become corrupt entirely.
End-user application - PPPClient.exe
This application is run by every user on the network and is responsible for implementing the
configurations made in the admin tools. There are many ways to configure this application to run and they
are described in the "Client installation" section. It can be setup to run once and exit when a user logs in, or
to stay running indefinately to monitor for changes. In some cases the Client may need more rights than the logged in user has, and in these situations, there are several techniques available to setup the Client
with appropriate access. See the "Client Installation" section for more information.
Which application do I want to use?
Novell Users
I have Novell printers (Queue, NDPS, iPrint) that do not have the correct settings when they get installed, and I want to configure them automatically - PPP Profiler
I need to configure settings on a printer but preserve already existing settings that are different on each end user machine (such as a user identification number that the printer requires for tracking purposes) - PPP Profiler
I am currently using Novell printers, but we are moving to windows print servers -- PPP Migrator
I am currently using Novell printers, but would like to start using Direct TCP/IP printers instead - PPP Migrator (and PPP Installer. See PPP Migrator's guidep for more information)
Active Directory Users (or Windows Networking only)
I have Direct TCP/IP printers installed on end-user machines but want to consolidate them all onto one or more print servers - PPP Mover (using special gathering options. See PPP Mover's guide for more information)
I have windows print servers but wish to move to Direct TCP/IP printers while still managing them centrally. - PPP Installer
I am replacing an existing print server with a new similar one - PPP Mover
I am replacing an existing print server with an incompatible server (such as 32bit to 64bit) - PPP Mover
I want to reorganize printers on existing servers, and/or rename printers on the same server and automatically map end-users to the new names/locations - PPP Mover
I want to push printers, and default settings profiles to end-user machines - PPP Installer
I want users to be able to install printers themselves from a searchable list (including Direct TCP/IP printers) with drivers and settings - PPP Installer
I have printers that do not have drivers compatible with my print server and all the end-users connecting to it and need to specify specific drivers for different operating systems (for example, a new 64bit server may not have drivers available for an older printer, or the 64bit driver may not be compatible with the 32bit driver, etc) - PPP Installer
I do not have Active Directory, but I wish to push printers out to users based on IP address, computer name, etc - PPP Installer
Quickstart
Download the latest version of the PPP Suite from
http://www.printerpropertiespro.com/downloads/PPP.exe
The archive can extracted to any path you wish. It can be moved at a later time, if needed, simply by
copying the files.
Start the program "PPPAdmin.exe"
Choose the component you are interested in, and start making configurations
Once you have tried some sample configurations, you can do a quick test of the client by simply executing
PPPClient.exe directly. Since some features of the Client require local administrative rights, if UAC is
enabled on your system, you may want to use "Run as Administrator" just to ensure desired behavior during
your tests.
Installation Guide
Choosing where to put the PPP Suite's files
The PPP Suite does not require any setup. Simply put the files in a location accessible
to all users. A few techniques are described below.
File Share
The most common technique is to use a single basic file share where everyone has read access, and
administrators have read/write access. This can be on a clustered resource, or any network device that is
compatible with Windows file sharing.
The easiest arrangement is a resource that can be accessed by any end-user using the same UNC address
(\\server\share) or mapped drive letter (t:\), but it is still possible even if the resource can't be
universally referenced by end-users.
Note: If you intend to run the client as a service, you must give read rights to "Everyone", or to the
Active Directory group called "Domain Computers" and the Built-in user "Network service". It is also
difficult to ensure drive mappings for a service so only UNC style addresses should be used.
i) Using a private working/testing area
This common variation uses two file shares. The first file share is an admin only file share. All use of
the administrative tools, and modifications to configurations occur from this share (it can even be a
local directory on a specific computer that isn't shared at all). This provides a working area, where an
admin can make changes to configurations and test them out before 'publishing' the changes to the file
share that end-users use. There is a built-in tool on the [Global] tab of "Client Settings" found in any
of the administrative tools labelled "Distribute Client". This can be used to specify location(s) you
wish to copy all the information needed by clients to, and to initiate the update. You may also use any
sort of file copying or replication techniques to simply copy the PPP directory and all sub directories to
the 'published' share that end-users use.
ii) Multiple file servers
This technique can be useful when you have several regional file servers that will host PPP Client for
end-users in their area. This allows you to use one location as your master location where you
make changes using the admin tools, do any testing, etc, and then 'publish' the settings to all your
regional file servers. There is a built-in tool on the [Global] tab of "Client Settings" found in any of
the administrative tools labelled "Distribute Client". This can be used to specify location(s) you wish
to copy all the information needed by clients to, and to initiate the update to the servers. You may also
use any sort of file copying or replication techniques to simply copy the PPP directory and all sub
directories to the 'published' shares that end-users use.
Note: When using multiple file servers, if end-users cannot all refer to their server by the same drive
letter, or UNC name, you may require additional work when setting up the PPP Client to run on end-user
machines, since different workstations will need different settings in order to point to the correct
server. Also, if the client will be setup to run as a service, drive mappings are generally not
available, so UNC names would be needed.
HTTP Server
This feature allows you to host the datafiles on an internal or external HTTP Server. If you do not
already have an HTTP server available, you will need to set one up which is outside the scope of this
document. The PPP Suite does not require any special configurations or settings and all common HTTP
servers are currently supported (as long as you can access them using FTP to update the PPP data files
being hosted).
To set this up, you will need a local copy of the application where you run the administrative tools from,
for configuring/changing settings to the various applications. Once you have completed your changes, you
publish the settings using the built-in tool on the [Global] tab of "Client Settings" found in any of the
administrative tools labelled "Distribute Client". You simply need to setup a target location specifying
the ftp server such as "FTP://server.com/path/". You will be prompted for a username and password to
connect with. The username and password are stored in a private location for the current user, on that
workstation only (in an encrypted format). If you attempt to publish to the server at a later time from
another machine, or user account, you will be prompted for the login information. You can not simply copy
files up to the server using other techniques. The files put on the server are compressed and have
special header information added for accuracy and efficiency.
Note: Some FTP servers do not support accurate file modification dates. As a result, you may see files
created in your local directory ending in ".ftp". These are special flag files that help the software
know which files are up to date on the server and which are not. If you delete the local files, the
software will assume files are out of date and update the server (even if it didn't need to).
In order for end-users to run the client, they will need PPPClient.exe in a local directory, or on a
fileserver that can be executed specifying the HTTP address as a commandline parameter such as
\\myserver\myshare\PPPClient.exe "workingdirectory=http://www.ourhttpserver.com/ppp/"
Specifying an http address for a working directory automatically implies the commandline parameter
"WorkOffline". For more information, see the command-line options section.
Coming soon... Full online solution for end-users to manually/automatically have printers installed and configured from
browsable web-pages. Contact Printer Properties Pro for more information.
Does the PPP Client need local administrative rights?
Below is a short list of common activities in the
various applications that can help you determine if the Client needs admin rights. If it does, and your end-users do not have sufficient rights, there are several techniques for installation that can help.
PPP Profiler: (Novell)
Configuring per-user iPrint printers does not require local admin rights
All other printer types require local admin rights for full functionality
PPP Migrator: (Novell to Windows)
Migrating Novell printers to AD per-user printers does not require administrative rights.
Deleting anything except per-user iPrint printers after the migration does require administrative rights.
Migrating captured printer ports does not require administrative rights.
Migrating to Direct TCP/IP printers requires administrative rights.
Migrating to per-workstation AD printers requires administrative rights.
PPP Mover: (Windows to Windows)
Moving any printer to AD per-user printer connections does not require administrative rights.
Moving any printer to a per-workstation printer connection requires administrative rights.
Deleting a printer after a move requires administrative rights if its a workstation printer (locally
installed printer with a network printer for the port, or an IP address for the port)
Deleting a printer after a move requires administrative rights if its a per-workstation printer
connection (a command that causes windows to create a per-user printer connection for every user that logs
in)
PPP Installer: (Push printers to end-users)
Pushing a per-user printer connections do not require administrative rights
Pushing direct TCP/IP printers requires administrative rights.
Deleting per-workstation printers, or direct TCP/IP printers requires administrative rights.
Client Installation/Launching the Client
A few simple techniques are described below. There are many possibilities and if you need assistance we would be happy to find a technique that works for you.
Launching from an Active Directory user logon-script
This is a common technique, but has become much more difficult with the introduction of
UAC in windows Vista and up. However, if all end-user are going to be local administrators, you are are
not using UAC, or the features you are using do not require local adminsitrator rights, then this is an
easy option.
To do this, create an Active Directory "Group Policy Object", edit the policy and add a "Logon" script under "User Configuration" -> "Policies" -> "Windows Settings" -> "Scripts". Create a batch file to use for the script (see examples in the
<PPP Suite directory>\tools\scripts\ directory), link the group policy to a computer, user, container, or domain, etc, and then
right-click on the linked policy and select "Enforced". You may wish to apply filters to the policy or to the batch file, to prevent the script from running on special computers like domain controllers, and print servers, etc. With default settings though, the Client wouldn't interfere with any operations on these systems.
This technique will run the client in the security context of the user logging in. If the Client requires local admin rights, and the user logging in does not have local admin rights, this may cause some functionality of the Client to be lost.
Launching from an Active Directory computer startup-script (AD Group Policy)
This technique is a very simple way to setup the client to run with local admin rights. The Client runs on a hidden desktop as the system user (much like a service) and uses a
seperate executable to provide an interface to the end-user when needed. This seperate executable runs in
the context of the user, reducing security risks of users interacting with applications running under the
system account.
To do this, create an Active Directory "Group Policy Object", edit the policy and add a "Startup" script under "Computer Configuration" -> "Policies" -> "Windows Settings" -> "Scripts". Create a batch file to use for the script (see examples in the
<PPP Suite directory>\tools\scripts\ directory), link the group policy to a computer, user, container, or domain, etc, and then right-click on the linked policy and select "Enforced". You may wish to apply filters to the policy or to the batch file, to prevent the script from running on special computers like domain controllers, and print servers, etc. With default settings though, the Client wouldn't interfere with any operations on these systems.
Everytime a computer starts up, PPPClient will be run (even before anyone logs in). The
client will continue running (even if users log in and out) until the computer is shutdown. If for any
reason PPPClient is closed or terminated (including commandline options that can close the client after
certain intervals), PPPClient could not be started again without restarting the computer.
Running as a service
This technique sets the Client to be launched by a service on the end-user's machine. This is very
similar to using a computer startup script to launch the client, but doesn't require Active Directory, and
allows the Client to be restarted without restarting the system. In this mode you can also just launch PPPClient.exe as a regular user, and it will detect the service and have the service launch the Client instead. This allows a restricted user to indirectly start the Client with elevated rights.
For more information see the readme.txt file in <PPP Suite directory>\Tools\PPPClientLauncher\.
Updating the application
When new updates are available the Admin tool will automatically let you know when you start it (or if you have disabled the notices, you can manually check for updates using "Check For Updates..." in the "Help" menu).
When you update through the Admin tools, a backup will automatically be made for the key datafiles and binaries in the event of any problem.
If you experience any issues with the automated updates, or prefer to update software manually, you can always download the newest version of the PPP Suite from http://www.printerpropertiespro.com/downloads/PPP.exe. This is a self extracting archive that you can simply overwrite your existing files with. We always recommend backing up first.
Several different Client installation techniques are possible, some involve copying binaries to end-user machines and running them from there using a 'WorkingDirectory="path"' parameter to point the end-users to the datafiles. When updating the binaries in the "WorkingDirectory", end-user machines will automatically obtain new versions of the binaries and use them. This makes the update process significantly easier in these instances.
Printer Installer
Starting Printer Installer
Printer Installer is included in the default download of the PPP suite. The download comes with a default demo license for 3 printers. If you have a license for Printer Installer simply copy the license into the same directory where you extract PPP and it will be found by the application.
After downloading and extracting PPP, run PPPAdmin.exe to start Printer Installer. Select Printer Installer from the following menu.
The Printer Installer application will open, showing you three different tree browsing options; Active Directory, IP Address Ranges, and Direct IP Printers.
Quick Steps to push an Active Directory printer to a user by group membership
1.
Install and start Printer Installer.
2.
Click the + sign in front of "Entire Active Directory" and browse to the printer that you want to push out.
3.
Select the "Associations" tab. Use one of the following buttons at the bottom of the screen, Add AD Object, Add AD Container, Add IP Range, to add the test group to this printer, then click apply.
4.
Now run the PPPClient.exe on an end users workstation and the printer will be installed if the user is a member of the test group.
Quick Steps to push a Direct IP Printer to a user by IP Address Range
1.
Install and start Printer Installer.
2.
Right click on the "IP Address Ranges" node, and select "New IP Address Range". Fill in an ip address range that includes your test users ip address.
3.
Right click on the "Direct IP Printers" node and select "New Direct IP Printer". Fill in the name and IP address of the printer then select the Drivers tab and select the appropriate driver*** for the associated operating systems. Then select Associations tab and click the "Add IP Range" button at the bottom of the screen. Select the appropriate IP Address Range object and click apply.
4.
Now run the PPPClient.exe on an end users workstation and the printer will be installed if the user is a member of the test group.
***
If the appropriate driver is not available to select, click on the "Manage Driver Repository" button and add the desired driver to the driver repository. It will then be available for selection in the Driver tab.
Menu Options
View Menu
•
Set Default Context
By selecting this option when on an Active directory container the program will open to this location in the browser tree from that point on.
•
Refresh Active Directory Printers
Used to refresh the Active Directory printer listing, particularly useful after new printer have been published to AD.
PPPClient_Options - Settings
Global Tab
•
Show Client Window on Workstations
Shows the log window to the end-user when running PPPClient. This is used mainly for troubleshooting.
•
Use Short Printer Names When Possible
This setting is for Migrator / Mover / Converter Only. If checked the printers will be installed on the end user machine in "short" format instead of the full server name.
With it checked: printer on server
Without it checked: printer on server.subdomain.domain.com
•
Start-up Delay
Time that PPPClient waits after being started before it begins to configure printers and make other changes.
•
Wait Time After Printer Changes
When a new printer is installed, PPPClient will notice the change and run again to configure the new printer. Adjust this time as necessary to allow the printer to finish installing completely before PPPClient attempts to make changes.
•
Check for Changes
PPPClient will check for changes to the configuration files and will apply the new changes. For example: If you have the it set to 10 minutes and the change "use short printer names when possible" setting, PPPClient will know the change has been made in 10 minutes and start using short names.
* The default of "0" means the PPPClient will run at login and exit.
•
Distribute PPPClient Package
Use this tool to send PPPClient and all necessary files to remote locations so they can run the client from a local server.
Installer Tab
•
Pause Clients from installing/removing Printers at this time
Makes the client stop installing / removing printers associated to the Printer Installer program. This turns off the Printer Installer portion of the PPPClient.exe
•
All Clients Refresh AD information when checking for change to configuration files.
By default PPPClient.exe will check the configuration files of Printer Installer every 10 minutes. So if you as the admin created a new association to a printer it would propogate to the end users within 10 minutes. This causes the PPPClient.exe to request a list of the computer and user group memberships from AD every 10 minutes causing some traffic on the network. You can disable this feature or increase the check time in the global tab.
Profiler, Mover, Migrator, Converter, Tabs - See associated product user guide for explanation of option in these tabs.
Symbol Legend
Green Check - Printer is configured with an association and is using a license
Parameters
 
Command Line Parameters for PPPClient
Description: All command line parameters for PPPClient are preceded by a single space on the command line, and do not use a "/" or other
delimiter. If a parameter value includes spaces, the entire value should be enclosed in double
quotes. Unless specified, multiple parameters can be used simultaneously, separated by a single
space. An example that meets all these requirements is
This option tells the installer to check and see if it is running on a laptop computer. If so, it should not install any printers based on the laptop's IP Address. This is most commonly used when a computer's IP address is being used to decide which printers should be installed on it, and where laptops move around alot. (this option prevents laptops from getting printers installed everywhere they go)
InterfaceOnly
This option causes the installer client to skip any automated installation instructions setup by the administrator, and only provide the system tray application for manually installing printers as requested by the user
AutoOpenSysTray
This option causes the system tray application to automatically open as soon as the client has finished initializing.
Global Client Parameters
U=user@example.yourdomain.com
P=Password
Use the u= and p= to specify the domain user that you want PPPClient.exe to use
when Elevated privileges are required. You may use a login account local
to the end-user's machine, but this account would need to be present on every
machine the client is running on.
Workoffline
This option gives the client the ability to continue functioning without interruption when the remote location the client is
installed on is no longer available. It does this by caching all data files as they are accessed from the remote location to a local temp directory. A client can only access files offline, that it has previously accessed while the remote location was available.
Install
This option is used when running the client from a network drive or other remote location. It causes essential client files to be installed locally on end-user's machines and sets up registry keys to run the local copy of the client automatically whenever a user log in. The client will still run as if its directly from the remote location (including any changes to application versions, datafiles, etc). It will continue to function if the remote
location is unavailable at any point in time, and will resume network operation as soon as its online again. You can continue to run the client from the network location with the install option without any negative side effects. (this allows you to keep it in a login script so that new computers will get the client installed automatically).
If administrative rights are not available when the command is executed, it
will only be installed for the current user.
Uninstall
This uninstalls any registry entries made by the Install option, and then immediately terminates.
Autoclose=x
This specifies how long (in minutes) the client should run for, before automatically closing itself.
Delay=x
This option instructs the client to sit idle for the specified number of seconds when starting up before attempting to process anything. This is generally unneeded, but can sometimes be required if another application interferes during login and causes conflicts, or
if the computer has a particularily slow start up.
HideOnInvalidPath
Causes the PPPClient.exe to remain hidden even if it is unable to connect to the configuration file to receive instruction to run open or hidden. The downside to using this option is you don't know the
PPPClient.exe is not able to find the config file in the <ppp_install_dir>/mem folder. The good side of it is users will never see the
PPPClient log window. Usually this parameter is used with the WorkingDirectory parameter so that if the server is down that is holding the
PPP configuration database the PPPClient.exe will remain running silent (although doing no work) until the next time the user logs in and the server is back up.
LogAsAdmin
This instructs the advanced logging options to be performed
as the user specified on the command line, as opposed to the user running PPP
Client. (Advanced logging can be enabled on the [Global] tab of the
"Client Settings" found in any of the administrator applications). This
is useful if you wish to limit write access to the network folder these logs
are in to administrative accounts.
MinimizeClientWindow
This option allows you to override the "Show Client Window" option on the [Global] tab of the "Client Settings" in any of the administrator applications. This will always hide
the PPP Client on startup.
NoMenu
This will allow you to run a specific PPP Administrative module without the module loading the main menu first.
NoWatcher
This tells the client to close immediately after completing initial configuration.
This is used when you don't want PPPClient to continue running on the client machine, watching for printer installs.
ProfilerHelper
This tells the client to use an alternate method for
detecting changes to user printer connections. This is mostly provided for
backwards compatibility, but can also be useful on some machines where the
operating system is not correctly signaling change events.
Regedit
This allows you to specify an alternate path to the windows application "Regedit". This application is used in some situations on a 64 bit platform,
and is used extensively for PPP Profiler when configuring printers. You would normally receive an error if the client can not find Regedit.
Showclientwindow
or
NoMinimize
This option allows you to override the "Show
Client Window" option on the [Global] tab of the "Client Settings" in any of
the administrator applications. This will always show the client window of PPP
Client on startup and is most useful for troubleshooting.
UpdateInterval=
Allows you to override the value specified on the [Global] tab of the
"Client Settings" in any of the administrator applications. This will control how many
minutes the clients wait before checking in for changes to settings, datafiles,
or other configurations.
Wait=
This option allows you to override the number of seconds to wait after a printer change is detected before running configurations. This is usually used for specific instances where a different value is useful. Otherwise the option found on the [Global] tab of the "Client Settings" in any of the administrator applications should be used.
WorkingDirectory=
Allows you to specify an alternate path where data-files can be found, apart from the executables. This is often used to allow a locally installed Client to run with data-files from a network drive. This option is left mostly for backward compatibility. If you wish clients to be installed locally on computers, the "Install" option is recommended.
Gatherer Client Parameters These options are only used if the client has been configured to gather printer settings and drivers from all the end user machines.
ForceDrivers
Gather the drivers for all local printers, even if its been done preivously and doesn't appear to need updating.
ExcludeDrivers
Do not gather drivers for local printers, even if they have never been gathered in the past. This is usually used when you want the client to gather information about the printers on the network, so all the objects can be defined for you, but you wish to specify new drivers for everything yourself.
End-user Initiated Installs - System Tray Client Application
 
The System Tray Application allows end-users to pick and choose printers they wish to have installed.
This can be network printer connections, or direct ip printers with locally installed drivers. To set it up:
1) Configure the printers you wish users to be able to install themselves in the administrator to make them available.
2) Once this is done, a new icon will appear while the PPP Client is running. Simply click the icon.
3) Browse printers in the tree structure or search for them by name/port/etc.
4) Select one or more printers and click "Install"!
Find more information at the Printer Installer Knowledgebase.