PUMA trial version

Jan 7, 2010 at 3:06 PM

Hi Duncan,


I have tried out your source code and managed to install the PrintMonitorService and I've setup the SQL db.  I can add a print server and it gets written to the db, but no data is being written to the db when I print - no printers get added automatically and I cannot add manually either ("no printers could be located on this server").   I can't seem to figure out why that is - everything looks correct to me.  I then downloaded your trial version from your website, but it shows "trial license expired".  Can you please help or advise.




Jan 7, 2010 at 3:59 PM
Edited Jan 7, 2010 at 4:42 PM

Hello TrevorC

If i understand you correct, you have your server written in Print Servers table, but no printers in Printers table.

How is the connectionstring in app.config? replace all server=(local) with server=(local)\SQLINSTANCE. eg server=(local)\SQLEXPRESS.

Have you tried to add a printer with SP Set_Printer_Monitoring_State ?

Sometimes the service must be restarted for new printers to be monitored.

I cant answer to "license expired" question.


Jan 7, 2010 at 7:25 PM

The version on the MerrionCoputing website is older than the version here so this one should be used in preference...

When the Printer Monitor Service runs it uses the settings in its configuration file - if printer names are explicitly listed in the MonitoredPrinters sections then only those printers are monitored, but if the <add key="ReadSettingsFromDB" value="True" /> is set to true the monitored printers section is ignored and the list of printers to monitor is read from the database.

To see what is going wrong I suggest setting the debugging trace switches and then seeing what is written to the trace log. 

There are two defined trace switches - Application and PrinterMonitorComponent that you can set to log a trace file of the operation of the application if you need to debug or diagnose problems

Jan 27, 2010 at 10:45 AM

Dear Ducan,

am sorry to take you back but whie reading your tags i found out that you  are  a step ahead than me please help me to review the below mail and advise me.

i have a installed the Microsoft printer management tool to be  able to control and monitor network printers on server  2003edR2 box. However i have been able to control printer but failed to monitor them in the following areas,

1. Who prints (username?)

2. Doc name print

3. Number of pages printed etc

i have also installed SQL 2005 trying to see if i can get these reports using the printer usage monitoring application(PUMA) however i have failed to make them work together so that i can be able to customize them to the reports i wish to have.

Please if there is someone who did it successfully just right for installing the database and PUMA help me.


Feb 24, 2010 at 6:35 AM

Thanks Duncan and Andersson for your advice.


You're correct in that the server is written in the Print Servers table, but no printers are written in the Printers table. This is when I add a server via PUMA Manager. 


I have edited the configuration file for the Print Monitor Service and have un-commented the trace file line and set the switches to "4" (verbose).  The log file does get created when the service is started, but when I print, nothing gets written to the PrinterMonitorService.log file (nor the database).  Why should this be?  I'm a bit stuck with this - can you help?




Feb 25, 2010 at 10:04 AM

After some more fiddling the log file suddenly started working. Not sure why or how, but it's progress :-)


Feb 25, 2010 at 2:04 PM

I think the config file only gets read when the service starts - which would be when you restart th emachine (?)

You will also need to check that whatever account runs the service also has access to read / write to the database specified in the connection string in that config file.