User login

Who's online

There are currently 0 users and 27 guests online.

SourceForge.net Logo

Bug Bounty: 150 $ for solution PDFCreator on Windows Vista

Submitted by philip on Wed, 2007-09-12 14:16.

Hello,

as you all know, PDFCreator currently does not work properly under Windows Vista. The upcoming Version 0.9.5 will have basic Vista support, but the main problem has not been solved.

The problem is, that Vista has a strict security system, that does not allow the way PDFSpooler.exe tries to start PDFCreator under the context of a user.

Is there someone who has already done this under windows Vista?

We have the possibility to do this in C (not C# oder C++) oder in Visual Basic 6.

Any help, hints oder experience is appreciated here, as we have spent several days on this issue without a result.

We are offering a bounty of 150$ for the first one who can solve this.

regards,
Philip

Submitted by dit890le on Wed, 2007-10-10 17:15.

Here are some hints I come up with after reading some of your source code:

  1. Even though the Print Spooler service is running under LocalSystem account, with the User Account Control (UAC) enabled, it doesn't run with all privileges. To add required privileges to the service without disabling UAC (which will enable all privileges, if I'm not mistaken), you have to edit the registry entry "HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Services\ Spooler\ RequiredPrivileges" or better yet, call the ChangeServiceConfig2 function.
  2. In Visual Basic 6 services running under Windows Vista, to prevent "Interactive Service Detection" dialog from being displayed without disabling the Interactive Service Detection (UI0Detect) service, you have to select "Unattended Execution" option from the project's properties and recompile the project. If the option is grayed, you have to remove all forms and components (use Project > Components) from the project.
  3. Before launching PDFCreator.exe as the logged-on user (i.e., calling CreateProcessAsUser) but after loading the user's profile (i.e., calling LoadUserProfile), you might want to call the CreateEnvironmentBlock function to load the user's environment variables (for some reasons, that seemed to be required in Windows Vista, else the user's document folders won't be located correctly). After successfully calling CreateEnvironmentBlock, don't forget to pass the environment variables to CreateProcessAsUser and call the DestroyEnvironmentBlock function in the clean-up section.

Good luck.

© 2006 by pdfforge.org :: Contact us

Validate XHTML or CSS.