AnsweredAssumed Answered

Deployment problems with C++ sdk for 100.2 runtime windows using msvc2017_64

Question asked by cnuckols_cole on Jul 27, 2018
Latest reply on Jul 30, 2018 by cnuckols_cole

I'm having trouble deploying software from my  PC (on which I am developing our app) to our tablets (which are identical to our clients' systems).  Both use windows and the msvc compilers are up to date on both of the systems.  I know the tablets meet the system requirements for the runtime, because I've been able to build and deploy sample apps.    For instance, on the tablets, I can build and deploy the basic 'Display Map' sample if I comment out

import Esri.ArcGIS Extras 1.1

but if I don't, the app loads, but nothing is rendered:

c++ sdk qt deployment error

 

I understand that the extras require more .dll files.  I'm able to deploy apps with the Extras component (to any location on disk) on the development PC even if I explicitly set the runtime environment variable:

ArcGISRuntimeEnvironment::setInstallDirectory(QDir::currentPath());

I should note, that I am not actually using the extras component in my app.  Deployment of the sample apps was part of my  attempt to diagnose the issue, and I came across that problem.   To deploy my app on the development PC, I take the following steps:

1. Compile my release in QtCreator.  This stores the executable here:

C:\Users\cnuckols\ArcGIS\AppStudio\Apps\build-ULIP-Desktop_Qt_5_10_0_MSVC2017_64bit-Release

And the storage folder for my source code is:

C:\Users\cnuckols\ArcGIS\AppStudio\Apps\ULIP\

2. Move the executable to a folder on my desktop:

C:\Users\cnuckols\Desktop\Deployment2\ULIP.exe

3. Use the qt deployment tool for windows:

qt deployment tool windows 100.2 runtime

I should note that I've tried this with and without the angle option.

 

4. Copy the sdk runtime .dlls to the deployment folder:

core runtime dll release cpp sdk

Here are the contents of my deployment folder:

deployment folder contents

5. I run the app, and it works correctly.  However, when I move the deployment2 folder to the tablet it executes, but nothing is rendered:

I get no error messages and no warnings.

 

To further clarify, when I look at which dlls are being used by ULIP.exe in the tablet,  msvcp140.dll and vcruntime140.dll. are both listed (the ones contained in System32):

C:\WINDOWS\SYSTEM32\MSVCP140.dll

and

C:\WINDOWS\SYSTEM32\VCRUNTIME140.dll

 

-I have read the page on deploying the app:

Deploy your app—ArcGIS Runtime SDK for Qt | ArcGIS for Developers 

-I have read the system requirements page for the newer runtime:

System requirements for 100.3.0—ArcGIS Runtime SDK for Qt | ArcGIS for Developers 

-I have read every geonet thread on deployment issues for the Qt SDK

-I am using the QtQuick Compiler

-I've been using the Qt windows deployment tool and have read the Qt page about using the tool:

Qt for Windows - Deployment | Qt 5.11 

 

Thanks!

Outcomes