Запуск PDF-файлов программно, несмотря на защищенный режим - PullRequest
0 голосов
/ 23 октября 2019

Краткое описание: Можно ли вообще запускать PDF программно, даже если в Acrobat Reader включена опция «Включить защищенный режим при запуске»?


подробно: Столкнувшись с этой проблемой несколько лет назад, мы полностью забыли о ней, пока она снова не подняла свою уродливую голову.

У нас есть программа, написанная на .NET-коде - сам код не имеет значениятак как это общая проблема.

В коде мы запускаем файл PDF по его пути. И вдруг это больше не будет работать. Для ЛЮБОГО PDF, с пробелами в пути или без, неважно. Мы пробовали много разных способов. Process.Start , Process.Start с Start Info и ShellExecute , буквально находящим местоположение AcroRd32.exe и запускающим его с именем файла, переданным какАргумент ... Ничего не помогло.

В конце концов мы нашли причину проблемы. В последних версиях Acrobat Reader есть опция Enhanced Security - в меню Acrobat выберите Edit - Preferences, выберите Security (Enhanced) из опций слева, а в диалоге выключите - снимите флажок - «Enable Protected Mode при запуске»». После этого наше программное обеспечение снова успешно запустит все PDF-файлы.

Итак, в данный момент мы просто читаем Реестр - см., Например, https://www.adobe.com/devnet-docs/acrobatetk/tools/AppSec/protectedmode.html, в котором объясняется, где искать Acrobat Reader 10.0. - инструкции для других версий отличаются только тривиально.

Если включен защищенный режим, мы показываем пользователю окно сообщения, информирующее их о настройке и указывающее, как его отключить.

Все хорошо и прекрасно, и не поймите меня неправильно. Оно работает. Но это значит полагаться на клиента, чтобы внести изменения. Возможно, они не смогут или не захотят внести это изменение в свою систему.

Обратите внимание, что меня не интересуют предложения, связанные с переопределением параметров реестра. Это слишком неприятный хак, и наши клиенты не будут за это благодарить нас.

...