Rich,
Thanks for the reply, I guess I was just a little confused about how it worked, the docs (Deploy your app—ArcGIS Runtime SDK for .NET | ArcGIS for Developers ) seemed to me to indicate that the ArcGISRuntime100.0 folder would be included in the deployment. It is, in a way; it is created in the bin/Release folder correctly, but it is not included "Application Files" within the Publish tab on the project properties (All of the language resources and the root Esri.ArcGISRuntime.dll are). So I had to go through some extra work to get those files to be included in the publish.
Anyway, now that they are in the publish, the app still gives that error when I run it on a different computer. The ArcGISRuntime100.0 folder is there, and is exactly the same as it is in the "Release." I have even copied the entire "Release" folder to a fresh machine and tried to run my app, but I get the same error each time.
If I put a try/catch around the SetLicense call I get this:
With this in the event viewer:
Application: RiskViewer.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.DllNotFoundException
at RuntimeCoreNet.GeneratedWrappers.CoreArcGISRuntimeEnvironment.CoreRT_ArcGISRuntimeEnvironment_setInstallDirectory(Byte[], IntPtr ByRef)
at RuntimeCoreNet.GeneratedWrappers.CoreArcGISRuntimeEnvironment.SetInstallDirectory(System.String)
at Esri.ArcGISRuntime.ArcGISRuntimeEnvironment.TryInitialize()
Exception Info: System.InvalidOperationException
at Esri.ArcGISRuntime.ArcGISRuntimeEnvironment.TryInitialize()
at Esri.ArcGISRuntime.ArcGISRuntimeEnvironment.InitNative()
at Esri.ArcGISRuntime.ArcGISRuntimeEnvironment.Initialize()
at Esri.ArcGISRuntime.ArcGISRuntimeEnvironment.SetLicense(System.String)
at RiskViewer.App..ctor()
at RiskViewer.App.Main()
So, I downloaded decency walker (which is kinda old) and found that it could not load this (and related): API-MS-WIN-CORE-WINRT-L1-1-0.DLL
But, from previous experience I know that dependency walker sometimes messes up when it comes to this DLL, so I used Process Monitor, and filtered it for my app and found that it does in-fact find the RuntimeCoreNet.dll:
However, as I continued to scroll through the results, I found that it does not find MSVCP140.dll:
So, the machine is missing the VC++ Redistributable. I didn't remember needing that when I tested this in the beta, so I checked, and my test deployment from the beta had the following extra DLLs: concrt140.dll, msvcp140.dll, vcccorlib140.dll, and vcruntime140.dll
I'm not sure if those used to be included in the deployment in the Beta or, if I added them (I don't remember). But adding those four files fixed my issue.
I'm not sure if this is important at this point but, it does not matter if I select "Any CPU," "x86," or "x64" I only get the client32 folder, I never get a client64 folder. I used to get a client64 folder in the beta, but now no matter what I do, I don't get one.