2010-11-15 6 views
1

Для того, чтобы имитировать выполнение «regasm file.dll/codebase» во время установки, мы запускаем файл Heat.exe в файле file.dll, который мы хотим добавить к реестр. Затем мы добавляем сгенерированный контент в наш файл installer.wxs, и все работает.Wix - Как автоматизировать вызов Heat на DLL-файле для получения информации о regasm

Мы хотели бы автоматизировать процесс, так что нам не нужно вручную запускать Heat.exe при каждом изменении файла .dll. Вместо этого вызов будет выполняться каждый раз, когда мы создадим проект Wix.

Как мы можем это сделать? Пример кода будет высоко оценен.

Спасибо, Максим

ответ

2

Вы уверены, что даже нужно это сделать? У нас есть сборка ComVisible (истинных) сборок в нашем установщике, и мы сделали Heat один раз и никогда не должны были это делать снова. Раньше мы использовали InstallShield, который имеет настройку .NET Com Interop, которая делает подобные шаги во время сборки, и это было одним из наших требований к миграции, чтобы убедиться, что мы будем делать это 1 раз, только когда мы перейдем на WiX.

+0

В будущем предполагается, что .dll будет изменяться много раз, поэтому вполне вероятно, что нам нужно будет генерировать сборки более одного раза. – Maxim

+0

Мы собираем сборки много раз. Мы только создали его в установщике один раз, поскольку подписи COM не меняются от сборки к сборке. –

0

Использование тепла в DLL и TLB для генерации DLL.WXI и TLB.WXI файлов.

Затем используйте что-то подобное в вашем файле WXS, чтобы включить XML, генерируемый теплом.

<?include DLL.wxi ?> 
<?include TLB.wxi ?> 

 Смежные вопросы

  • Нет связанных вопросов^_^