clawsoftware / clawPDF

Open Source Virtual (Network) Printer for Windows that allows you to create PDFs, OCR text, and print images, with advanced features usually available only in enterprise solutions.
https://github.com/clawsoftware/clawPDF
GNU Affero General Public License v3.0
711 stars 152 forks source link

clawPDF.exe writes/deletes its registry settings #57

Closed DmitryG-brx closed 1 year ago

DmitryG-brx commented 2 years ago

Using Process Monitor from Sysinternals, I found that clawPDF.exe performed strange manipulations with its registry settings. Once WinAPI's EndDoc() is called for my print job, clawPDF.exe is called with parameter /INFODATAFILE=C:\Users\me\AppData\Local\Temp\clawPDF\Spool\e340ae9d1525b7c3b66688c5319b358f.inf and it performs a lot of operations with its registry settings keys. I would understand if it just read the settings and used them for printing, but it also deletes the keys, recreates them and sets values. Attaching a screenshot of the monitor filtering events for RegDeleteKey calls RegDeleteKey . I tried to understand something from clawPDF sources, but it does not contain DeleteSubKeyTree calls except ones used for moving settings from HKCU\Software\clawPDF.net to HKCU\Software\clawSoft\clawPDF, but this should not be the case, because I don't have old HKCU\Software\clawPDF.net.

Could somebody shed some light on these registry manipulations made by clawPDF, please?

Axachi commented 1 year ago

Hi I'm facing this issue. We have a Terminal Server 2019. if we add registry settings via GPO to apply a new profile profile 8. and set settings to autsave. and tell printer to use this profile. Every time user tries to print. ClawPDF dialog box comes up instead. Somehow Clawpdf overwrites the Registry settings? and defaults printer to default profile. If I use the default printer I made with default profile 0 The settings there is not changed????

So it would be better if the profiles in my opinion could be set to HKLM\Software... in a multiuser enviromente. We do not want users to interact with clawsoft at all. Or is it possible to hardcode this into the software. I have no coding experience. But would gladly pay for someone to fix this :P

Did you find any solution @DmitryG-brx ?

clawsoftware commented 1 year ago

As a first solution I have created the parameter Config. This can be used, for example, to distribute the configuration via a logon script.

Patched with version 0.8.6.