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:
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.
System.Diagnostics.Process.Start("output.pdf");
, this use the default pdf viewer that you have installed in your computer. – Cacuminal