This is very important for developers to label their release of works with correct version number. This is not only for easy management, but it is also easy for troubleshooting. Since Universal Apps Development introduced last year (2014) during //build, version number is mandated for all the release for Windows Store and Windows Phone apps.
When developers create the AppPackages for store submission, developers will have an options either let the Store automatically assign incremented version number based on your previous number or developers have the rights to modify the version number accordingly.
Originally, the version number will be store in AppxManifest.xml file inside your AppPackages. When developers uploading the AppPackage to the Store, the store system will read the version number of your package from this file. This is still "valid" if you are submitting a Windows Store apps or Windows Phone apps but not both.
AppPackages is actually a zip file, developers can open the file with any compression software, in my case, I'm using WinRAR to open it.
As you can see from the left, this is the "standard" file structure, and you can find the AppManifest.xml file there.
Double click to open the AppManifest.xml, you should be able to see your app identity, publisher ID and version number. This where the Store will get the value from.
Once you create another AppPackages for the store submission (if you submit the Windows Store app first, then Windows Phone apps next), a new folder called "AppxMetadata" with "AppxBundleManifest.xml" will be created.
Double click to open the AppxBundleManifest.xml, you will notice that there is similar to AppManifest.xml, except the the "Version" number is no longer the same as what developers set during the AppPackages creation process.
When developers upload the AppPackages to the Stores, this is the version number the store will be picking up. Developers are advise not to change this number, as it could causing the update of the app can't push out to the existing users and potentially affecting the future app updating.
If developers using Windows.ApplicationModel.Resources.ResourceLoader to read the PackageVersion number, the original 1.0.04 will be shown instead of the system generate version number.
Yes! It is confused!
I personally was caught in this dilemma in last two days, and thought if is my computer is infected by virus. End up with I opened a support ticket with the Store support team, and they clarify to me that this is the changes which took place very very recently.