无法安装服务结构运行时

Unable to install service fabric runtime

更新

通过查看任务管理器下的进程,我能够找到 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 问题,因为它与开发人员的设置有关 tool/system,而不是直接的编程问题,但我希望你能让它通过,因为我认为它也可能对其他程序员有用:

(注意,完全披露:我也将同样的问题注册为 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 上所做的那样,没有任何问题。

本次结果如下:

查看两个日志的 last,我得到(除其他外)这个:

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

查看日志文件的 first,我得到:


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 安装程序中遵循“直接下载”link(见下文),但这只能确认首先需要 Service Fabric Runtime。

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

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

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

短篇小说: 部分安装脚本(一个 PS1 脚本)由于 Powershell 默认停止 运行 在 32 位而不是 64 位少量。我能够通过在 PS7 管理控制台中手动 运行 处理过程的各个部分来解决这个问题。

说来话长

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

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

  • 运行 Powershell 第 7 版的 SF 运行time 安装程序(作为管理员!),然后继续直到失败点:

    .\MicrosoftServiceFabric.8.2.1363.9590.exe /force /accepteula

  • 然后重新运行失败的特定脚本,其参数与我在 运行ning 安装程序的输出中看到的参数相似(请注意,我删除了 LogPath 参数在这里,因为某些原因它不被认为是有效的):

    .\InstallFabric.ps1 -FAbricRootIsPreInstalled -AcceptEULA

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

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

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

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

当我最终确认我的五节点集群已成功创建并启动并且 运行ning:

时,我松了一口气

我有同样的问题,我想升级我的服务结构版本,当我从我的计算机卸载当前版本时,我的控制面板仍然显示 运行time 版本,但这次没有服务结构图标,每次我安装另一个版本的 SDK 时,它都会更新,但缺少 运行时间。

我的解决方案不是 Stand-Alone option which didn't fix my problem or with regular setup 而是:

1- 使用巧克力味 2- 在巧克力包装服务面料上找到 service fabric package 3- 运行 具有管理员权限的 Powershell 和 运行 命令:choco install service-fabric

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

希望对您有所帮助