You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browse filesBrowse the repository at this point in the historyBrowse files
authored
Fix tray crash-loop: source x64 VC++ runtime from VS install at publish time (#713)
* Initial plan
* fix: source x64 VC++ runtime from VS install at publish time to fix onnxruntime crash
The VCRuntime.CefSharp.140 NuGet ships 14.29 DLLs that are too old for
onnxruntime 1.26. When these sit app-locally they shadow the system
runtime, causing sherpa-onnx-c-api to fail init (0x8007045A) and the
OfflineTts finalizer to crash-loop.
Both x64 and ARM64 publish now resolve VC++ runtime DLLs from the
Visual Studio install via vswhere (ARM64 already did this). The NuGet
is retained only as a dev-time convenience for local x64 builds.
Also adds a minimum version floor (14.38) in the release validation
script to prevent regressions.
Co-authored-by: shanselman <2892+shanselman@users.noreply.github.com>
* test(release): probe TTS native stack
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix(release): run TTS probe under dotnet
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: shanselman <2892+shanselman@users.noreply.github.com>
Co-authored-by: Scott Hanselman <scott@hanselman.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
$errors.Add("TTS native stack probe crashed with exit code $exitCode. This usually means the app-local Sherpa/ONNX native dependency chain failed to initialize.")
260
+
return
261
+
}
262
+
263
+
$tail=@($output|Select-Object-Last 12) -join""
264
+
$errors.Add("TTS native stack probe failed with exit code $exitCode. $tail")
265
+
}
266
+
}
267
+
268
+
# onnxruntime >= 1.20 is built with a VS 2022 toolchain that requires
269
+
# VC++ runtime 14.38+. Shipping older DLLs app-locally shadows the system
270
+
# runtime and causes 0x8007045A DllNotFoundException at startup.
271
+
# Floor: 14.38.33130.0 (VS 17.8, the first 14.38 release).
$errors.Add("VC++ runtime $(Get-RelativePath-Root $payloadRoot-Path $File.FullName) is version $fileVer, which is older than the minimum $($script:VCRuntimeMinVersion) required by onnxruntime. Update the VC++ Redistributable or Visual Studio install.")
Text="vswhere.exe not found at '$(_OpenClawVsWherePath)'. Publishing for win-arm64 requires a Visual Studio install with the C++ Redistributable (Microsoft.VisualStudio.Component.VC.Redist.14.Latest) component. Install Visual Studio 2022 or later with that component, or publish for win-x64 instead." />
36
+
Text="vswhere.exe not found at '$(_OpenClawVsWherePath)'. Publishing requires a Visual Studio install with the C++ Redistributable (Microsoft.VisualStudio.Component.VC.Redist.14.Latest) component." />
<ErrorCondition="'$(_OpenClawVsInstallRoot)' == '' or !Exists('$(_OpenClawVsInstallRoot)')"
45
-
Text="vswhere did not find a Visual Studio install with the C++ Redistributable (Microsoft.VisualStudio.Component.VC.Redist.14.Latest) component (got '$(_OpenClawVsInstallRoot)'). Install that component via the Visual Studio Installer (Individual Components tab), or publish for win-x64 instead." />
45
+
Text="vswhere did not find a Visual Studio install with the C++ Redistributable (Microsoft.VisualStudio.Component.VC.Redist.14.Latest) component (got '$(_OpenClawVsInstallRoot)'). Install that component via the Visual Studio Installer (Individual Components tab)." />
46
46
47
47
<!--
48
48
Glob the loose CRT DLLs. The Microsoft.VC*.CRT folder name carries the VS
@@ -52,23 +52,37 @@
52
52
vcruntime140*.dll + msvcp140*.dll to match the file set the x64 NuGet
53
53
ships (concrt140/vccorlib140/vcruntime140_threads aren't needed by
54
54
libsodium and aren't in the x64 payload either).
55
+
56
+
For x64 this replaces the stale NuGet-sourced items so publish always
Text="No ARM64 VC++ Runtime DLLs were found under '$(_OpenClawVsInstallRoot)\VC\Redist\MSVC\*\arm64\Microsoft.VC*.CRT\'. Install the 'C++ ARM64/ARM64EC build tools' and 'C++ Redistributable Update' Visual Studio components." />
71
+
Text="No $(OpenClawVCRuntimeArch) VC++ Runtime DLLs were found under '$(_OpenClawVsInstallRoot)\VC\Redist\MSVC\*\$(OpenClawVCRuntimeArch)\Microsoft.VC*.CRT\'. Install the C++ Redistributable Update Visual Studio component." />
63
72
</Target>
64
73
74
+
<!-- Legacy alias so existing CI log searches and docs still find the target. -->
0 commit comments