如何测试安装了哪个版本的 Service Fabric Runtime

How to test which version of Service Fabric Runtime is installed

任何人都知道如何测试是否安装了正确版本的服务结构。

我想在我的构建服务器配置中添加一个部分,以确保服务结构 cmdlet 已安装并可供我们的构建进程使用。

我想安装这个exe https://download.microsoft.com/dow nload/1/A/A/1AA062F9-0E1D-40E9- BD4F6F12ABB71083/MicrosoftServiceFabri c.6.3.176.9494.exe 在 windows 2016 盒子上,如果它还不存在的话。

我看过

get-wmiObject -class Win32_Product

但它似乎没有出现在那里,是 windows 更新还是什么?

以下内容不正确,请参阅 Diego 评论

所以似乎有一个作为运行时的一部分安装的 powershell 命令可以回答这个问题。

(Get-Module -ListAvailable ServiceFabric) -ne $null -and (Get-ServiceFabricRuntimeSupportedVersion -Latest).Version -eq "6.3.176.9494"

这会让我暂时离开,但如果有人有任何更好的建议,请告诉我。干杯。

到目前为止最好的解决方案感谢 Diego

(Test-Path 'HKLM:\SOFTWARE\Microsoft\Service Fabric\') -and (Get-ItemPropertyValue 'HKLM:\SOFTWARE\Microsoft\Service Fabric\' -Name FabricVersion) -eq "6.3.176.9494"

有几种方法可以识别当前安装的版本:

  1. 注册表项

    • 打开注册表编辑器 (regedit)
    • 导航至:Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Service Fabric
    • 找到钥匙:FabricVersion
    • 您也可以通过 powershell 来完成:Get-ItemPropertyValue 'HKLM:\SOFTWARE\Microsoft\Service Fabric\' -Name FabricVersion
  2. 二进制版本

    • 转到运行时安装文件夹,如下所示:C:\Program Files\Microsoft Service Fabric\bin\
    • 找到应用程序 FabricHost.exe 并单击属性,转到选项卡详细信息,版本将列在那里
  3. 已安装的应用程序

    • 转到控制面板 > 程序 > 程序和功能
    • 在列表中搜索 'Fabric' 和 select 'Microsoft Azure Service Fabric'
    • 详情中会显示应用版本
  4. Service Fabric Explorer

    • 打开服务结构资源管理器
    • 转到节点列表和select一个
    • 导航到选项卡 Details
    • 查找属性Code Version
    • 您也可以通过以下方式使用此方法:
      • 系统 > fabric:/System/ClusterManagerService > 详情 > Manifest Version

通过(现代)C# API (QueryManager):

using FabricClient fabClient = new FabricClient();
var x = await fabClient.QueryManager.GetNodeListAsync("SFRole0_0");
string version = x[0].CodeVersion;

通过 Powershell:

Get-ServiceFabricNode -NodeName SFRole0_0 | Select CodeVersion