Could not find required file ‘setup.bin’

Да, вот такое странное название для не менее странной проблемы, когда на «чистой» машине не собирается проект для публикации с помощью ClickOnce.

Совсем недавно, при разборе проблемы с применением PostSharp при сборке на билд-сервере, столкнулся с проблемой, что на чистой машине, где стоит только сам билд-сервер TFS, новый фреймворк с SDK не собирается проект. Полностью сообщение об ошибке выглядело следующим образом:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (4486): Could not find required file ‘setup.bin’

После того, как первое недоумение прошло и раскопки файла .targets тоже ничего не дали, решено было обратиться к гуглу и он выдал удивительные вещи. Оказывается установленного ПО недостаточно для сборки ClickOnce.

Ручным решением проблемы может быть следующее:

1. Необходимо скопировать с машины разработчиков всю папку c:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A

2. Далее в регистре прописать\создать ключ HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\GenericBootstrapper\11.0 со значением C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\

После чего все заработает.

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

Но по прежнему не стоит ставить на билд-сервер инструменты вроде DevExpress, Telerik и так далее, потому что только на машине пользователя вы обнаружите, что не хватает какой либо библиотеки для отображения супер-таблицы или иных красивостей.

Так что будьте прагматичны и руководствуйтесь логикой и ситуацией, а не просто выполняйте бездумно правила и рекомендации.

 

Hard’n’Heavy!

 

 

 

Win7 Jump List — II

В прошлый раз мы остановились на том, что у нас есть программа, которая может «группировать» иконки из таскбара. Если вы ее запускали и разбирались, то заметили, что у программы есть один неприятный юзабилити недостаток. Когда вы задали программу для запуска по умолчанию – это никак не видно. Требуется полагаться на свою память и привычки. Так что будем исправлять данный недостаток.

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

Подробнее

Win7 Jump List

Наверно про новые фишки Win7 не писал только ленивый, и в интернете куча обзоров того, как это применить. Я заметил, что читать технические статьи, где просто рассказывается о том как применить, то или иное средство не очень интересно. Гораздо интереснее когда технология применяется на конкретном полезном примере, в результате чего получается небольшая полезная программа. Конечно, такое получается не всегда, но в последнее время я все больше и больше стараюсь так делать.

Итак, будем решать следующую проблему: У меня дочерта иконок прикреплено в таскбаре. 2 студии, SQL сервер, Expression  studio, офисные приложения, браузеры – все это было бы полезно сгруппировать и чтобы по умолчанию запускались основные приложения.

Подробнее

Dll Within

Идея

Достаточно давно я сделал программу которая использовала 2 сторонних библиотеки. Получается, что на выходе у меня было как минимум 3 файла, но я хочу один файл! На тот момент я не особенно озаботился тем, как это сделать и так и осталось там 3 файла.

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

Итак, будем делать так, чтобы можно было внедрить в один файл, любые библиотеки, как свои так и третьих сторон.

Подробнее

Featured Common Controls

Хочу поделиться небольшой библиотекой, которая упрощает мою жизнь при создании пользовательского интерфейса. В целом это все те же стандартные компоненты, только со смарт тэгами. Они настроены на самые общие и часто используемые поля. После запуска установщика и успешного окончания его работы, вы сможете найти в студии новую панель инструментов.

Библиотека устанавливается в GAC, создает новую панель инструментов в Visual Studio, добавляется в диалоговое окно «Add reference…». Как это сделать самостоятельно, вы можете прочитать в одной из предыдущих статей.

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

Source code Установщик компонентов

Далее я вкратце опишу компоненты, входящие в библиотеку.

Подробнее