Standalone and completely offline wpf app

774
2
03-22-2022 01:35 AM
Lazyman
New Contributor II

I want to develop a standalone and completely offline wpf app. I refer to the documentation but cannot figure out how to create local data, such as creating geodatabase and adding new point/polyline/polygon feature class, or just creating a shapefile. 

It seems that I have to install local server which requesting additional license. What's more, every copy of my wpf app deploy to client pc have to install a local server?

0 Kudos
2 Replies
VolkerMatzken
New Contributor III

For a simple viewer app, I would recommend to compose the map with ArcGIS Pro and export that map as a mobile map package (mmpk). Be sure to include all referenced data into the package.

To open the package, have an esri:MapView in your Xaml and in code behind, something like:

MobileMapPackage MyMapPackage = await MobileMapPackage.OpenAsync(mmpk_filename);

await MyMapPackage.LoadAsync();

MyMapView.Map = MyMapPackage.Maps.First();

This way, it will load much much faster and will consume less resources than with local server.

 

Nicholas-Furness
Esri Regular Contributor

Hi,

There are 4 core approaches that you can pick from to build an offline app, outlined here. For a completely offline app that will never be able to connect to a network, @VolkerMatzken's suggested option of creating a Mobile Map Package in ArcGIS Pro is a great approach (Pro can also generate Mobile Geodatabases that you can open in your Runtime app - the difference really depends on whether you want to configure the map in Pro or programmatically define one in your Runtime app).

But as you noticed, you will need a way to create the local file(s) that you will use though. As mentioned in @VolkerMatzken's reply, you can use ArcGIS Pro to create a Mobile Map Package (MMPK) or Mobile Geodatabase, or you can create Shapefiles or GeoPackages with Pro and many other tools.

Note however that non-Esri-proprietary file formats like Shapefiles, GeoPackages etc. will require a Standard Runtime license, whereas working with Esri-proprietary files created with ArcGIS Pro (e.g. MMPKs, Mobile Geodatabases, Tile Packages, or Vector Tile Packages) can be used with a Lite license. If you intend to edit feature data, you will need a Basic license. You can learn more about the license levels here, although as a quick summary: you can do most things at Lite, editing requires Basic, and non-Esri-proprietary local files require Standard.

You most likely don't need Local Server. Local Server is a specialized augmentation to Runtime that is meant for consuming specific geoprocessing workflows or connecting to enterprise geodatabases.

Hope that helps.