create exe file from windows universal app - windows

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.

Related

How to wrap web app to windows 10 desktop app?

I have a web application (accessed by clients using standard browser) which is available on custom individual url for each client and I would like to "generate" a "custom desktop application" (probably zip file with some exe file and some xml config file - where exe runs webview with url from xml) which can be installed on clients computer (Windows 10 support only is ok). This application when launched will open frameless window (no menu, no url bar etc) of a custom size with webview opening the defined https url (url will contain secret login hash for user / or session must be kept even after computer restart etc ..). This app should run only online (no offline mode needed).
The goal is to take one simple specific proces (entering simple data) from a complex web application and make this simple process easilly accessible for users (just click icon and enter data, submit to server, close, no login ever needed).
I have no experience developing for Windows 10, but I expect there must be some easy "universal app" solution as probably more developers are solving the same problem. What are the most (time) effective, but standard and safe possibilities?
I found a nice tutorial: https://www.todesktop.com/guides/nativefier. This tool is based on Node.js, which works fine on macOS, Windows, or Linux.
First, install Node.js on your computer. Then, run
npm i nativefier -g
to install nativefier. You can wrap your web app into native app simply by running
nativefier "your-url" --name "Application Name"
You can read the post for further information, like code signing your application, generating native installers, etc.

Notifications not working on Windows 10 - Electron JS

I was learning Electron and made a basic electron app and packaged it for windows. The app was not showing notifications so I followed the instructions here
On Windows 10, a shortcut to your app with an Application User Model ID must be installed to the Start Menu. This can be overkill during development, so adding node_modules\electron\dist\electron.exe to your Start Menu also does the trick. Navigate to the file in Explorer, right-click and 'Pin to Start Menu'. You will then need to add the line app.setAppUserModelId(process.execPath) to your main process to see notifications.
I did as suggested here and the notifications started working. They were still working after packaging the app. So I wanted to check whether after a user uses an installer to install this app, the notifications would still work.
I don't have any experience with packaging software, and I used InstallForge to make an installer. Turns out, after installing the app using the installer, the app still works but notifications don't, even after pinning the exe to start.
I tried copying the build folder (direct build, not the installer one) to another location and trying the same thing and it still works. This also works if I copy the installation folder to another location. But it does not work from inside Program Files(x86)\myapp\appname\build\myapp.exe so I am assuming this must be something about permissions, but I do not understand exactly what is happening. I have't checked the app yet on Linux so I don't know if I would face similar problems there as well.
Any pointers would be great, Thank you.

Windows app store download permissions

I developed an app for Windows phone. Now I want to deploy it on Windows app store and wants to put restriction.I want only specific people will able to install it. How can I do that. Any suggestion will be appropriated.
Thanks,
Well that depends on who these specific people are. You can set age restrictions and region restrictions, and that's about it.
If you mean you want to hand-pick users that can use your app, then provide a login screen where you manually authorize your registered users.
If you mean that only users you choose can download the app, then you can't use the Store; you'll need to use sideloading.
You can control distribution in the Distribution and Visibility section of your app submission on the developer dashboard.
There are three basic options (for Windows 10 - two for Windows Phone 8.x):
Hide this app and prevent acquisition. Customers with a promotional code can still download it on Windows 10 devices
Give codes to the people you want to be able to use the app. This is Windows 10 only.
Hide this app in the Store. Customers with a direct link to the app’s listing can still download it, except on Windows 8 and Windows
8.1
Send links to the people you want to use the app. This will work on Windows Phone 8.1 as well as Windows 10. Anybody with a link can download it though, so it won't truly limit to just the people you want to use the app.
Hide this app and make it available only to the people you specify below, who can download this app on Windows Phone 8.x devices. A
promotional code may be used to download this app on Windows 10
devices
This is the classic beta-mode for Windows Phone 8.x. You can specify which Microsoft Accounts have access to the app.

Can I run my winRT application as a screensaver?

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".

Install other applications in a WP7 application Programatically

What the WP7 application needs to do?
- download some others applications and install them automatically on the device.
The device will send first a request to a web server with some rules and will receive an answer containing the links to the applications that need
to be downloaded and installed on the device.
As far as I read, the Marketplace is the only way to get apps on a Windows Phone 7 device, so let's suppose that the applications I want to
install are already on the Marketplace and I can refer to each one by their links (according to this post).
Can I download programmatically an application from the MarketPlace (having the link to it) in another application and install it
on the device?
I do not want to open the app link in browser because this opens the Marketplace hub and points me to the application location.
Just for my curiosity: every time you want to install an application from Marketplace you need to sign in with a Windows Live ID?
Thanks & Regards,
Paul
You cannot dynamically download or execute code or install applications on WP7. The closest you can get is launching a MarketplaceDetailTask which directs the user to a page on the marketplace where they can choose to download the application.
The user's Live ID remains signed in until they sign out from Settings so, no, they don't have to sign in more than once.

Resources