Использование WMPLib в редакциях Windows N

У меня есть проблема, и я не знаю, как ее обойти: я использовал WMPLib в своем приложении C# (расположенном в C:\Windows\System32\WMP.dll). Я сослался на него и добавил в заголовок файла кода основной формы:

using WMPLib;

Но если я попытаюсь запустить свое приложение в версии Windows N (я думаю, здесь также учитывается версия KN), оно перестанет работать, и Windows покажет следующее сообщение: «Имя приложения перестало работать. Вы можете найти решение». .". Итак, теперь я пытаюсь найти способ обойти это, например, не импортируя эту DLL во время выполнения, когда пользователь запускает выпуск Windows N. Я боюсь, что у меня не будет возможности распространять свое приложение среди пользователей Windows N.

Спасибо за любой совет, Вали


person Valentin Radu    schedule 07.08.2012    source источник


Ответы (1)


Редакции N не поставляются с установленным по умолчанию проигрывателем Windows Media, что объясняет отсутствие библиотеки DLL. Однако проигрыватель Windows Media может быть установлен постфактум.

Это оставляет вам два варианта:

  • Динамическая загрузка DLL во время выполнения
  • Проверьте и потребуйте, чтобы проигрыватель Windows Media был установлен в качестве предварительного условия (т. е. во время установки).

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

person Jon Seigel    schedule 07.08.2012
comment
Да, я думаю, вы правы: мультимедийные функции не являются обязательными в моем приложении, но пользователю все же полезно их иметь. Насколько мне известно, выпуски Windows N используются не так, как ожидалось, и доступны только в ЕС, Швейцарии и Хорватии. Перед использованием проигрывателя Windows Media я пробовал другой подход: NAudio, но он по-прежнему использует мультимедийные функции системы, поэтому он также бесполезен. Теперь, я думаю, я могу предоставить 2 версии моего приложения или предложить пользователю установить медиаплеер при установке приложения. В любом случае спасибо за информацию, буду думать! Спасибо! - person Valentin Radu; 08.08.2012
comment
@Валентин: Пожалуйста! Вы можете сделать что-то вроде отключения определенных функций, которые используют медиатеку, если библиотеки не установлены. Таким образом, пользователи могли постоянно использовать большую часть приложения, а затем устанавливать Windows Media, если им нужны дополнительные функции. Я не знаю, будет ли это иметь отношение к вашему приложению, но об этом стоит подумать. - person Jon Seigel; 08.08.2012