Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Приготовить "пакет обновления", Обновляем программное обеспечение. 
:(
    Опции темы
HellMasterHaiL
Дата 20.8.2009, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

Репутация: нет
Всего: 1



Добрый день.

Понимаю, что реализация того, что я хочу должна быть предельно простая, но вкурить никак не получается \=-(

Итак:

Есть - готовая программулина, под нее инсталлятор (стандартный сетап проджект).  ПО установлено на машине клиента и замечательно работает.

Надо - подготовить пакет обновления для этого ПО. Т.е. подготовить еще один (или модифицировать старый) инсталляционный проект, который бы обновлял ПО (обвновлял экзешник, добовлял/обновлял библиотеки и т.д.), при этом не прописывая лишних (дополнительных) строк в системе ("Установка и удаление программ") и не ругал на ранее установленные версии программы.

Вопрос - как?) В свойствах сетап проекта есть интересные: DetectNewerInstalledVersion, ProductCode, UpgrateCode, Version. Попытался поиграться с этими свойствами самыми различными способами.

В общем хелп, а...  smile 

PM MAIL ICQ   Вверх
Springtime
Дата 20.8.2009, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 221
Регистрация: 25.10.2006
Где: Россия, Тюмень

Репутация: 0
Всего: 2



поконкретней, что именно не получается?
DetectNewerInstalledVersion - обнаруживать новую версию программы
ProductCode - код продукта, у каждого продукта он уникален, то есть у обновления он будет уже новый
UpgrateCode - код обновления, код который используется что бы обнаружить обновляемый продукт, то что именно его необходимо обновить, его нельзя менять, на протяжении всей жизни продукта он должен быть один и тот же
Version - версия нового инсталлятора, её необходимо сменить в обновлении.

И ещё меняешь версии у новых файлов, т.к. если они будут оставаться теми же самыми, то не заменятся на новые

в общем что то типа того

--------------------
ICQ: 1fe410f46e7f48f6c721bc866d8294a2
PM MAIL ICQ   Вверх
HellMasterHaiL
Дата 20.8.2009, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 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
PM MAIL ICQ   Вверх
Springtime
Дата 20.8.2009, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 221
Регистрация: 25.10.2006
Где: Россия, Тюмень

Репутация: 0
Всего: 2



вторая запись появляется в случаи если ты сменил UpgradeCode, чего не нужно делать. Необходимо менято только ProductCode.
Хотя опять в случаи смены только небольших библиотек, сомнительная затея создавать такой инсталлятор, может всё таки посмотреть в сторону других продуктов?

MergeModule - http://www.realcoding.net/articles/merge-m...-sliyaniya.html
--------------------
ICQ: 1fe410f46e7f48f6c721bc866d8294a2
PM MAIL ICQ   Вверх
HellMasterHaiL
Дата 20.8.2009, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

Репутация: нет
Всего: 1



В двух проектах Setup_1 и Setup_2 UpgradeCode совпадают, вторая запись все равно появляется. Проверил только что.

В данный момент библиотеки маленькие и их количество относительно мало, но тенденция идет к слиянию нескольких различных проектов, так что количество библиотек и других файлов неменуемо возрастет. Сей час обновление провожу банально просто - самораспаковывающийся RAR, но чувствуется, что необходимо будет использовать MSI.
Честно говоря, не хочется использовать сторонний инструментарий, хочется всю кашу варить в одной студии. Ну а на всякий пожарный что бы ты посоветовал для создания именно таких "пакетов обновления" уже установленного ПО?

Про MergeModule понял, благодарю за линк.

PM MAIL ICQ   Вверх
Landing
Дата 24.8.2009, 06:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 1.7.2008

Репутация: нет
Всего: нет



Самораспаковывающийся RAR + автозапуск батника в нем, который все что надо удаляет, заменят, переименовывает. Пользуемся таким способом на очень большом предприятии и вопросов даже не возникает. Чем проще и понятней - тем лучше.
PM MAIL   Вверх
HellMasterHaiL
Дата 2.9.2009, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

Репутация: нет
Всего: 1



Батник не вариант, т.к. нужна "защита от дурака", ибо часто "одмины" лезут своими кривыми рученками во все злачные места...
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0701 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.