Здравствуйте, Marianne, Вы писали:
M>Почему? M>Почему так непросто найти программиста-разработчика InstallShield? M>Что я делаю неправильно?
M>Помогите!
Когда в конторе где я тогда работал возник подобный вопрос — решили его так: взяли самого никудышного из программистов, кандидата на увольнение и сделали из него "программиста-разработчика InstallShield". Более-менее справился. А умного человека на такое не заманишь — работа — дрянь, перспектив никаких. Bетку, обещания читал — в романтику работы автора инсталляций не поверил; ту же QT наверное лучше учить работая с ней, а не с InstallShield. Представьте: вы дали обявление, что ищете QT программиста, приходит к вам претендент и вы его спрашиваете "каков ваш опыт работы с QT?" а он вам отвечает "ну я же три года InstallShield-ом инсталляции делал!" — куда вы этого претендента пошлёте?
Здравствуйте, Marianne, Вы писали:
M>Почему? M>Почему так непросто найти программиста-разработчика InstallShield? M>Что я делаю неправильно?
M>Помогите!
есть мысль
просто расширьте обязанности этого человека и включите в них QA + внедрение
иначе это действительно не слишком большие перспективы для развития
для человека прямо со студенческой скамьи — хорошее начало, но для спеца уже со средним опытом — это даунгрейд
Здравствуйте, anonymous_user, Вы писали:
_>Здравствуйте, Marianne, Вы писали:
M>>Почему? M>>Почему так непросто найти программиста-разработчика InstallShield? M>>Что я делаю неправильно?
M>>Помогите!
_>есть мысль _>просто расширьте обязанности этого человека и включите в них QA + внедрение
_>иначе это действительно не слишком большие перспективы для развития _>для человека прямо со студенческой скамьи — хорошее начало, но для спеца уже со средним опытом — это даунгрейд
Как ни называй, а возиться-то ему с InstallShield придётся — именно это имеется в виду.
И вообще, не являются ли продукты типа InstallShield пережитком прошлого, обречённым на вымирание? Много ли они дают по сравнению с "голым" installer-oм? В последнее время я вижу много продуктов инсталляции которых сделаны в VisualStudio. Мне иногда с Wise возиться приходится и каждый раз обнаружив его очередной глюк думаю: "лучше было бы инсталляцию с самого начала вручную сделать, да поздно уже". Если зто в какой-то степени справедливо — то перспективы "программиста-разработчика InstallShield" вообще стремятся к нулю.
V>Думаю, еще и расположение офиса играет роль. У вас есть интересные мне вакансии — под Symbian вообще в Москве мало что нашел когда интересовался — но пилить каждый день в Долгоп и обратно я не готов
Да это вообще на анекдот похоже. Локализация компании в Долгопе (кстати, Парагон и Акронис — это одно и то же или это два конкурента?) — предполагает набор персонала из местных студентов, там один из лучших тех. вузов России.
Вот там и набирали бы. Или переезжали бы в Москву.
Здравствуйте, Tiamer, Вы писали:
T>Есть куча действий T>которые приходится реализовывать в кастом экшинах и тд и тд в основном конечно монотонные, T>типа работа с конфигурацией, лицензией, настройкой продукта системы, проверкой системы и тд . T>Но все вместе это может занять не одну две недели.
T>Так что с вами не соглашусь.
Точно-точно сказано. А еще оттестировать его по полной...
Здравствуйте, v111, Вы писали:
V>Думаю, еще и расположение офиса играет роль. У вас есть интересные мне вакансии — под Symbian вообще в Москве мало что нашел когда интересовался — но пилить каждый день в Долгоп и обратно я не готов. Попробуйте перевозить людей из других городов — им было бы удобнее снимать жилье рядом с офисом вероятно дешевле, чем в Москве. Еще название вакансии — Release Engineer или "Разработчик инсталляторов" было бы понятнее.
офис находится в Москве, НЕ в Долгопе!
у нас не один офис.
есть и в Долгопе,
но есть в районе метро Речной вокзал,
Алтуфьево, Петр-Разумовская или Савёловская.
M>у нас не один офис. M>есть и в Долгопе, M>но есть в районе метро Речной вокзал, M>Алтуфьево, Петр-Разумовская или Савёловская
Упс, тогда извините, раньше это было для меня не очевидно. Сейчас, действительно, на сайте в информации о подразделениях увидел слово Москва.
Я бы все-таки рекомендовал в текст вакансии добавлять станцию метро для Москвы, т.к. многие фильтруют вакансии еще и по расположению офиса.
Не спора для, а интереса ради
WP>Не соглашусь. Свой велосипед зачастую хуже стандартного, тем более системного. Файл может существовать. Может быть открыт, а может быть заблокирован. Регистрация под пользователем может быть запрещена, а разрешена только под системой или администратором. И куча других тонкостей.
1) Соглашусь, что самописный хуже тем, что его надо будет отлаживать ... тонкостей туча — и в чем разница между блокиворкой и открытием файла с точки зрения реакции на это?
2) Если бы речь велась о MSI то верю, что алгоритм его работы будет изменяться вместе с извенениями операционки Windows (что явный +)
WP>Читайте внимательно:
... WP>Из сорцов нужно будет сбилдать бинарники правильным образом.
То есть соберать нечто ... это не телега позади лошади? если модуль оттестирован, то значит он уже собран не понял логики
WP>думаю, имеется в виду *.cmd, *.bat, *.pl, *.sh, *.js, *.vbs и далее по вкусу.
а это принципиально? или что-то можно только на *.bat и нельзя на *.exe? мне кажется лучше определиться на чем-то одном (пусть даже и *.vbs)
KGP>>знание DOS, Linux ... ну уж DOS то зачем ...? и в какой мере пользуете Linux? WP>предполагаю, командная строка нужна. например, for /F %i in (my_source) do mycmd %i
То есть DOS нужен? ууу...
WP>ну, уже описано в общих чертах. Детали они всегда только на месте.
В общих ... в САМЫХ общих и если уж ищущий не смог точно сформулировать ЧТО ищет, то из его слов можно всякое понять — может уже туча установок есть с полным бардаком и надо будет это все разгребать и прилизывать (а то и выбрасывать, переделывая)
WP>Далеко не факт, что будет достаточно раз в неделю одному человеку. Для большого и толстого продукта часто нужно на 100% загрузка на некоторый срок, зависящий от того, как именно развивается продукт. WP>Вот только занятие это скучное — факт.
Тут усидчивость и терпение выходят на первый план ...
и о перспективах это скорее от лукавого, просто оплату надо поднимать (а может и не надо, а как-то автоматизировать процесс ... )
WP>Успехов!
И Вам того жа.
Здравствуйте, KGP, Вы писали:
KGP>и о перспективах это скорее от лукавого, просто оплату надо поднимать (а может и не надо, а как-то автоматизировать процесс ... )
InstallShield и есть средство автоматизации для создания инсталляторов. Куда его еще дальше автоматизировать? Составляешь сценарий, запускаешь wizard и генеришь инсталлятор. Это вам не с Windows Installer SDK ковыряться. Кстати, интересно, поиск разработчика со знанием Windows Installer SDK прошел бы менее напряженно, чем знатока IS?
Здравствуйте, KGP, Вы писали:
WP>>Не соглашусь. Свой велосипед зачастую хуже стандартного, тем более системного. Файл может существовать. Может быть открыт, а может быть заблокирован. Регистрация под пользователем может быть запрещена, а разрешена только под системой или администратором. И куча других тонкостей.
KGP>1) Соглашусь, что самописный хуже тем, что его надо будет отлаживать ... тонкостей туча — и в чем разница между блокиворкой и открытием файла с точки зрения реакции на это?
Ну, я имел в виду, что при открытии файла в функции CreateFile есть флажочки, можно ли использовать этот файл совместно с другими желающими. Либо еще как вариант — dll-ка подгружается в процесс. Так вот если не указать при открытии файла флажок FILE_SHARE_DELETE, то его удалить нельзя будет. Нельзя даже его переместить в другое место в контексте файловой системы (переименовать, скинуть в другую директорию и пр.). Поэтому если ваш файлик кто-то еще пользует, а вы поверх его хотите записать новый при инсталяции, то у вас ничего не получится, если он заблокирован. Требуется перезагрузка с записью в реестр о том, что нужно сделать с файлом. HKLM\SYSTEM\CurrentControlSet\Control\Session Manager, параметр PendingFileRenameOperations
Запись о файле состоит из 2 строк: первая — откуда, вторая — куда. Если вторая пустая — удалить.
Эти операции совершаются на ранней стадии загрузки системы.
KGP>2) Если бы речь велась о MSI то верю, что алгоритм его работы будет изменяться вместе с извенениями операционки Windows (что явный +)
Не вместе, а несколько опосредованно. Но в новую версию операционки включается какая-то новая версия Windows Installer-а.
WP>>думаю, имеется в виду *.cmd, *.bat, *.pl, *.sh, *.js, *.vbs и далее по вкусу. KGP>а это принципиально? или что-то можно только на *.bat и нельзя на *.exe? мне кажется лучше определиться на чем-то одном (пусть даже и *.vbs)
Скорость создания скрипта. За 30 секунд пишется простенький маленький скриптик. Бинарный аналог ему пишется за гораздо большее время. Это не касается самого инсталятора. Это касается других повседневных работ, например, по его созданию или сборке.
KGP>>>знание DOS, Linux ... ну уж DOS то зачем ...? и в какой мере пользуете Linux? WP>>предполагаю, командная строка нужна. например, for /F %i in (my_source) do mycmd %i KGP>То есть DOS нужен? ууу...
Я не знаю, нужен ли в ту компанию именно DOS. Я просто этим периодически для себя пользуюсь. Шелл в винде преотвратительнейший, по сравнению с юниксами (хоть я и не спец в юниксах).
WP>>ну, уже описано в общих чертах. Детали они всегда только на месте. KGP>В общих ... в САМЫХ общих и если уж ищущий не смог точно сформулировать ЧТО ищет, то из его слов можно всякое понять — может уже туча установок есть с полным бардаком и надо будет это все разгребать и прилизывать (а то и выбрасывать, переделывая)
На мой взгляд, проблема в том, что эти детали вы скорее всего не поймете или не оцените пока не попробуете. Это стандартные рабочие мелочи, рутина. Это не главное.
WP>>Далеко не факт, что будет достаточно раз в неделю одному человеку. Для большого и толстого продукта часто нужно на 100% загрузка на некоторый срок, зависящий от того, как именно развивается продукт. WP>>Вот только занятие это скучное — факт. KGP>Тут усидчивость и терпение выходят на первый план ... KGP>и о перспективах это скорее от лукавого, просто оплату надо поднимать (а может и не надо, а как-то автоматизировать процесс ... )
Автоматизация и пр. зависит от конкретной ситуации. Часто очень важна не установка продукта, а его апгрейд и накладывание заплаток. Тут такое ковыряние в кишках начинается...
KGP>И Вам того жа.
Успехов!
К этому моменту у меня внутри 0.5, 0.7, 0.33 (с) НС
Здравствуйте, WPooh, Вы писали:
WP>Здравствуйте, KGP, Вы писали:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager, параметр PendingFileRenameOperations WP>Запись о файле состоит из 2 строк: первая — откуда, вторая — куда. Если вторая пустая — удалить.
О отложенном копировании я в курсе ... это аналог галочки 'скопировать после перезагрузки' — тут проблема в том, что операционка должна знать КТО держит и предложить закрыть приложение (на что я бы уповал в дальнейших версиях) — ведь так может потребоваться повторный запуск ПОСЛЕ перезагрузки (что тоже можно через Run Once организовать)
WP>Скорость создания скрипта. За 30 секунд пишется простенький маленький скриптик. Бинарный аналог ему пишется за гораздо большее время. Это не касается самого инсталятора. Это касается других повседневных работ, например, по его созданию или сборке.
сборка инсталлятора ... через *.bat ... можно написать бинарник, который будем запускать этоти *.bat а список и порядок хранить в ini/xml.
Дело не в этом, а в том, что возможен
1) дополнительный контроль
2) ведение расширенных логов
3) более сложные схемы (изходя из ситуации) принятия решений по дальнейшим действиям.
Это даже можно прописать в той или иной мере в код IS.
WP>Это не главное.
Если бы речь велась о выборе трудоустройства, то вот именно это для меня и было бы главное.
Отношение руководства к установке-апгрейду ТОЖЕ главное, а средства уже второстепенное.
Думаю, что стала бесполезная дисскусия по причинам
1) вы не от ...
2) я не претендую на ...
3) вы не в курсе что там надо (см. п1), потому туча уточнений пропадает.
WP>Успехов!
Ага, пусть всем!
Здравствуйте, Vld17, Вы писали:
V>Здравствуйте, KGP, Вы писали:
V>InstallShield и есть средство автоматизации для создания инсталляторов. Куда его еще дальше автоматизировать?
Вы его пробовали? IS ...
Дальше и глубже и шире ... у него есть встроенный язык, но через него как скрипты базы запускать через него или c COM поработать (например может понадобиться при upgrade версии продукта) вот если бы был встроенный vb
V>Составляешь сценарий, запускаешь wizard и генеришь инсталлятор.
здорово ... и это постоянная работа генери все новые? это только вершина айсберга работы ...
Это вам не с Windows Installer SDK ковыряться. Кстати, интересно, поиск разработчика со знанием Windows Installer SDK прошел бы менее напряженно, чем знатока IS?
Мне кажется более напряженно, и дороже ... правда и возможностей больше будет для Windows все же это родное MS (я не говою о других осях)
Здравствуйте, KGP, Вы писали:
KGP>О отложенном копировании я в курсе ... это аналог галочки 'скопировать после перезагрузки' — тут проблема в том, что операционка должна знать КТО держит и предложить закрыть приложение (на что я бы уповал в дальнейших версиях)
Ага, Windows Installer выводит список таких приложений. Приятно. KGP> ведь так может потребоваться повторный запуск ПОСЛЕ перезагрузки (что тоже можно через Run Once организовать)
Windows Installer позволяет сделать перезагрузку на некоторых этапах. Но по умолчанию используется как раз копирование при перезагрузке. Если не удалось удалить старый файл, то сначала инсталер попытается переместить такие файлы в папку %SystemDrive%\Config.Msi. Если файлы открыты с тем флажком FILE_SHARE_DELETE или это dll-ка подгруженная системой (что одно и то же), то эта операция проходит успешно. После чего инсталер прописывает удалить эти файлы при перезагрузке.
Если файл заблокирован без флажка, то инсталер откажется устанавливать продукт. Если файл окажется заблокирован между проверками возможности проинсталироваться, то произойдет откат инсталяционной транзакции.
Вот это и есть самый большой смысл в WindowsInstaller-е, на мой взгляд — транзакционность. Очень приятсвенная весчь. Ну и хорошо бы в своих кастомных экшнах предусматривать возможность отката транзакции.
Остальное проскипаю, так как согласен с KGP>Думаю, что стала бесполезная дисскусия по причинам KGP>1) вы не от ... KGP>2) я не претендую на ... KGP>3) вы не в курсе что там надо (см. п1), потому туча уточнений пропадает.
Хотя не согласен с вашим видением по тем вопросам.
К этому моменту у меня внутри 0.5, 0.7, 0.33 (с) НС
Здравствуйте, KGP, Вы писали:
KGP>Вы его пробовали? IS ...
Увы. WISE InstallBuilder (ныне Installation System) оказалось вполне достаточно. Но судя по описаниям на сайте принципиальной разницы между этими продуктами не видно. У этих продуктов и ценники почти на одном уровне.
KGP>Дальше и глубже и шире ... у него есть встроенный язык, но через него как скрипты базы запускать через него или c COM поработать (например может понадобиться при upgrade версии продукта) вот если бы был встроенный vb
У WISE тоже есть встроенный скриптовый язык для программирования сценария установки. Сейчас WISE позволяет вроде бы даже вызывать функции Win32 API в сценарии.
V>>Составляешь сценарий, запускаешь wizard и генеришь инсталлятор. KGP>здорово ... и это постоянная работа генери все новые? это только вершина айсберга работы ...
В каком смысле постоянная? В моем случае нужно было сделать инсталлятор продукта. С регистрацией COM объектов в системе при инсталляции и дерегистрацией при деинсталляции. Ну разве что бинарных патчей накладывать не нужно было. Проще переустановить продукт целиком. Пары дней для решения этой задачи хватило вполне. С учетом того, что на момент старта про WISE не было известно ничего. Я не настаиваю, что любую задачу можно решить также просто. Например, в случае установки NT сервиса или веб-инсталляции количество телодвижений будет чуть больше. Придется писать увесистые скрипты.
KGP>Это вам не с Windows Installer SDK ковыряться. Кстати, интересно, поиск разработчика со знанием Windows Installer SDK прошел бы менее напряженно, чем знатока IS?
KGP>Мне кажется более напряженно, и дороже ... правда и возможностей больше будет для Windows все же это родное MS (я не говою о других осях)
Интересно, сколько же должен стоить в таком случае программист Win32 API? Просто сравните количество функций WI API и Win32 API
Здравствуйте, Vld17, Вы писали:
V>В каком смысле постоянная? В моем случае нужно было сделать инсталлятор продукта. С регистрацией COM объектов в системе при инсталляции и дерегистрацией при деинсталляции. Ну разве что бинарных патчей накладывать не нужно было. Проще переустановить продукт целиком. Пары дней для решения этой задачи хватило вполне. С учетом того, что на момент старта про WISE не было известно ничего. Я не настаиваю, что любую задачу можно решить также просто. Например, в случае установки NT сервиса или веб-инсталляции количество телодвижений будет чуть больше. Придется писать увесистые скрипты.
К счатью, это очень простой инсталятор для вашего продукта. Для более сложных вещей нужно очень чего делать, если это не предусмотрено инсталяционной системой. И прежде всего, ее надо изучить, конечно. Для простых и небольших продуктов это нормально. Если инсталяционный пакет занимает порядка 300-500 мегабайт, файлов тысяч так 50-70 и требует конфигурирования других продуктов, то получается уже неплохая задачка. Там вам, возможно, и WinAPI нужно будет на хорошем уровне и изучить особенности выставления секьюрити на файлы/папки/реестр, привилегии пользователя, политики на генерацию пользовательских паролей и пр., не говоря о том, что придется повозиться с депендами на другие продукты или поизучать особенности их инсталяций, пофиксать в них проблемы (разработчики MSDE Merge Module, ау! ).
Я к тому, что задачи вообще-то разные бывают. Написать консольное приложение — чего проще: открыл визард, почекал галочки — готово. Это если приложение почти ничего не делает, кроме "Hello World!". А бывает, что инсталятор — достаточно нехилая программа со сложной логикой.
KGP>>Это вам не с Windows Installer SDK ковыряться. Кстати, интересно, поиск разработчика со знанием Windows Installer SDK прошел бы менее напряженно, чем знатока IS? KGP>>Мне кажется более напряженно, и дороже ... правда и возможностей больше будет для Windows все же это родное MS (я не говою о других осях)
V>Интересно, сколько же должен стоить в таком случае программист Win32 API? Просто сравните количество функций WI API и Win32 API
Стоимость и того и другого определяется не числом функций, а совсем другими критериями. Функции они в справочнике есть (MSDN). А вот понимание происходящих процессов складывается только через некоторое время. Программисты WinAPI тоже получают по-разному. Некоторые из них легко напишут инсталятор. Некоторые программисты инсталяшек легко напишут WinAPI програмы.
Я не вижу здесь какой-то принципиальной разницы. Специалист умеет разбираться в разном круге вопросов. Нужно только время потратить на пока неизвестные ему вещи.
А как размер зарплаты формируется — это уже совсем другая тема для разговора.
PS. Я не люблю писать инсталяшки. Это счастливо пройденный этап в моей жизни. Счастье в том, что он уже позади. Не, я делаю инсталяшки при необходимости, но это очень-очень редко. Я к тому, что не подходите к чьей-то работе шаблонно. Она очень часто различается весьма и весьма от ваших представлений о ней. Я подозреваю, что в случае компании, где работает Marianne задача не сводится к тому, чтобы просто установить файлики и зарегистрировать их в системе.
Успехов!
К этому моменту у меня внутри 0.5, 0.7, 0.33 (с) НС
Здравствуйте, WPooh, Вы писали:
WP>Здравствуйте, Vld17, Вы писали:
V>>В моем случае нужно было сделать инсталлятор продукта. С регистрацией COM объектов в системе при инсталляции и дерегистрацией при деинсталляции. Ну разве что бинарных патчей накладывать не нужно было. Проще переустановить продукт целиком. Пары дней для решения этой задачи хватило вполне. WP>К счатью, это очень простой инсталятор для вашего продукта.
Вот в том то и дело — обговариваем задачи компании о которых не знаем .
А враза про 'Проще переустановить ' мне понравилась — подход 5 баллов.
А если, например, человек к тому же ещё и должен знать COM-объекты продукта, т.к. upgrade производиться через них ...
V>>Просто сравните количество функций WI API и Win32 API
знаешь есть туча библиотек в которых немеряно функций , да вот их уже не используют, а те кто использует мало получают (может и MFC будет такой через ... лет)
может еще и по код будем сравнивать по количеству? и платить за массу
WP>А как размер зарплаты формируется — это уже совсем другая тема для разговора.
Я считаю, что за такое надо требовать доплаты так сказать за 'монотонность' хоть молоком.
WP>Я подозреваю, что в случае компании, где работает Marianne задача не сводится к тому, чтобы просто установить файлики и зарегистрировать их в системе.
во-во подозреваю так все вокруг подозрений и крутим и Marianne пропала ... на SQL.ru недавно дала объяву, но наверное уже она разочаровалась
WP>Успехов!
Здравствуйте, WPooh, Вы писали:
WP>Есть замечательная статья по поводу этого флага. Ну и по ссылкам на страничке можно почитать обсуждение других флажков и вообще умных мыслей. WP>Успехов!
Статья хорошая, но мне кажется — лучше пользоваться методами операционки
хотя бы глянуть в сторону MoveFileEx() и уж текущая операционка правильно определит что хочет пользователь, а не работать с реестром самому (или даже доверить её IS если он вручную делает это, может он тоже пользует MoveFileEx начиная с некой версии).