Показаны сообщения с ярлыком Setup. Показать все сообщения
Показаны сообщения с ярлыком Setup. Показать все сообщения

среда, 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-ками магическим образом исчезают. Вау :)

воскресенье, 12 сентября 2010 г.

Многоязычные установщики MSI

Буквально вчера зарегился на StackOverflow, и обнаружил любопытный вопрос по Microsoft Installer. В результате поиска в документации, книжках и интернете, удалось установить: оказывается, создание многоязычных msi-установщиков возможно! Причем, без всяких bootstrapper'ов.

Хитрость заключается в использовании embedded transforms и недокументированной возможности Windows Installer.

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

Cruise Control .Net и развертывание SharePoint-продуктов

Благодаря Cruise Control .Net (далее - CCNet) недавно удалось решить несколько важных проблем на работе, поэтому спешу поделиться!


Кто не знает, CCNet - это программный комплекс, предназначенный для непрерывной интеграции, т.е. для организации постоянных сборок продукта (например, каждый час). Непрерывная интеграция в простейшем виде позволяет отследить людей, которые коммитят не компилящийся код. Если же немного повозиться с настройками - у вас в руках окажется мощнейший инструмент для автоматизированного тестирования. К тому же, бесплатный...

Ниже речь пойдет о применении CCNet для непрерывной интеграции большого коробочного продукта под SharePoint.

четверг, 2 сентября 2010 г.

.Net Framework Setup-проект - организация обновлений

Сегодня пришлось задержаться на работе, решая внезапно вылезшую проблему со стандартным MS-овским Setup-проектом. Сделал новую версию некоей программы, и решил проверить, как инсталлятор обновит предыдущую версию. В итоге - целый час потерял, прежде чем удалось все решить.

Как выяснилось, обновления для стандартных проектов .Net Setup Project - задача, требующая знания некоторых довольно тонких ньюансов.

понедельник, 23 августа 2010 г.

Setup-проекты в Visual C# Express

Одно из серьезных ограничений Visual C# Express - это невозможность использования майкрософтовских Setup-проектов. Впрочем, эти проекты далеко не идеальны, и как показала практика, куда эффективнее использовать для создания вашего msi бесплатный продукт Windows Installer XML (WIX).


В этой статье я расскажу, как интегрировать WIX в Visual C# Express и научиться создавать с его помощью полномасштабные msi-инсталляторы.