Do ApplicationData.localSettings get cleared when the app gets updated? - windows-store-apps

I'm working on modern Windows 8 app and wanted to figure out if Windows.Storage.ApplicationData.current.localSettings (msdn doc is here) get cleaned up when the app gets updated by the store.

Those settings are preserved across app updates, as are the roamingSettings and the contents of localFolder, roamingFolder, and tempFolder. In other words, performing an app update does not affect any of the appdata state, which makes perfect sense when you consider that many updates are minor bug fixes and should not in the least way require resetting or migrating existing state.
Do note that uninstalling an app and then reinstalling it will clean out localSettings, localFolder, and tempFolder. roamingSettings and roamingFolder will be restored provided that the user has had the app installed on another device within some reasonable period of time (unspecified, but something like 30 days).
It's also good to know that app state has its own versioning scheme through ApplicationData.setVersionAsync, and that an app update can choose, if it wants to migrate appdata from one version to another. Examples can be found in the Application Data sample.

No, your local settings will persist between app updates.

Related

How to make Windows 10 Store "forget" an app download for testing purposes?

I'm testing my Win32 app converted to UWP, so I'm new to the whole Windows 10 Store concept.
So far I was able to get my app certified & published in the store via a private link. Now I would like to download and test it, but there's an issue.
The first time someone sees the app it has the following options:
but once you get it, all you see is this:
and even if you log in under a different Microsoft account (on the same computer), or previously uninstall the app, you get this:
and "free trial" simply installs it w/o a trial in that case.
So my question is, how do I make Windows Store "forget" that I have this app?
If you have bought the app you can't undo that, but you can always create a new user who has never bought for the testing purpose.
EDIT: Windows Store is for real transactions and not for testing. If you want to test, you should have a custom build that uses CurrentAppSimulator instead of CurrentApp

Updating a Windows Store App

I have an 8.1 app in the Windows Store and it is currently being bought and used by customers. I have made some changes to the app that I want to deploy out to my testers. From what I've read, I should update the app and set it's distribute and visibility to Hide and Prevent Acquisition so that only my testers can download it.
If I change the visibility in the update, does that mean that no one can download the previously deployed version anymore? The goal here is to involve testers in an automated fashion via the store without affecting the app in production until it's been tested and approved.
As far as I know, you can't do that.. if you, this will effect the whole submission (even the public)..
What I suggest to do (and all the beta apps providers are doing including me) is to create another app -submission- marked as preview and thought this you can submit any beta versions, and when a release is ready.. you can push the last beta to the public app :) .

Recording script with LoadRunner

I'm trying to record a script with LoadRunner but nothing happens...
I'll try to be more specific: I create a new web-based script (Web - HTTP/HTML) because I want to record actions taken into IE.
I start doing things in IE and then stop the recording.
What I expect is to find into "Action" the code that describes what I've just done in IE but nothing appears: "Action"contains only the return.
Any idea about what could be the issue?!
EDIT: I'm not recording any HTTPS action...
Have you engaged in any activity in IE which connects to a server across the HTTP protocol, submitting requests and pulling responses? if not, then you should not expect to see anything recorded.
There are also all sorts of permutations of 64 bit IE, of specific release numbers, versus your 32 bit recording engine of LoadRunner and specific release numbers, plus your credentials and any conflicts from antagonistic antivirus that could come into play.
The sample applications are your control set, such as the sample flights reservation system. If you cannot record against that site with your version of LoadRunner then you have a conflict in one of the following
Failed Installation
Wrong Credentials
Conflicting Antivirus (disable for testing)
version conflicts (see requirements for your version of LoadRunner)
64 bit IE and 32 bit VUGEN (see proxy model for recording)
You may try local proxy recording.

Using a web browser read system time, display data and write configuration data from a USB Mass storage class

I've an embedded system which runs firmware and has USB mass storage with size 79kB. So when you plug in the device to any computer(MAC/Windows), it pops as a 79kB flash drive. The firmware creates files which has transaction records. The objective is to display these transactions (tables and simple graphs) to the user. I've narrowed down to a web browser. So the user (with MAC/Windows PC) can plug in the USB device mass storage and open an HTML file in the mass storage drive and view all the transactions in the form of tables and simple bar graphs. The tricky part comes here: the device(firmware) needs to update it's clock, and this time input has to be sourced from the MAC/Windows PC. How can this be achieved?
This is the minimum requirement. Further, through the web browser the user wants to write some configuration parameters for e.g. through a text box and a submit button in the HTML page.
NOTE: Here the device has USB mass storage type and the web browser approach were selected so that there is no prerequisites for the user.
Please suggest an alternative if this can be done using another approach for e.g. a different class of USB or some other application locally available on MAC/Windows desktop/laptop. For e.g. the application should run on both on Mac and Windows i.e. the code should be the same but can be built into separate packages one for Mac and the other (.exe) for Windows. Please suggest a platform for this that has same source but can be built for both mac and windows. Thanks!
As far as I know, there is no way a web browser could write to a file. If such a thing was possible, it would be a huge security issue.
You have to write a piece of native software to do all the tasks you name. That can be done in pretty much any programming language, and if you're developing embedded systems I reckon you must have some experience in programming.
I'm looking at doing something similar and have an idea, though you may be better equipped to run with it than I am. Have the define contain a directory called "SET_DATE" with files "YEAR15" through "YEAR99", "MON01" through "MON12", "DATE01" through "DATE31", "H00" through "H23", "M00" through "M59", "S00" through "S59", and "SET"; each such file should start at a different sector, though none of the sectors in question need to contain any data (they need not physically be stored anywhere). To set the date to July 4, 2020 at 12:34:56pm, read the following files in sequence:
SET_DATE/YEAR20
SET_DATE/MONTH07
SET_DATE/DATE04
SET_DATE/H12
SET_DATE/M34
SET_DATE/S56
SET_DATE/SET
The last access should cause the unit to set its clock. If a user might want to set the clock more than once, that could be accommodated by either having a bunch of essentially-identical directories under SET_DATE (so setting the date the first time would use SET_DATE/00/YEAR20, the second time SET_DATE/01/YEAR20, etc.) and/or having the drive unmount/remount itself if necessary to clear out any caching.
I would think it unwise to have directory fetches trigger actions, since Windows or an anti-virus tool might decide to pre-cache all the directories in a drive when it is mounted. I would not expect Windows or a browser to eagerly load files, however, so I would think one could have read accesses trigger actions.

Programmatically change Chrome extension update frequency

I'm developing a Chrome App (as a packaged app/extension) which purpose is to act as the base platform for several fullscreen apps to be build on top of. Chrome will be running on Ubuntu Linux.
And no trouble so far. But then I was told, that an intended app it is to be the platform for requires the source code to be updated with very short notice, as it probably is to be deployed for large scale use before the system has been tested through (even though it's a bad idea to deploy software that's not completely stable, but we're on a tight schedule). The problem is, that the "a few hours" interval for the autoupdating mechanism just isn't good enough.
So I somehow need to have the updating interval changed. I know this can be done with the --extensions-update-frequency command line switch, but as apps cannot access the command line (for obvious security reasons), and I'd prefer that the intended background page was to handle all the "administration", I don't think that switch is possible to use.
Is it somehow possible to update at a higher frequency? Or at times when it's ordered to?
There is now a method chrome.runtime.requestUpdateCheck():
Requests an update check for this app/extension.
It will return a status, which can be either "no_update", "update_available" or "throttled".
Unfortunately, the docs do not specify the limits for frequency that will trigger "throttled".
Your best option will be to have the extension manually check with your servers for an updated version. If there is an updated version show the user a desktop notification to manually update.
Potentially you could write a NPAPI plugin to modify the update frequency.
This may cause issues with CSP but you can try to live load JavaScript from your server that executes in the extension. In this case to "update" your extension you would simply update the JS hosted on your servers and the extension would automatically start using it on next load.