Q:

When changing the path of an image from "included in the app" to an external source, it does not work. Why?

We are working on an app that uses json to tell the app what the image paths are. There is a background updater that runs such that the json file is downloaded and then from that new json file, we get the new paths of images.
The flow of the app is this:

App start, check update status.
If app needs update, go to update page.
Download new assets into a directory.
Change the name of the original directory that has the original assets to something else.
Change the name of the new directory with the new assets to the name of the original directory.
Once complete, load the main app.

For some reason, none of the images are showing up at all. I tried using different path prefixes like ms-appx:/// and ../. I even tried setting the path directly in the xaml instead of using data binding. Is there something I am missing?
Edit: More info - I put an "ImageFailed" event on the image object in the xaml. It fails every time with the "e" argument as "E_NETWORK_ERROR". Researching this error does not give me much help.
Edit 2: If I put in the EXACT path, including the drive letter and everything, it works. I don't understand why.
Thanks,
Zach

A:

Ok... It took a lot of digging but apparently for Windows 8.1 Universal apps (I do not know about other windows apps) the usage of ms-appx:/// is specifically for files inside the app package whereas the usage of ms-appdata:/// is for files in the app directory like the "local", "temp", and "roaming" data folders.
The fix was to change all of the ms-appx:/// to ms-appdata///Local/ in the json because these files are downloaded into the Local folder of the app.
Hope this helps others to not have to dig as deep as I did.
Zach

