Outlook 2013 не может открыть вложение с пользовательским расширением файла - PullRequest
0 голосов
/ 02 сентября 2018

У меня есть (внутреннее) приложение, работающее в Windows 8, которое поддерживает произвольное расширение файла: .ALM

Приложение может открывать .ALM файлы при передаче в качестве аргументов командной строки. И у меня есть расширение файла, настроенное так, что .ALM файлы могут быть открыты непосредственно из проводника Windows. То есть двойной щелчок по файлу .ALM открывает этот файл в моем приложении.

Однако Outlook не будет открывать .ALM файлы, отправленные в виде вложений электронной почты. Вложение показывает соответствующий значок файла .ALM в Outlook и пытается открыть вложение, но молча не удается.

Кажется, единственный способ заставить Outlook открыть вложение, если я отредактирую соответствующую запись в реестре и добавлю cmd /c start в начале команды для выполнения. То есть я не могу просто добавить полный путь к приложению.

Похоже, что в Windows есть два способа сделать это - через HKLM \ Classes или HKCU (это то, что Windows устанавливает, когда вы устанавливаете сопоставление файлов через панель управления). Оба подхода нуждаются в одинаковом хаке для работы Outlook.

Если я использую подход HKCU (то есть, чтобы Windows ассоциировала мое приложение с файлами .ALM), мне нужно пойти и найти соответствующую запись в реестре и добавить cmd /c start в начале. Я знаю, как это сделать, так что это нормально для меня. Но большинство моих пользователей не имеют доступа к реестру (или не знают, что с ним делать).

Я проинструктировал свое приложение и подтвердил, что к нему ничего не получается (поэтому Outlook не получает исключения из приложения).

Похоже, что Outlook рекомендует пройти через часть «Стандартных программ» панели управления, что я и сделал (но безрезультатно). Так я обнаружил изменения в HKCU.

Если это уместно, мое приложение является приложением CF WPF, работающим в .Net 3.5 (по историческим причинам).

Так что мне интересно, есть ли известный способ заставить Outlook открывать пользовательские расширения файлов из папки установки приложения, обращаясь непосредственно к приложению?

Спасибо

...