![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
HellMasterHaiL |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 9.8.2006 Где: Россия, МО, г. Юб илейный Репутация: нет Всего: 1 |
Добрый день.
Понимаю, что реализация того, что я хочу должна быть предельно простая, но вкурить никак не получается \=-( Итак: Есть - готовая программулина, под нее инсталлятор (стандартный сетап проджект). ПО установлено на машине клиента и замечательно работает. Надо - подготовить пакет обновления для этого ПО. Т.е. подготовить еще один (или модифицировать старый) инсталляционный проект, который бы обновлял ПО (обвновлял экзешник, добовлял/обновлял библиотеки и т.д.), при этом не прописывая лишних (дополнительных) строк в системе ("Установка и удаление программ") и не ругал на ранее установленные версии программы. Вопрос - как?) В свойствах сетап проекта есть интересные: DetectNewerInstalledVersion, ProductCode, UpgrateCode, Version. Попытался поиграться с этими свойствами самыми различными способами. В общем хелп, а... ![]() |
|||
|
||||
Springtime |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 25.10.2006 Где: Россия, Тюмень Репутация: 0 Всего: 2 |
поконкретней, что именно не получается?
DetectNewerInstalledVersion - обнаруживать новую версию программы ProductCode - код продукта, у каждого продукта он уникален, то есть у обновления он будет уже новый UpgrateCode - код обновления, код который используется что бы обнаружить обновляемый продукт, то что именно его необходимо обновить, его нельзя менять, на протяжении всей жизни продукта он должен быть один и тот же Version - версия нового инсталлятора, её необходимо сменить в обновлении. И ещё меняешь версии у новых файлов, т.к. если они будут оставаться теми же самыми, то не заменятся на новые в общем что то типа того --------------------
ICQ: 1fe410f46e7f48f6c721bc866d8294a2 |
|||
|
||||
HellMasterHaiL |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 9.8.2006 Где: Россия, МО, г. Юб илейный Репутация: нет Всего: 1 |
По конкретнее:
В итоге я хочу создать пакет обновления, который бы содеражал только те файлы, которые я укажу. Т.е. само приложение у меня содержит порядка 30-40 различных библиотек. Я изменил тройку библиотек, откомпилил их (естественно в самих библиотеках версионность я подымаю) и мне необходимо включить в пакет обновления только эти три библиотеки. Цель? Уменьшить размер файла, т.к. рассылка этих файлов идет по "узким" каналам и пакет размером 15-20 мегабайт не устраивает. Продолжая играться с инсталляторами решил делать так: Созданный ранее инсталляционный пакет (далее Setup_1) не меняю. Делаю новый сетап (далее Setup_2), включаю в него все необходимые мне файлы (эти три библиотечки). Почти все свойства Setup_2 выставляю из Setup_1 (там имя компании, имя продукта и т.п.). В UpgradeCode Setup_2 я вставляю UpgradeCode Setup_1 (возможно это не правильно) Version Setup_2 я подымаю на еденицу больше, чем Version Setup_1 (естественно ProducCode в этом случае тоже меняется) RemovePreviosVersions ставлю в фолс (иначе он мне потрет файлы приложения) Компилю Setup_2 и инсталлирую... Вроде все работает, файлы меняет как положено. Можно радоваться, но как всегда есть НО. В "Установка и удаление программ" появляется вторая запись моего инсталлятора, а это мне надо избежать. Грубо говоря как перезаписать старую запись об установке в этом списке? з.ы. может в тему, может и нет, но что такое MergeModule и как его кушать? Это сообщение отредактировал(а) HellMasterHaiL - 20.8.2009, 13:28 |
|||
|
||||
Springtime |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 221 Регистрация: 25.10.2006 Где: Россия, Тюмень Репутация: 0 Всего: 2 |
вторая запись появляется в случаи если ты сменил UpgradeCode, чего не нужно делать. Необходимо менято только ProductCode.
Хотя опять в случаи смены только небольших библиотек, сомнительная затея создавать такой инсталлятор, может всё таки посмотреть в сторону других продуктов? MergeModule - http://www.realcoding.net/articles/merge-m...-sliyaniya.html --------------------
ICQ: 1fe410f46e7f48f6c721bc866d8294a2 |
|||
|
||||
HellMasterHaiL |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 9.8.2006 Где: Россия, МО, г. Юб илейный Репутация: нет Всего: 1 |
В двух проектах Setup_1 и Setup_2 UpgradeCode совпадают, вторая запись все равно появляется. Проверил только что.
В данный момент библиотеки маленькие и их количество относительно мало, но тенденция идет к слиянию нескольких различных проектов, так что количество библиотек и других файлов неменуемо возрастет. Сей час обновление провожу банально просто - самораспаковывающийся RAR, но чувствуется, что необходимо будет использовать MSI. Честно говоря, не хочется использовать сторонний инструментарий, хочется всю кашу варить в одной студии. Ну а на всякий пожарный что бы ты посоветовал для создания именно таких "пакетов обновления" уже установленного ПО? Про MergeModule понял, благодарю за линк. |
|||
|
||||
Landing |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 1.7.2008 Репутация: нет Всего: нет |
Самораспаковывающийся RAR + автозапуск батника в нем, который все что надо удаляет, заменят, переименовывает. Пользуемся таким способом на очень большом предприятии и вопросов даже не возникает. Чем проще и понятней - тем лучше.
|
|||
|
||||
HellMasterHaiL |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 9.8.2006 Где: Россия, МО, г. Юб илейный Репутация: нет Всего: 1 |
Батник не вариант, т.к. нужна "защита от дурака", ибо часто "одмины" лезут своими кривыми рученками во все злачные места...
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |