IzPack: возможно ли создать один апдейтер приложения? - PullRequest
1 голос
/ 27 января 2012

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

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

Ответы [ 2 ]

0 голосов
/ 14 августа 2013

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

0 голосов
/ 17 февраля 2012

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

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

<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>

Вы видите, что в двоичном файле есть override = "true", а в конфигурации нет (по умолчанию override = false). Двоичный файл обновляется, конфиг - нет.

Jeff

...