Как Вы делаете установщик обновления с NSIS?

Ответ уже упоминался выше, но я думаю, что отсутствует какая-то информация. Для тех, кто хочет анализировать временные метки Java 8 во многих формах (не только ZonedDateTime). Вам нужна последняя версия jackson-datatype-jsr310 в вашем POM, и у вас зарегистрирован следующий модуль:

ObjectMapper objectMapper = new ObjectMapper();
objectMapper.registerModule(new JavaTimeModule());
objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);

Для проверки этого кода

@Test
void testSeliarization() throws IOException {
    String expectedJson = "{\"parseDate\":\"2018-12-04T18:47:38.927Z\"}";
    MyPojo pojo = new MyPojo(ZonedDateTime.parse("2018-12-04T18:47:38.927Z"));

    // serialization
    assertThat(objectMapper.writeValueAsString(pojo)).isEqualTo(expectedJson);

    // deserialization
    assertThat(objectMapper.readValue(expectedJson, MyPojo.class)).isEqualTo(pojo);
}

Обратите внимание, что вы можете настроить объектный преобразователь глобально. весной или dropwizard для достижения этой цели. Я еще не нашел чистого способа сделать это как аннотацию к полю без регистрации пользовательского (де) сериализатора.

10
задан staackuser2 13 June 2009 в 09:26
поделиться

2 ответа

Возможно, вы захотите пересмотреть использование NSIS.Если вы занимаетесь исправлением и распространением обновлений, вы, вероятно, получите наибольшую выгоду от использования технологии установщика, которая использует возможности установщика Windows (msiexec).

NSIS - это, по сути, программа, которая запускается и делает то, что вы хотите, тогда как установщик типа Windows Installer вынуждает вас разделить ваше приложение на функции и компоненты, которыми можно управлять с помощью службы msi установщика Windows. MSI будет отслеживать такие вещи, как то, какие версии продуктов вы установили, будет ли программа установки снова запускаться в режиме обслуживания, разрешено ли вам установить 2 продукта разных версий, можно ли применить исправление к определенной версии продукта или любые другие вопросы, связанные с обновлениями и установками.

Обычно большая часть запрашиваемого материала будет доступна "из коробки", если вы перейдете на технологию установщика Windows. Тогда как если вы используете NSIS (который не использует технологию Windows Installer), вам придется реализовать все это самостоятельно.

В качестве примера есть довольно обширный конструктор установщиков под названием AdvancedInstaller ( http://www.advancedinstaller.com/ ), который звучит так, как вы хотите. В качестве альтернативы, если вы хотите провести остаток своей жизни, изучая форумы и группы новостей, тогда есть продукт с открытым исходным кодом под названием WiX, который делает нечто подобное;)

15
ответ дан 3 December 2019 в 18:00
поделиться

Один из возможных способов - сохранить XML-файл на вашем сервере загрузки, который содержит каждую выпущенную версию и список файлов, изменяемых для каждого выпуска. Установщик запишет раздел реестра при установке установленной версии файлов.

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

2
ответ дан 3 December 2019 в 18:00
поделиться
Другие вопросы по тегам:

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