Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Diagnostics.Process doesn't open PDF file using adobe reader

I'm having a problem while trying to open a PDF file using Process.Start(). The program runs the process as a background process but no adobe reader window show up. A solution i found was to use chrome.exe, but my client want to open on adobe-reader, as it's the default windows program.

(I have also trying without forcing "AcroRd32.exe" and passing the full path of "AcroRd32.exe". Same problem).

Anyone solved this?

My code:

var p = new Process
{
    StartInfo = new ProcessStartInfo(@"AcroRd32.exe", @"D:\Tests\81803130000326__.pdf")
};
p.Start();

Background Processes:

Background Process image

I also have checked this question: Process.Start(/* path to pdf */) doesn't work with Adobe Reader on Windows 8

Edits

EDIT INFO: Forgot to say i'm running Windows 10 with Adobe Reader DC 2018.009.20044

EDIT 2: Found a "problem" of Adobe Reader DC. It mantains a level of security that doesn't let me run it as administrator (don't ask me why). Check this link for more information: https://forums.adobe.com/thread/1955530

Now I'll try to find a solution to run it without administrator privileges, or ask my client to uncheck the checkbox

Solution

So, I've found a solution for my problem. The Adobe Reader, since version 10.0, has a "Protected Mode" setting. I wrote a code to change that setting in the registry, so the user won't need to do that. Link: https://www.adobe.com/devnet-docs/acrobatetk/tools/AppSec/protectedmode.html

I hope it helps others in the future!

Solution Code:

var registroAdobe = Registry.LocalMachine.OpenSubKey(@"Software\Policies\Adobe\Acrobat Reader\DC\", true);
registroAdobe.SetValue("bProtectedMode", 0);

This works for Acrobat Reader DC. You can run through "Software\Policies\Adobe\" Products and Versions if you need it.

like image 679
Wesley Avatar asked Nov 27 '17 13:11

Wesley


People also ask

Why can't I open PDF in Adobe Reader?

Your PDF reader or preferred program is out of date and needs an update. Your PDF application is potentially damaged or needs to be rebooted. The PDF is potentially damaged or tampered with. A potential virus or malicious attack is embedded into a PDF file.

How do I get PDF files to open in Adobe Reader?

Right-click the PDF, choose Open With > Choose default program or another app in. 2. Choose Adobe Acrobat Reader DC or Adobe Acrobat DC in the list of programs, and then do one of the following: (Windows 10) Select Always use this app to open .

Why are my attachments not opening in Adobe?

Reset (restore) attachment permissions Choose Edit > Preferences (Windows) or Acrobat / Acrobat Reader > Preferences (Mac OS). From the Categories on the left, select Trust Manager. In the PDF File Attachments section, click Restore. The Restore button is available only if you changed the attachment defaults.


1 Answers

Actually, I found that this didn't work on my computer, but it led me to look deeper. I found my solution to be:

var regAdobe = Registry.CurrentUser.OpenSubKey(@"Software\Adobe\Acrobat Reader\DC\Privileged", true);
regAdobe.SetValue("bProtectedMode", 0);

Very similar, but ended up having to edit the user setting rather than the local machine's setting.

Cheers!

like image 92
DrJonez Avatar answered Sep 30 '22 17:09

DrJonez