2012-01-27 3 views
1

Я создал один установщик с IzPack. Все работает нормально. Теперь мне интересно, есть ли хороший способ создать один установщик, который позаботится об обновлении приложения, если это уже существует?IzPack: можно создать приложение для обновления приложений?

Я тестировал запуск установщика еще раз, но он не признает, что приложение установлено.

ответ

0

Я использовал IzPack для установки и обновления. IzPack не подключается к какой-либо системе упаковки, поэтому IzPack не может окончательно узнать, установлено ли что-то. Вы можете попытаться взаимодействовать с реестром или какой-то конкретной фли, которую вы создаете во время установки, но это все еще беспорядочно (для меня все равно).

Однако IzPack проверяет, существует ли файл перед его перезаписью, поэтому, если вы используете обновление, то пример состоит в том, что вы хотите, чтобы бинарные файлы были обновлены, но пользовательская конфигурация осталась одна, так что сделайте что-то подобное внутри элемента packs:

<packs> 
    <pack name="CorePack" required="yes" preselected="yes"> 
     <description>The core of the app.</description> 
     <file src="bin/binaryapp" targetdir="$INSTALL_PATH/bin" 
      override="true"> 
      <os family="unix" /> 
     </file> 
     <file src="etc/config.conf" targetdir="/etc/appdir"> 
      <os family="unix" /> 
     </file> 
    </pack> 
</packs> 

Вы видите, что двоичная имеет приоритет = «истина», где конфигурации нет (по умолчанию переопределение = ложь). Бинарный файл обновляется, а config - нет.

Джефф

+0

Благодарим за отзыв, но пользователь может изменить путь установки, и в этом случае ваше программное обеспечение не будет обновлено, и у вас будут дублирующие установки. –

0

CheckedHelloPanel будет делать свою работу, по крайней мере, для окон. Он записывает что-то в реестр и проверяет это, если вы пытаетесь переустановить.

Смежные вопросы