I am downloading a file from Internet, and I am saving this in IsolatedStorage. and Now I want to Open that file, ie if it is excel we should open a file with excel if excel is installed, or otherwise prompt the user to choose the application to open that file as like in PC windows os, How can we do this.. give me some Idea..
As general rule, there is no way to do what you are describing. The exception to this is for media, for which you can integrate with the Music and Video hub. This would allow you to, for instance, download a movie and then play it in the same way as if it was part of the zune collection, even though it's in IsolatedStorage.
If you want to download office files from the internet you can simply link to them directly by opening them in a WebBrowserTask. The user would then be able to open the file in the relevant office program. So, if you did the follwoing, the file would be opened in Excel:
var wbt = new WebBrowserTask();
wbt.URL = "http://example.com/file.xlsx";
wbt.Show();
This would not allow you to store the file in IsolatedStorage and that may or may not be an issue for you.
Windows Phone applications run in isolation and with very few exceptions cannot interact with other programs. So there's not a way for you to present a program chooser to allow the user to choose another application to launch.
I am pretty sure there are system launchers for different applications. For example, the YouTube application can be launched programatically the way I showed here - basically it is similar to the way Matt showed. Ultimately, each app is launched via a UIX reference (catched here), but there is no public endpoint to open a res URL.
Related
I have created a windows universal app with WinJS in visual studio 2015. Now I can run it from my visual studio. How can i make an exe file of the app so that i can distribute it to my friends? Is it only possible to upload in windows store?
I guess you're talking about an app for Windows 10!?
There are several ways to get this done.
The best way is to distribute it via Windows Store. You can hide the app there so that it is only visible to people who have the direct link to the app.
Your friends can download it directly from the store.
Another option is to provide the live IDs of your friends in the store. Then your friends get an email with a direct link.
The option you might actually be looking for which doesn't involve the store at all is to create an app package and to deploy this package to your friends. (See screenshot)
For Windows Store Apps you won't create an .exe-File, you only create .appx Packages.
Choose not to upload to the store in the next dialog. Then click create.
In the output directory you will find the *.appx file (not an *.exe)
You can distribute the appx via sideloading. Simply copy the content of the output folder to your friends's machine and run the ps1 script in Powershell. This will start the installation of the app.
Little hint: This requires your friends PCs to be enabled for sideloading.
You can set this in the settings dialog. See Screenshot.
In Current Windows Dev account, you can use Promotional codes to distribute the app to your friends instead of using side load.If the app is company app, I recommend by using sideload method.
Is there a way to make my winRT application as a screen saver in xaml?
As Jerry says, there's no straightforward way to make a Windows Store app screensaver. However, there's a roundabout solution that might work for you on Windows 8, but not Windows RT. I have it nearly working. I'll share what I have so far.
A screensaver is just an executable with a .scr extension that's kept in C:\Windows\System32. For example, look at C:\Windows\System32\Bubbles.scr. The solution I have in mind is to create a .scr screensaver whose only purpose is to launch your Windows Store application, which you say will use XAML.
You can't launch a Windows Store app from the command line directly, so you'll create a launcher app. Take a look at a blog post called Automating the testing of Windows 8 apps by Ashwin Needamangala. Partway down the article, look for the section called Automating the activation of your app. It contains a sample C++ application which can launch Windows Store apps in the following way:
C:>Win8AppLaunch.exe Microsoft.BingNews_8wekyb3d8bbwe!AppexNews
The sample launcher on that page needs to be modified, but before you do that just copy the code into a C++ console app:
You're almost ready to test it out from the command line, but you need to specify the name of the app as an AppUserModelId. The details are in Ashwin's post, but to paraphrase you first want to allow the execution of PowerShell scripts on your system with:
PS C:> Set-ExecutionPolicy AllSigned
Then run this PowerShell script:
$installedapps = get-AppxPackage
foreach ($app in $installedapps)
{
foreach ($id in (Get-AppxPackageManifest $app).package.applications.application.id)
{
$app.packagefamilyname + "!" + $id
}
}
You might like running it in the Windows PowerShell ISE. It's pretty slick. Find the AppUserModelId of your app and then test Win8AppLaunch.exe from the command line, as shown above. This should launch your Windows Store app from command line.
Next, modify the C++ launcher to hard-code the AppUserModelId of your application instead of parsing it from a command line argument. I created a Gist of this. The important part is the line where I declare myApp.
Build the new executable, rename it MyScreenSaver.scr and put it in C:\Windows\System32. It will then appear in the Screen Saver Settings Control Panel. You can preview the screensaver there, and it works. However, if you wait for the screensaver to launch, it will briefly bring up a console window and never fully launch. I'm not sure why. I tried disabling the creation of the console window by switching the project to a Windows app, but that didn't help. You can try that yourself by changing Properties | Configuration | Linker | System | SubSystem to WINDOWS. It's a little more involved, as you'll also need to change the entry point from _tMain to _tWinMain. Contact me through my blog if you want the details. My StackOverflow profile lists it.
At this point it's almost fully working. You might try starting with a blank C++ screensaver that you know works, and then copy in the above code. If I get more time, maybe I'll try this myself.
Cool idea. But, no.
If you want your application to really do something for Windows other than run as a simple app, then you write an extension app. Here's the official word:
Extensions An extension is like an agreement between an app and Windows. Extensions lets app developers extend or customize standard Windows features primarily for use in their apps and potentially for use in other apps.
There are these types of extension apps right now:
Account picture provider (extension)
When users decide to change their account picture, they can either select an existing picture or use an app to take a new one. If your app can take pictures, you can use this extension to have Windows list your app in the Account Picture Settings control panel. From there, users can select it to create a new account picture. For more info about this extension, see the UserInformation reference topic. You can also check out our Account picture name sample.
AutoPlay (extension)
When the user connects a device to a computer, Windows fires an AutoPlay event. This extension enables your app to be listed as an AutoPlay choice for the one or more AutoPlay events.
Background tasks (extension)
Apps can use background tasks to run app code even when the app is suspended. Background tasks are intended for small work items that require no interaction with the user.
Camera settings (extension)
Your app can provide a custom user interface for selecting camera options and choosing effects when a camera is used to capture photos or video. For more info about this extension, see Developing Windows Store device apps for cameras.
Contact picker (extension)
This extension enables your app to register to provide contact data. Your app is included in the list of apps that Windows displays whenever the user needs access to their contacts.
For more info about this extension, see the Windows.ApplicationModel.Contacts.Provider reference topic. You can also check out Managing user contacts.
File activation (extension)
Files that have the same file name extension are of the same file type. Your app can use existing, well known file types, such as .txt, or create a new file type. The file activation extension enables you to define a new file type or register to handle a file type.
Game Explorer (extension)
Your app can register with Windows as a game. To do this, you must create a Game Definition File (GDF), build it as a binary resource in your app, and declare that resource in the package manifest.
Print task settings (extension)
You can design an app that displays a custom print-related user interface and communicates directly with a print device. When you highlight the features that are specific to a particular make and model of print device, you can provide a richer, more enhanced user experience.
Protocol activation (extension)
Your app can use existing protocols for communication, such as mailto, or create a custom protocol. The protocol activation extension enables you to define a custom protocol or register to handle an existing protocol.
SSL/certificates (extension)
Digital certificates are used to authenticate one entity to another. For example, certificates are often used to authenticate a user to web services over SSL. This extension enables you to install a digital certificate with your app.
cite: http://msdn.microsoft.com/en-us/library/windows/apps/hh464906.aspx
Unfortunately, nothing has to do with screen savers. The technical reason, at this time, you cannot write a Windows 8 app that functions as a screensaver is because Windows 8 apps are fundamentally tied to run inside the WinRT execution environment. That shell does not extend out past the Start menu in this current version of Windows. So, there's no way to execute outside - like as a screen saver. Screen savers are still built the "old fashion way".
I have developed a mac application without using sandbox.
now i want to send it to the mac appSore, i buy my certificate, all is good.
I read this: Apple doc and in xcode i set the user selected file,music folder... to read/write access.
My application let the user chose from a folder any type of file, do some treatment and let the user chose where to save the new file.
To chose files, user can open folder with NSOpenPanel or with the open with functionality or drag-and-drop files.
Also the application can delete files.
I dont know if there's other things to do to sandbox the application (or a tool to test if it is sandboxed)
I come from ios this is why i'm asking :)
You can look in the Console when the application is running to view if sandboxd or pboxd logs messages referring to your application.
The format is: sandboxd[53037] ([53035]): AppName(53035)
I don't know if there are other processes who may log sandbox violation, but you can see them, if they are referring to your application.
Is it possible? I want that if the attachment is of a particular mime type my app opens it or it will be listed as one of the possible viewer choice... I googled but i found nothing so I'm asking myself if it is possible on windows phone.
this is not possible... the only way to open a file that has a known mime type is to use a web browser task and to pass a Uri.
You cannot associate MIME-types directly in your application in Windows Phone 7. Your best bet would be to have the user download the file through your application.
Simply saying, you could take a potential workaround of sideloading an application that "fakes" the GUID of an application that is associated on a system level. I wrote about that here. Your problem is, however, the fact that you won't be able to access the file system without proper permissions.
I am working on an app that needs to run powerpoint in windows phone 7 to let the user edit the document. The app connects to skydrive, so I have the file id, etc information for this document. How can I run powerpoint and open this document?
So i guess you would like to use the 'Office' app to do this, right?
Yet, this isn't possible, because Microsoft doesn't provide a 'Task' (like ConnectionSettingsTask e.g.) for this.