Can I embed a windows store app inside a classic windows application? - windows-10

I would like to embed a universal windows app into a classic windows application on windows 10. Is this possible?

The short answer is no. However... depending on what you're trying to do, the information below may help you.
If you just want to get the look and feel of a desktop application, you should be aware that Windows 10 apps (unlike Windows 8 apps) run in non-fullscreen mode by default, and can be resized. Desktop apps in Windows 10 have top-right icons (min/max/resize) that look similar to how UWP apps look in the title bar and top-right icons.
If you're creating a UWP app with XAML, you won't be able to embed it in a desktop application. However, if you're building a Windows 10 app using HTML5 and JavaScript, you could repackage it inside a browser control embedded in a desktop application.
If you're creating a game using a 3rd-party tool such as Unity, you can export it as a Windows desktop application just as easily as exporting to a UWP app for Windows 10. Unity can be used for non-game apps as well, so you could export it to a desktop application today, and still have the option of publish a UWP of the same game/app.
If you were thinking of accessing the full Windows SDK from you UWP app, you won't be able to do so, as you will be restricted by the UWP sandbox. But Windows 10 has made many improvements in helping you get access to many advanced features, e.g. accessing certain locations in the file system, so you may be able to get by with all that UWP has to offer.
If you want to avoid the Windows Store, you may sideload your app, as suggested by an earlier comment.
Hope that helps! :)

Related

UWP limitations in desktop apps

I know that the new UWP app model has some limitations when comparing to "traditional" Win32 apps.
Let's take Visual Studio Code as an example of a desktop app.
What features of Visual Studio Code were missing or had to be different from user perspective, if it was an UWP app?
EDIT:
I've done exams for microsoft certification "Essentials of Developing Windows Store Apps Using C#" and Exam 70-355: Universal Windows Platform – App Data, Services, and Coding Patterns. So I know something about win rt api.
Please don't bother with answers like "uwp app runs in sandbox". They are useless, because they say nothing about the limitations from users' perspective. I intentionally took real life example, so we can go concrete.
The limitation could be, that your app cannot support 3rd party plugins like custom syntax highlighter or refactorin extension(it was limitation of windows store apps, not sure if its still valid).
Another limitation could be, that your app is not able to take screenshot, because there is no api in uwp for it (not sure it its true, actually)
The phrase "Win32 desktop app" is a ill-defined since the Win32 API programming model has been around since Windows NT 3.1. It can also cover dozens of development languages and UI frameworks over the intervening two decades.
Here's a quick overview of the key UWP differences:
API surface area. The UWP platform supports many but not all Win32 and COM APIs, and introduces new APIs. If your "Win32 desktop app" is using mostly ANSI APIs that date back to Windows 95, then you have a lot of updating to do. If you are using mostly Windows Vista era UNICODE APIs, then a lot of stuff "just works". See Win32 and COM API for Windows Runtime apps (System).
Security context. The UWP platform runs applications in an AppContainer security context. "Win32 desktop apps" on Windows Vista or later run as "Standard User" or as "Administrator". UWP apps have less access rights than "Standard User" and can never run as "Administrator". UWP apps can request additional capabilities to get a few more rights with permission from the user, but have limited access to the system and user data. For example, you cannot read most of the filesystem, only your installed location, an isolated application data folder, and an isolated temporary file folder. See File access and permissions (Windows Runtime apps). This also means UWP apps have limited access to devices. See Device and sensor overviews.
Windows Vista User Account Control that introduced Standard User was focused on protecting the system and other users data compared to the older "everything is administrator" model, but did little to protect the current user's data files since all apps could access or even modify it. AppContainer isolation is protecting both the system and the current user's data and settings. "Win32 desktop apps" were encouraged to install to C:\Program Files which was read-only at runtime and to use application data folders, but they were not required to.
Deployment via AppX. "Win32 desktop apps" use any number of ways of deployment, often something using MSI technology and running as "Administrator". UWP apps are packaged in AppX files and are always deployed by the system. There is no "Custom Install Step", and therefore UWP apps cannot install drivers or services, change ACLs, etc. The system takes care of deploying the C/C++ Runtime (which must be Visual C++ 2015 or later).
Interface model. There is a plethora of interface frameworks for "Win32 desktop apps" like WinForms, MFC, WPF, etc. The vast majority of these are not compatible with UWP because UWP does not support classic Win32 windowing, WM_ messages, or GDI/GDI+. For UWP apps, you can use XAML with C++ or C# code-behind, DirectX (Direct2D and/or Direct3D) with C++ (or C# via 3rd party assemblies like SharpDX), or HTML5 with JavaScript.
Deployment via MSIX.
Answering your question is therefore extremely difficult, if not impossible, without a complete understanding of the product's code base and dependencies.
See Get started with Windows apps

Stopping scroll in iOS hybrid app

How do I stop scroll in background which has a overlay/pop up on it? I have disabled the scroll and its working fine on windows and android but the background scrolls in iOS.
No. There's no direct way or a Windows Store app to launch other apps. The only way is to launch files or URIs into the default handlers for those file types and protocols.
If this is a side-loaded enterprise app then it can use a brokered Windows Runtime Component to call desktop code, and that desktop code can then call desktop API to launch other apps. See Brokered Windows Runtime Components for side-loaded Windows Store apps

Apportable: is using windows azure mobile services possible?

I am trying to build my ios application for android. Is there any chance to use windows azure mobile services framework in native objective-c code? Or should I use java and call my azure mobile services table items from it ? Thank you in advance.
If there's an Android version of azure, you could use BridgeKit to bridge the android library to objective c APIs.
http://docs.apportable.com/using-java
There are native Azure Mobile Services SDKs for all major mobile platforms (iOS / Objective-C, Android / Java, Windows Phone, etc). There are excellent tutorials available on the Azure website:
iOS: http://azure.microsoft.com/en-us/documentation/articles/mobile-services-ios-get-started/
Android: http://azure.microsoft.com/en-us/documentation/articles/mobile-services-android-get-started/
If you are looking for cross-platform development you could leverage Xamarin (C#), Sencha or PhoneGap which all have samples at the above site as well.
If you want to serve multiple platforms a better approach would be to create a service layer which works against your Mobile Service (f.e. build with ASP.NET Web API). This service layer would be called from your clients. The big advantage is that you don't have to write code multiple times and changes can be done at a central point. If you concentrate on RESTful services nearly every platform can call it.
Currently that seems to be a lot of overhead with an already finished iOS implementation, but imagine the situation when you want to support other platforms, such as Windows 8 or Windows Phone 8. At this point you have the same problems again.

Autorun desktop app and check if it is running from a Windows 8 App

I´m developing a Windows 8 App, and it needs a desktop app running on background to work properly.
So i have two questions:
1.- The OS is a Windows 8.1 Industry Embedded. I need to autorun the desktop app and my Windows 8 app at startup.
Here explains how to do so with a Windows 8 App, but not with a desktop app, so i´m using this other solution to add the application to the Windows Startup folder, but i´m not sure if this is the best way.
2.- Then, when my app starts, i should check if the other app is running or not to work in one way or another. How can i check that? I´m developing with HTML and Javascript.
Thanks!
Yes that is the 'proper' solution to starting a desktop app on startup. Otherwise you can look at creating a windows service that manages the app lifecycle.
By design, winRT apps are not supposed to talk to desktop applications, but if you are sideloading the winRT app (i.e., not through the Windows Store), you could run a local server with your desktop app, and then enable local loopback with localhost in your winRT app and communicate that way.

Is it possible to run an Appcelerator Titanium applicatin in web browser like Flex?

Is it possible to share code between mobile and web versions of an application created with Appcelerator Titanium? I want to create a mobile application but I also want my users accessing the app using desktop Internet browser, like Flex application can be run in Flash Player or AIR. Is it possible to share code between mobile and web versions of the app?
Thanks,
Michal
There is a beta or pre release version of a web sdk that will support that functionality. Will try and track down the link, certain it can be found on the Appcelerator developer blog

Resources