How to restrict a Windows UWP App to be installable only on Device memory - windows-store-apps

The Windows Phone user can select the default location of installing the Apps to either Device or SD Card in the Storage settings.
Suppose my app is in the Windows Store and the user tries to install my app.
Case 1: The user doesn't have any SD Card in his phone. So everything goes to the Device. Perfect! This works for me.
Case 2: The user has SD Card but the location for App installation is set to Device by the user. This also works for me.
Case 3: The user has SD Card and the location for App installation is set to SD Card.This is where the problem exists!
For some reason, I want my App to be installable only on the Device's memory and not on SD Card.
Question: Is there something that I can add in the Package.appxManifest so that the Windows Store notifies the User that My App can only be installed on the Device's memory and not on SD Card. Is it possible to restrict my App installation only to Device's memory?
I have gone through many links but none of them talk on this specific use case.
Thanks for help!

This is now specifically done during the package upload to the store.
App Declarations
Customers can install this app to alternate drives or removable
storage. This box is checked by default, to allow customers to install
your app to removable storage media such as an SD card, or to a
non-system volume drive such as an external drive. If you want to
prevent your app from being installed to alternate drives or removable
storage, uncheck this box. Note that there is no option to restrict
installation so that an app can only be installed to removable storage
media. Note For Windows Phone 8.1, this was previously indicated via
StoreManifest.xml.

In the packaging options there is an option to prevent the installation on an external memory, but I don't remember exactly in which tab is found, nor how it's called.
Hope that helps.
Edit
Found it. You just have to check the "Prevent installation on SD cards" option from the Application tab in the manifest options.
See this tutorial for more informations.

Related

Deploy enterprise (in-house) application on windows phone without developer unlocking the phone?

As the title says, I would like to deploy my application on multiple phones, without developer unlocking them.
The said application is private, thus it can't be distributed through the store. I've heard of Company app distribution, however it's not clear for me whether it requires a developer unlocked phone or not.
Can you tell me how can I get custom apps on WP8.1 phones, without dev unlock?
The link you have shared describes steps to distribute app internally.
For deployment of company apps developer unlocked phone is not required. Once company app is ready for deployment, you need to install .aetx file which is generated form the code signing certificate. .aetx file can be shared to users through mail which can be accessed through phone to install. Once this is installed you can deploy xap by just clicking on the shared xap file. sharing can be through mail, dropbox, or any secure website.
Let me know if more doubt.

Deploy WP8 app to device and save all its settings after rebuilding the project

I have accidentally killed one of my WP projects in VS2013. I receovered the source code from the backup, but now, if I try to recompile it and deploy to my device for further debugging, all my app data in the app IsolatedStodage area will be wiped (see this post).
The problem is that I have gathered some important data in my app, and need to save them for later use with newer versions of my app. Is there a way to access the file system on a WP device unlocked for development and save the corresponding IsolatedStorage files for the app? I know that it's possible for the WP8/8.1 emulator (we can mount the .vhd files), but what about a WP device? And if it it's possible, what files/folders do we need to save?
Try IsoStoreSpy.
It allows you to browse the IsolatedStorage of application on both emulator and device. You need to copy all the files from IsolatedStorage and upload them to device after updating the application.

Does ShareMediaTask Require a Data Connection

I am using the ShareMediaTask in my Windows Phone 8 application, and I am trying to determine the specific capabilities and requirements on a users device. Does a users Data Connection have to be turned on on their device for the ShareMediaTask to successfully send a picture? Also, is it required to have ID_CAP_NETWORKING checked in my application's WMAppManifest for ShareMediaTask to work? Must both of these be on?
What I have is ID_CAP_NETWORKING off in my WMAppManifest, which I do not believe is require for ShareMediaTask, but my device's Data Connection switched to On in the phone settings. Is this correct?
ShareMediaTask does not have any capability requirements for inclusion within your app.
However, for the user to be able to actually share the media they will need to be able to connect to the internet and the selected services. This happens outside of your app though and so your app does not need to declare the networking capability directly.
For reference, the rules of capability requirements are defined in
"C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Tools\Marketplace\Rules.xml"

Deploying Windows Phone 8 app to customer device before submitting to the store

One of our customers likes to test our application while still in Beta and before we are able to deliver the finished app to the store.
Is this possible? The only way I can think of is to unlock a customer device from our developer account. But as you can only register up to 3 devices this is not an option.
Can the customer set up (if willing to) a developer account on his own, register the device as developer device and then install our application. Has someone already done this? Or are the app locked to the developer account which has build the app?
Or can the customer install the windows phone SDK and at least deploy the app to the emulator to have a look at the app?
Regards
You should take advantage of the Beta testing functionality:
Go to the Windows Phone dev center and on the App info page, under More Options, click Beta.
Associate your customers Microsoft accounts (using Live ID)
Upload the XAP
It will generate a link that will allow your customers to test the app.
Only users added in step 2 will be able to download the app.
You can submit a beta app to the store. When submitting the app, you have to specify the live ids of the users participating the beta. Only those users will be able to download the app, and they don't need to have an unlocked device.
Also, to answer your other questions, yes the customer can deploy your XAP in the emulator if he installs the emulator, and no the XAP isn't locked to the developer account which has built the app.

Permission is only granted to system apps in Android Manifest

While i am inserting this permission in manifest it shows error " Permission is only granted to system apps"
Actually i used this permission for developing application based on Oauth2 token. But i cant enable this permission. Can any Help me?
MODIFY_PHONE_STATE permission is granted to system apps only.
For your information, there are 2 types of Android apps: system & user
User apps are just all your normal app installations through the Google Play Store, Amazon Appstore or sideloading. These go into the
/data partition of your Android phone, which is the part of the
internal memory made available for user data and apps.
System apps are basically the apps that come pre-installed with your ROM. In a standard Android user environment, the user doesn’t
have write access to the /system partition and thus, installing or
uninstalling system apps directly isn’t possible.
In order to install an app as a system app on your Android device,
your device must either be rooted or have a custom recovery installed (or both).
That being said, that error is actually wrong because you have a valid code and compilation should work. It would be better if it gave a warning instead. In Eclipse you can easily fix it. Just go to:
Window -> Preferences -> Android -> Lint Error Checking.
Find ProtectedPermission from the list and set the severity to something other than error(info for example). This way your project will still compile.