0

我正在为各种平台(Windows 和 Linux/Unix 启动)创建一个服务安装程序。安装非常简单,只需将一些文件复制/解压到所选路径,重写一些设置文本文件,复制服务并启动它。(卸载过程是相反的)。我遇到的一个问题是确定 .NET Core 版本。

对于 Windows,使用 Inno Setup,我通过执行命令行命令 (dotnet --version)、将结果保存到临时文件、将其读取到变量并删除临时文件来做到这一点。

我知道,类似的方法可能适用于 Linux 安装程序,但我想比这更干净一些。我想使用免费的 IzPack,但我也在考虑使用 BitRock 或 Install4J,所以关于这些的建议可以帮助我做出决定。付费的似乎只支持确定 .NET Framework 版本,不支持 .NET Core。

谢谢

4

1 回答 1

0

您可以在 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

于 2019-08-01T13:05:02.723 回答