Что делает элемент <class>в <File>в WiX? - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь понять, что означает класс внутри элемента File, и я не могу найти что-либо с помощью Google.Причина, по которой мне нужно это понять, заключается в том, что я конвертирую установщик WiX в InstallShield.В соответствии с документами WiX, классы являются компонентами COM, но я не думаю, что это применимо здесь (и если это так, то у меня есть совсем другой вопрос о том, как использовать компоненты COM в InstallShield, но я пока пропущу этот вопрос.код. Может кто-нибудь, пожалуйста, скажите мне, что это делает?

<File Id="pg_audio_sink.ax" KeyPath="yes" Source="$(var.DirectShow)\pg_audio_sink\Release\pg_audio_sink.ax">
      <Class Id="{7E4D071A-50B7-42D8-ADFE-B0C3715422B9}" Context="InprocServer32" Description="AAC Encoder" ThreadingModel="both" />
      <Class Id="{2A67EDA3-7AE8-494E-808C-60C1E2C992C1}" Context="InprocServer32" Description="Settings" ThreadingModel="both" />
      <Class Id="{AF94923E-31C7-483A-A2EA-57D86BF26AD7}" Context="InprocServer32" Description="Settings" ThreadingModel="both" />
</File>

1 Ответ

0 голосов
/ 21 ноября 2018

Может кто-нибудь сказать, пожалуйста, что это делает?

Этот File элемент должен регистрировать pg_audio_sink.ax, который является фильтром DirectShow.
См. Также:
Как зарегистрировать фильтры DirectShow
Как реализовать IUnknown

Ваш код создаст 3 раздела реестра и зарегистрирует pg_audio_sink.ax в качестве COM-сервера.

HKEY_CLASSES_ROOT\CLSID\{7E4D071A-50B7-42D8-ADFE-B0C3715422B9}
HKEY_CLASSES_ROOT\CLSID\{2A67EDA3-7AE8-494E-808C-60C1E2C992C1}
HKEY_CLASSES_ROOT\CLSID\{AF94923E-31C7-483A-A2EA-57D86BF26AD7}

DirectShow основан на COM.
Поэтому я думаю, что элемент Class в вашем коде предназначен для компонента COM.

...