Управление записями реестра Codebase в сгенерированных с помощью тепла фрагментах WiX

У меня есть сборка .NET 4.0, которую нужно сделать COM-видимой во время установки. Я использую WiX (версия 3.5), поэтому логичным вариантом является создание фрагмента WiX с высокой температурой. Это работает нормально, за исключением того, что, как бы я ни крутил ручки на жаре, CodeBase RegistryValues ​​по умолчанию имеет значение «file: /// C: /Windows/Microsoft.Net/assembly/GAC_32 / ...», в то время как сборка, безусловно, не установлен в этом каталоге.

Итак, записи в реестр добавляются правильно во время установки, но указывают на несуществующую сборку. Печальный день. У меня эта проблема возникает даже в простейшем варианте использования ("heat asm.dll -out asm.wxs").

Пока варианты кажутся такими:

Ни один из этих вариантов не выглядит особенно привлекательным. Есть ли автоматический способ сделать это, не возясь с XSLT?


person Caleb    schedule 17.06.2011    source источник
comment
Значения реестра кодовой базы в сгенерированном wxs от heat указывают, что значения будут расширены до пути, по которому файл установлен на целевой машине. По умолчанию сгенерированный файл wxs также будет содержать элемент каталога для собираемого файла. Как выглядит сгенерированный файл wxs? Можете ли вы также разместить ссылку на файл журнала msi во время установки?   -  person Rami A.    schedule 22.06.2011


Ответы (1)


Отвечает ли COM-активация без регистрации вашим требованиям?

Активация компонентов COM без регистрации: пошаговое руководство
http://msdn.microsoft.com/en-us/library/ms973913.aspx

person Rami A.    schedule 22.06.2011
comment
Интересная ссылка, спасибо. Я решил проблему, вручную отредактировав фрагменты, генерируемые теплом. Количество сборок, которые мне пришлось зарегистрировать, было достаточно небольшим, чтобы это стало возможным. - person Caleb; 14.07.2011