среда, 29 сентября 2010 г.

Microsoft Magic: Setup-проекты

Вчера несколько часов убили, разбираясь с такого рода ошибками при добавлении новых файлов в установщик:
Error 39 Unable to find source file 'D:\Projects\<путь к файлу>\xxx.DLL' for assembly 'xxx.DLL', located in '[TARGETDIR]\<путь к файлу на целевой системе>'
Проблема крылась в появлении магическим образом дубликатов некой dll-ки, уже добавленной в проект ранее. Причем, у дубликатов был неверный SourcePath, из-за чего и ругалась студия.

Никаким нормальным путем, силами трех разработчиков, решить проблему не удалось. В итоге, стараясь не дышать, как-то всё же нам удалось, откатившись на последнюю рабочую версию, с третьей попытки добавить нужные файлы так, чтобы магических дубликатов не возникло...

Сегодня решил порыться в интернете на эту тему как следует, и через некоторое время обнаружил статью "Wrestling with Windows Installer", которая помогла решить проблему.

Оказывается, у Setup-проекта есть такое магическое свойство SearchPath. Вообще говоря, по умолчанию оно пустое:

 , но если нажать кнопку [...], оказывается, что по умолчанию там выставлена галочка Include standard search paths:



Если снимаешь эту галочку, то проблемы с дублирующимися dll-ками магическим образом исчезают. Вау :)

Комментариев нет:

Отправить комментарий

Внимание! Реклама и прочий спам будут беспощадно удаляться.