Определите версию .NET Core во время установки (IzPack, BitRock, Install4J) - PullRequest
0 голосов
/ 20 февраля 2019

Я создаю сервисный установщик для различных платформ (Windows и Linux / Unix для запуска).Установка довольно проста, просто скопируйте / распакуйте некоторые файлы по выбранному пути, перепишите некоторые текстовые файлы настроек, скопируйте сервис и запустите его.(Процесс удаления - обратный).У меня проблема с определением версии .NET Core.

Для Windows, используя Inno Setup, я выполнил команду commandLine (dotnet --version), сохранив результат в временном файле,чтение его в переменную и удаление временного файла.

Я знаю, что подобный подход мог бы работать для установщика Linux, но я бы хотел сделать это немного чище, чем этот.Я хотел бы использовать бесплатный IzPack, но я также собираюсь взять BitRock или Install4J, так что советы по этому поводу помогут мне принять решение.Платные, кажется, поддерживают только определение версии .NET Framework, а не .NET Core.

Спасибо

1 Ответ

0 голосов
/ 01 августа 2019

Вы можете использовать что-то вроде этого в динамических переменных izpack:

<variable name="dotnet.version" executable="dotnet" type="process" ignorefailure="true">
  <arg>--version</arg>
  <filters>
    <regex regexp="... maybe filter the version from stdout by appropriate regex ..." />
  </filters>
</variable>

Тогда версия будет сохранена в свойстве, и вы сможете оценить ее или работать с ней так, как хотите.

Подробнее об этом можно найти здесь в документации izpack https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/491552/Dynamic+Variables

...