Многоплатформенный установщик

Если вы знаете размер списка:

def SplitList(mylist, chunk_size):
    return [mylist[offs:offs+chunk_size] for offs in range(0, len(mylist), chunk_size)]

Если вы не знаете (итератор):

def IterChunks(sequence, chunk_size):
    res = []
    for item in sequence:
        res.append(item)
        if len(res) >= chunk_size:
            yield res
            res = []
    if res:
        yield res  # yield the last, incomplete, portion

В последнем случае его можно перефразировать в более красивой форме. Кстати, если вы можете быть уверены, что последовательность всегда содержит целое количество фрагментов заданного размера (т. е. нет неполного последнего фрагмента).

5
задан sorin 9 May 2010 в 17:04
поделиться

5 ответов

IzPack - генератор установщика программного обеспечения с открытым исходным кодом. Все, что вам нужно, это JRE на целевой платформе.

2
ответ дан 14 December 2019 в 04:45
поделиться

InstallAnywhere кажется доминирующим игроком.

3
ответ дан 14 December 2019 в 04:45
поделиться

Должен ли он быть установщиком на основе клиента для широкого распространения или просто для интрасети? Для корпоративных локальных сетей иногда лучшим решением является создание страницы Java Webstart; у клиентов всегда есть доступ, они могут создавать ярлыки на рабочем столе для запуска, как стандартное приложение, а вы имеете полный контроль над отправкой обновлений.

0
ответ дан 14 December 2019 в 04:45
поделиться

You can take a look at BitRock InstallBuilder It supports all the platforms you mention, and it does not depend on Java (though you can use it to install Java programs, in fact many of our customers use it for that, including Sun Microsystems :)

1
ответ дан 14 December 2019 в 04:45
поделиться

Возможно, это мое личное мнение, но я думаю, что установщик, вероятно, единственное, что вы можете сохранить для конкретной платформы, и вот почему:

  • его хорошо интегрировать с системами развертывания для конкретных платформ, такими как RPM или DEB в Linux, DMG в OS X или MSI в Windows. Используя их и разрешив как пользовательский интерфейс, так и автоматическую установку, вы упростите установку продукта для отдельных лиц, а также для корпоративных сред, где обычно продвигаются установки клиентам.
  • вы можете добавить перемещение экранов конфигурации за пределы установщика и запускать их в первый раз, когда пользователь запускает ваше приложение.
  • также не забывайте минимизировать сложность установщика - каждая добавляемая вами «функция» будет стоить вам дороже в плане обеспечения качества.
2
ответ дан 14 December 2019 в 04:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: