Добавить новый CLSID в реестр Windows, используя WiX - PullRequest
1 голос
/ 06 марта 2012

Я пытаюсь зарегистрировать новый фильтр в Windows Desktop Search.Идеальный способ добиться этого - зарегистрировать новый фильтр с существующим постоянным обработчиком CLSID.Но это не может быть сделано, поскольку .html PersistentHandler CLSID, {eec97550-47a9-11cf-b952-00aa0051fe20}, защищен WRP ( Подробнее о проблеме ).

В качестве обходного пути я пытаюсь создать другой CLSIDэто делает ту же работу, что и {eec97550-47a9-11cf-b952-00aa0051fe20}.

Это пример кода, за которым я следую.Я довольно новичок в WiX и редактирование реестра Windows.

<File Id="HTMLfilter.DLL">
    <Class Id="$(var.CLSID_HtmlIFilter)" Context="InprocServer32" ThreadingModel="both" Description="Html Filter" />
</File>

Может ли кто-нибудь помочь мне с этим;

  • Как создать CLSID, который не связан ни с одним файлом?Поскольку мой новый CLSID выполняет работу вышеупомянутого CLSID, я думаю, что так и должно быть.

  • Как создать подкаталог с именем PersistentAddinsRegistered вместо InprocSever32

Спасибо

Ответы [ 2 ]

1 голос
/ 09 марта 2012

Я предлагаю экспортировать выбранную ветку в файл реестра ( Экспортировать весь или часть реестра в текстовый файл ).

Затем используйте Heat.exe файл реестра для сбора и включите его вывод в ваш проект.

Это пример

    <Fragment>
    <DirectoryRef Id="TARGETDIR">
        <Component Id="cmp6E2CE62C9ADECD355465514E3C8F354E" Guid="PUT-GUID-HERE" KeyPath="yes">
            <RegistryKey Key=".ascx\PersistentHandler" Root="HKCR">
                <RegistryValue Value="{eec97550-47a9-11cf-b952-00aa0051fe20}" Type="string" />
            </RegistryKey>
        </Component>
    </DirectoryRef>
</Fragment>
1 голос
/ 06 марта 2012

Посмотрите на эту страницу здесь показывает, как добавить COM-объекты в установщики

...