Get rid of all VC++ 2013 Redistributable #1498
Replies: 2 comments
-
Sorry I don't have a recent checkout on Stride available right now, but to get a quick idea of dependencies:
I remember VAHCD was one of the only dll still referencing MSVC2013 (there were many more but I think many were updated). Note: even if not used directly as an asset, it might be loaded at some point by GameStudio and/or asset compiler if Physics is used (not sure about that). |
Beta Was this translation helpful? Give feedback.
-
I am using https://github.com/lucasg/Dependencies which is a rewrite of DependecyWalker... I shall check this folder d:\Projects\GitHub\stride\sources\editor\Stride.Editor\bin\Debug\net6.0-windows7.0?
And look for something which belongs to 2013 Redistributable. Shall I be looking for files ***120.dll (https://gist.github.com/RDCH106/40fe61f447df58c1b9c83a1781374bcd) |
Beta Was this translation helpful? Give feedback.
-
Motivation: Making Build and Install process/steps bulletproof
I have put this together, if somebody would be doing the same research or would like to take over this..
I found this comment from @xen2 from 2019.
A few more comments from @manio143 in Discord (and here #856), that we need to install Microsoft Visual C++ 2013 Redistributable both x86 and x64. We do need them currently but we don't even mention it in the https://github.com/stride3d/stride Build docs, most likely because we assume we have got it already if we do some serious dev/game development.
I am doing lots of testing for code only approach + clean Windows 10 installation and would like to simplify the installation process.
Currently, if you don't install Microsoft Visual C++ 2013 Redistributable you can
dotnet build
and run project through command line. But when you use Visual Studio, then you can't build the project because it starts complaining because of this:Firstly checking for _StrideCheckVisualCRuntime2013 and then if both redistributable are installed.
c:\Users\Vacla\.nuget\packages\stride.core.assets.compilerapp\4.1.0.1734\buildTransitive\Stride.Core.Assets.CompilerApp.targets
Example for error in VS for code only example or FirstPersonShooter template example. I can build through the command line but not through VS.
I am getting lots of hints from @ericwj and I removed the
<Target></Target>
and I was able to build & run project through command line only with the latest package (Microsoft Visual C++ 2015-2022 Redistributable vcredist_x64.exe (25MB))Including Visual Studio doesn't complain anymore about 2013 version.
I tried also our template FirstPersonShooter and all was working.
Clean Win 10 Installed Software

My code only approach currently doesn't touch all Stride NuGets, so I don't know the dependencies on 2013 Redistributable.
My question is: Do we know exactly which native library is dependant on VC++ 2013 Redistributable?
I can see many DllImport references in the Stride solution but not sure how to find easily the one dependant on the above.
My naive assumption is that if I was able to
dotnet build
,dotnet run
FirstPersonShooter without VC++ 2013 Redistributable installed, do we actually need it? Obviously I don't know about the deep dependencies.I also tried to run Stride.GameStudio, and it didn't complain when debugging FirstPersonShooter template loading and building.
Thanks for any comments on this.
Beta Was this translation helpful? Give feedback.
All reactions