Windows 8 / Metro Certification Requirements - How to check? - c++

In order to get your application certified for Windows 8, Microsoft says that you need to "only use APIs for Metro Style Apps" (reference)
Is there a tool that can be used to check against existing C++ code to find out if your existing application is in compliance?

Use the Windows App Certification Kit (WACK), which is installed as part of the Windows 8 Developer Preview. You can find instructions for using it on MSDN:
"How to test your app with the Windows App Certification Kit"
If you want to test existing libraries, you can create a Metro-style app that references those libraries and run WACK on that app. (Note, if you want to test a static library, you need to exercise enough of its functionality from the app so that all of its functions get linked in.)

Related

Windows Store App - remove fullTrustCapability

I'm developing a C++-Win32-app which should be deployed in the Microsoft Store. Unfortunately, since runFullTrustis added automatically as required capability, the program appears in Microsoft Store as follows: "This app can access all your files, peripheral devices, apps, programs and registry.", but I don't need all of those capabilities. Is there any possibility to get rid of the runFullTrust capability or to choose which capabilities are really needed?
If you want to publish the Win32 apps in Microsoft Store, and you must add restricted capability runFullTrust in the manifest.
Only UWP app can be published in the Microsoft Store,if you have an existing desktop application that was built using the .NET Framework (including WPF and Windows Forms) or C++ Win32 APIs, you can several options(Package your desktop application in an MSIX package, Use UWP APIs...) for moving to the UWP and Windows 10. The moved app called desktop bridge apps. You can see more details in document:
Move from a desktop application to UWP
The restricted capability runFullTrust is required for any desktop application that is delivered as an appx or msix package (as with the Desktop Bridge), and it will automatically appear in your manifest when packaging these apps using the Desktop App Converter (DAC) or Visual Studio. You can see this in document:
Restricted capabilities

How can I call an UWP API from a C++ desktop application

I would like to access Bluetooth LE devices using the corresponding UWP APIs. However, my application is a "classic" C++ application (3D game) that can't run as a UWP app. Is there a way to do that? Accorind to enter link description here these APIs are published, but I don't know the steps to access them I have only found some posts for Windows 8/8.1 apps that include the Windows.winmd and Platform.winmd metadata files and set the /ZW compilation flag, but this doesn't seem to apply to Windows 10.
You should be able to do this, as the Bluetooth classes (e.g., BluetoothLEAdvertisement) are marked up with DualApiPartitionAttribute (callable from desktop and UWP apps).
Using one of the older Win8.1 desktop samples should give you a good starting point for calling the APIs without requiring /ZW or referencing the winmd files. A good example is the desktop toast API sample.
If you go that route, you can use classic COM to create the UWP/WinRT classes via WRL helpers.
You can use the web that you make a web server and the C++ application use the same server and if UWP send the info to server then it will send the info to C++ application.
To safe,the UWP can't use the desktop app.

Bootstrapper (pre-installer) for .net apps

I'm trying to develop a small app like Flash Player updater. I want users to download this executable first and so I can check if user has required .net framework and other prerequisites (sql server, crystal reports etc.). Then by this app I'll download missing ones and install them. So which language I must use (c, c++, visual c++)? How is Adobe doing this and are there any open-source examples?
It seems you're looking for a bootstrapper.
Several solutions target the .NET framework, including the popular (and free) dotNetInstaller.

How to create an installer for windows service built in C++

I want to create an installer for windows service built in C++. I have followed this article to create the Service.
I have 3 win32 console application in my solution. one for installation , one for uninstallation and one that does the actual work.
I must humbly recommend WiX (Windows Installer XML Toolset) for all your installer needs.

Django Projects as Desktop applications : how to?

How to make Django projects packaged as desktop applications?
I found some tutorials, but is there any solution as DjangoKit , for Linux and Windows?
List of related tutorials :
Deploying a Django app on the desktop
Django application as a stand-alone desktop application
This project started when I needed to
distribute a self contained user
installable Windows demo of a Django
application
dbuilder.py
Edit: Another alternative is Super Zippy, it takes a Python package and its pure Python dependencies and transforms them all into a single executable file.
You might want to look into Appcelerator's (link) Titanium Desktop for developing web apps on the desktop.
It's fully cross platform, Linux, Mac OSX, Windows.
It's supports running Python, Ruby, and JavaScript code in your application all concurrently interacting with one anther in one application. It's pretty sweet.
(Full disclosure, I'm the founder of ToDesktop. I think this is a helpful answer though)
If your Django app is already deployed as a web app then you can wrap the web app in Electron.
If the web app does not need to be distributed to users (i.e.. you don't need an installer or code signing) then Nativefier is great for that. It's free and open-source. I made a Nativefier guide here.
If you're distributing to users then you'll probably want an installer and code signing and auto-updates for Electron. ToDesktop will do all that for you without any coding or configuration.
There's a comparison of the two here.