【问题标题】:Unable to install service fabric runtime无法安装服务结构运行时
【发布时间】:2022-04-18 23:37:48
【问题描述】:

更新

通过查看任务管理器下的进程,我能够找到 Service Fabric Runtime 的安装程序(下面尝试安装的两个组件中的第一个,显然是失败的那个)。

我找到了该文件并尝试从 Powershell 运行它(在首先删除了在我之前的尝试中创建的 Service Fabric 文件夹之后)。结果如下图所示: 显然是开始安装过程,然后卡住并停止,10分钟后超时,没有进一步的解释。

c:\Appl>MicrosoftServiceFabric.8.2.1363.9590.exe /accepteula /force
20.01.2022 08:26:11,Info,Installing Service Fabric Runtime. Logs written to C:\WINDOWS\TEMP\InstallFabricRuntime_637782675714458610.log
20.01.2022 08:26:11,Info,Running extract in parallel.
20.01.2022 08:26:11,Info,Unpackaging autoextractor...
20.01.2022 08:26:11,Info,20.01.2022 09:26:11 Running Process: powershell.exe -NoProfile -Command Get-ExecutionPolicy -Scope CurrentUser with timeout 00:01:00
20.01.2022 08:26:12,Info,Creating temporary runtime directory C:\Program Files\Microsoft Service Fabric.pxl3wsxg.zi0.
20.01.2022 08:26:12,Info,Extracting runtime cab to C:\Program Files\Microsoft Service Fabric.pxl3wsxg.zi0...
20.01.2022 08:26:12,Info,20.01.2022 09:26:12 Running Process: C:\WINDOWS\TEMP\MicrosoftServiceFabricAutoextractor.exe /L "C:\Program Files\Microsoft Service Fabric.pxl3wsxg.zi0" /E /Y with timeout 01:00:00
20.01.2022 08:26:12,Info,Current Powershell Execution Policy: Unrestricted
20.01.2022 08:26:12,Info,Searching for legacy installation registry key.
20.01.2022 08:26:12,Info,Service Fabric Product not detected in registry.
20.01.2022 08:26:18,Info,Successfully extracted cab file to C:\Program Files\Microsoft Service Fabric.pxl3wsxg.zi0
20.01.2022 08:26:18,Info,Moving FabricRoot files from 'C:\Program Files\Microsoft Service Fabric.pxl3wsxg.zi0' to 'C:\Program Files\Microsoft Service Fabric'.
20.01.2022 08:26:18,Info,Moved FabricRoot files 'C:\Program Files\Microsoft Service Fabric' successfully.
20.01.2022 08:26:18,Info,Installing Service Fabric Runtime... Logs written to: C:\WINDOWS\TEMP\FabricSetupLog_637782675714458610.log
20.01.2022 08:26:18,Info,Executing powershell.exe with parameters: -NoProfile -Command & 'C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code\InstallFabric.ps1' -FabricRootIsPreInstalled -AcceptEULA -LogPath C:\WINDOWS\TEMP\FabricSetupLog_637782675714458610.log
20.01.2022 08:26:18,Info,20.01.2022 09:26:18 Running Process: powershell.exe -NoProfile -Command & 'C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code\InstallFabric.ps1' -FabricRootIsPreInstalled -AcceptEULA -LogPath C:\WINDOWS\TEMP\FabricSetupLog_637782675714458610.log with timeout 00:10:00
20.01.2022 08:36:18,Error,Timeout 00:10:00 exceeded, terminating process..
20.01.2022 08:36:18,Error,Unable to install Service Fabric Runtime using C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code\InstallFabric.ps1. ExitCode: -1. Find additional logs at: C:\WINDOWS\TEMP\FabricSetupLog_637782675714458610.log.

原问题:

我不确定这是否是 SO 的有效问题,因为它与开发工具/系统的设置有关,而不是直接与编程问题有关,但我希望你能让它通过,我认为它可能对其他程序员也有用:

(注意,完全披露:我也将同样的问题注册为Service Fabric GitHub Repository下的问题。如果我在那里得到有助于解决问题的答案,我自然也会在这里添加它)。


未能安装 Service Fabric SDK

这是在 Windows 10(版本 10.0.19044)上

我从官方网站 (https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-get-started) 下载了安装程序并运行它,就像我之前在另一台 PC 上所做的那样,没有任何问题。

这次的结果如下:

查看两个日志中的最后一个,我得到(除其他外)以下内容:

DownloadManager Information: 0 : Starting EXE command for product 'Microsoft Azure Service Fabric Runtime - 8.2.1363'. Commandline is: 'C:\Users\*MyUserName*\AppData\Local\Microsoft\Web Platform Installer\installers\ServiceFabricRuntime_8_2_CU1\B9FBB56A2D94EADC21BE8863FF10FE681EC8348E\MicrosoftServiceFabric.8.2.1363.9590.exe /AcceptEULA'. Process Id: 15288
DownloadManager Information: 0 : Install exit code for product 'Microsoft Azure Service Fabric Runtime - 8.2.1363' is '1'
DownloadManager Error: 0 : Install return code for product 'Microsoft Azure Service Fabric Runtime - 8.2.1363' is Failure
DownloadManager Information: 0 : Product Microsoft Azure Service Fabric Runtime - 8.2.1363 done install completed
DownloadManager Information: 0 : Increasing current install to 2
DownloadManager Warning: 0 : Dependency failed for product 'Microsoft Azure Service Fabric SDK - 5.2.1363'. Skipping install

查看日志文件的第一个,我明白了:


19.01.2022 11:16:15,Info,Extracting runtime cab to C:\Program Files\Microsoft Service Fabric.otwin05u.dde...
19.01.2022 11:16:15,Info,19.01.2022 12:16:15 Running Process: C:\WINDOWS\TEMP\MicrosoftServiceFabricAutoextractor.exe /L "C:\Program Files\Microsoft Service Fabric.otwin05u.dde" /E /Y with timeout 01:00:00
19.01.2022 11:16:15,Info,Current Powershell Execution Policy: Unrestricted
19.01.2022 11:16:15,Info,Searching for legacy installation registry key.
19.01.2022 11:16:15,Info,Service Fabric Product not detected in registry.
19.01.2022 11:16:15,Info,Found legacy fabric files at C:\Program Files\Microsoft Service Fabric. Start removal...
19.01.2022 11:16:15,Info,Executing powershell.exe with parameters: -NoProfile -Command & 'C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code\CleanFabric.ps1' -LogPath C:\WINDOWS\TEMP\FabricSetupLog.Uninstall_637781913748003856.log
19.01.2022 11:16:15,Info,19.01.2022 12:16:15 Running Process: powershell.exe -NoProfile -Command & 'C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code\CleanFabric.ps1' -LogPath C:\WINDOWS\TEMP\FabricSetupLog.Uninstall_637781913748003856.log with timeout 00:10:00
19.01.2022 11:16:18,Error,Failed to uninstall Service Fabric through CleanFabric.ps1. ExitCode: 1. Find additional logs at: C:\WINDOWS\TEMP\FabricSetupLog.Uninstall_637781913748003856.log.
19.01.2022 11:16:18,Error,Uninstallation hit an issue.
19.01.2022 11:16:18,Info,Cleaning temporary directory C:\Program Files\Microsoft Service Fabric.otwin05u.dde
19.01.2022 11:16:21,Info,Successfully extracted cab file to C:\Program Files\Microsoft Service Fabric.otwin05u.dde
Press enter to exit. Process will automatically close after 30 seconds.

我试图找到提到的其他日志 (C:\WINDOWS\TEMP\FabricSetupLog.Uninstall_637781913748003856.log),但该位置不存在此类日志文件。我能找到的唯一日志文件是上面提到的那些(位于c:\windows\Temp 下)。

我还尝试按照 Web 安装程序中的“直接下载”链接(见下文),但这只能确认首先需要 Service Fabric Runtime。

我们将不胜感激任何可能帮助我找到潜在问题的提示。

PS(在下方评论后更新)
我意识到以前安装的剩余文件似乎存在问题。其中一个日志文件提到了文件夹C:\program files\ServiceFabric。这个文件夹确实是在我尝试安装时创建的,但在再次尝试之前我已经手动删除了它。我已经多次这样做了,并且在这和重新安装尝试之间重新启动了我的电脑,只是为了确定。简而言之,我找不到任何 Service Fabric 的痕迹,但它仍然告诉我它无法卸载。为了安全起见,我也尝试过完全删除 Visual Studio,以防它以某种方式存在一些链接/依赖关系,但我仍然得到相同的结果。

【问题讨论】:

  • 您的现有安装似乎无法删除? Found legacy fabric files at ...,尝试手动删除或重命名它正在搜索的文件夹:C:\Program Files\Microsoft Service Fabric
  • 感谢您的意见,但我已经尝试过了。我已经更新了我的问题。

标签: .net azure powershell azure-service-fabric


【解决方案1】:

几天后,我终于自己解决了这个问题。

简短的故事:部分安装脚本(PS1 脚本)由于 Powershell 默认运行在 32 位而不是 64 位而停止。我可以通过在 PS7 管理控制台中手动运行该过程的各个部分来解决这个问题。

说来话长

SF 运行时的安装只是在某一时刻停止并超时。通过查看任务管理器下的相关进程,我能够直接从 Powershell 找到并运行该特定安装程序。这样做并没有给我更多信息,但至少我可以看到它刚刚停止在一个似乎正在运行的脚本中间,即使它没有花费任何资源(内存或 cpu)。基于此,我猜测可能是 32 / 64 位问题。

请注意,此脚本与安装程序本身不同 - 它是从中调用的脚本,并且需要先运行安装程序。我无法更改安装程序调用 PS 的方式并使其使用 64 位版本,但最终我能够通过以下方式解决它:

  • 首先从第 7 版 Powershell 运行 SF 运行时安装程序(以管理员身份!),然后继续运行,直到它失败:

    .\MicrosoftServiceFabric.8.2.1363.9590.exe /force /accepteula

  • 然后重新运行失败的特定脚本,其参数与我在运行安装程序的输出中看到的参数相似(请注意,我在此处删除了 LogPath 参数,因为由于某种原因它未被识别为有效):

    .\InstallFabric.ps1 -FAbricRootIsPreInstalled -AcceptEULA

完成此操作后,我终于能够运行最初的 Web 平台安装程序,它现在只尝试安装 SDK(意识到所需的运行时已经到位)。

这似乎可行,但还有一个障碍:出于某种原因,SF 无法在默认位置设置和运行本地集群;有一条错误消息提到有关访问权限的内容。我无法阅读所有内容,因为它被裁剪为仅在状态栏上显示几秒钟的状态消息,并且它所引用的日志不存在。无论如何,我通过为 SF 指定一个不同的目录来解决这个问题——我知道我可以访问这个目录。再次,PowerShell 7(作为管理员!)来救援:

cd "C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\"

.\DevClusterSetup.ps1 -PathToClusterDataRoot "C:\MySfFolder\ServiceFabric\Dev" -PathToClusterLogRoot "C:\MySfFolder\ServiceFabric\Logs"

当我终于确认我的五节点集群已成功创建并启动并运行时,我松了一口气:

【讨论】:

  • 这个文件在哪个位置? .\MicrosoftServiceFabric.8.2.1363.9590.exe 并从哪里下载它,我可以安装 SDK 但看不到运行时,过去我的注册表有问题,因为未安装运行时需要删除此条目HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\ServiceFabric。做完之后。我再也看不到运行时了
【解决方案2】:

我遇到了同样的问题,我想升级我的 Service Fabric 版本,当我从我的计算机上卸载当前版本时,我的控制面板仍然显示运行时版本,但这次没有 Service Fabric 图标,每次我正在安装另一个版本的 SDK,它已更新但缺少运行时。

我对此的解决方案是:

1- 使用巧克力 2- 在巧克力包服务结构上查找service fabric package 3- 以管理员权限运行 Powershell 并运行命令:choco install service-fabric

这将为您安装运行时 + SDK,如果您对 SDK 有任何问题,您也可以通过 Chocolatey 命令安装它choco install service-fabric-sdk

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2017-12-03
    • 2017-04-12
    • 1970-01-01
    • 2018-07-26
    • 2020-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-27
    相关资源
    最近更新 更多