Publishing desktop applications to windows store - c#

I need to know is there any way to publish traditional desktop applications to windows store. The link,
http://blogs.msdn.com/b/windowsstore/archive/2012/06/08/listing-your-desktop-app-in-the-store.aspx
says we cannot upload the desktop app, but we can give a url for the customers to download.
I need to know, is there any way to directly upload the exe (or whatever).

Microsoft works on a tool for this aka Project Centennial which is not available for public yet. Officially from here:
Your application should already run on Windows 10. To make it easier for you to distribute and monetize your application, we are developing "Project Centennial". This toolkit will enable you to package and publish your .NET and Win32 applications to the Windows Store. "Project Centennial" is expected to be available for public testing next year.

As mentioned by #vzayko, Project Centennial will be the bridge to use to get your classic Windows application into the Windows Store.
However, until the Windows classic app bridge is publicly available (which should be sometime this year), there is no way to submit your application to the Windows Store.

Related

Install a windows service from Windows Store application

I'm building a desktop application in WPF that installs a Windows Service (that I'm also building) on first start.
I'd like to be able to build and distribute a windows store application out of this.
Building the package seems to work, but when the application tries to install the service, it fails because such an operation needs elevated privileges.
I know that windows store applications run in isolated environment but I really hope that for desktop application (not UWP) there's a way to tweak the appxmanifest to grant such operation.
Any help/advice is welcome !

how to create silent installer exe for wpf c# application?

I developed C# wpf application using 3rd party SDK now i want to deploy application. i want to create exe which is download and install application directly from web with minimal user interaction.
i also want to install .net framework silently on client machine without user interaction. for example like zoom meeting windows application.
Thank You.
you say download and install but how?
if you want to install like msi setup i'm suggest you to try squirrel
which is like clickonce but it works.
But you can also check: Installshield or Advanced Installer which it can let you create an update windows service. With windows service privileges, you can do your job without user interaction.
Also the other way which i prefered 2 months ago is your own application. You can create an updater windows service application. I've developed an updater software which checks an url for the version, if the version higher then download and update the application. Also check if application is running if app is not running then run it. i'm starting processes with an 3rd party tool which you can find it here you will need it if you want to develop your own application which is windows service. Because of windows service isolated "session 0"
I think best way will be your own development.

How to merge two projects WinRT with Windows.Forms in Visual Studio 2015

In endeavours as to learn C# and toy with the app-store-like approach too, I now have two applications;
Web TVGuide (WinRT with publically sealed exposed C# classed backed)
A WebTV Player (winforms + WebBrowser/ActiveX) and .
First intentions was to upload #1 (the WinRT) to appstore - and provide a link to #2, hosted on my private page...
But im wondering as to how i would go about merging the two projects under one solution in order to package them together as one. I am betting that this also would remove some of my requirements for WFC Service (IPC) communications.
Structure follows to give a little insight;
Can i 'launch' the WinRT TVGuide from my Windows.Forms application - without having to run two setup packages - and call via Process?
You could ease the future development by having both projects inside the same solution and move all the shared core code (if any) to a PCL project. However, the other plans you have won't really work.
Launching a WinRT application from a Windows Forms application is only possible if the app is already installed on the user's machine. If the application is available, you can launch it using the IApplicationActivationManager COM interface.
I think that your best bet is to count on users installing the WinRT app and then link to the Windows Forms application from an about page or something.
Here's a nice article detailing the use of IApplicationActivationManager:
Launching Windows Store Apps Programmatically
Edit: Upon further investigation, it looks like I might have been slightly wrong. There actually is a legit way to sideload Windows Store applications but it requires jumping through quite a few hoops. However, you should be able to install both the Windows Forms application and the WinRT application with your own installer and then launch the WinRT app like you wanted to.
Here are the quick steps for reference. For a detailed explanation, see Install a Windows 8 Modern UI app without the Windows Store.
Windows 8 and 8.1
Enable Allow all trusted apps to install group policy
Sign the app with a CA that is trusted on the target PC
Run a PowerShell command to install the application. For example Add-AppxPackage C:\app1.appx –DependencyPath C:\winjs.appx
In some cases, enterprise sideloading product keys need to be used. Check out the linked answer for more details on that one.
Windows 10
I also took a look at how it's done on Windows 10, and here are my findings. Microsoft has taken a more relaxed approach on sideloading apps to a Windows 10 installation. Differences to the earlier versions are the following:
You can unlock a device for sideloading using an enterprise policy, or through Settings
License keys are not required
Devices do not have to be joined to a domain
The requirements for sideloading are the following:
Devices need to be unlocked for sideloading (unlock policy enabled)
Certificate assigned to app
Signed app package
And finally here are the steps to take:
Turn on sideloading - you can push a policy with an MDM provider, or you can use Settings.
Trust the app - import the security certificate to the local device.
Install the app - use PowerShell to install the app package.
Take a look at this article for detailed steps on how to achieve app sideloading on Windows 10.

automatically update desktop app

We have a web app and a desktop windows WPF app.
Windows app sends data to webapp (hosted on azure)
Users download app from website. There are occasionally new versions of desktop apps available.
What is the most efficient way to setup automatic updates for desktop app? We are using github.
I found "releases" in github but I'm not sure how to notify desktop app and how to create an updater. (I guess we need to check for github releases every time app is started. Do I need to use Github api for this?)
What is the best repository structure for releases?
I'm looking for best practicies on how to perform seamless updates to desktop apps. (In terms of repository setup, creating web api to pull version info maybe?)
You can deploy your desktop applications using ClickOnce Deployment mechanism. This will take care of updating the software. Your users download the software from a publicly accessible Internet site. Whenever you have a new version available, you can simply deploy the latest deployment files on the download link. ClickOnce deployed application automatically check for any updated version on that link and prompt the user to download and install the latest version.
From the same MSDN link, one of the problems solved by ClickOnce deployment is facilitating automated updates:
Difficulties in updating applications. With Microsoft Windows
Installer deployment, whenever an application is updated, the user
must reinstall the whole application; with ClickOnce deployment, you
can provide updates automatically. Only those parts of the application
that have changed are downloaded, and then the full, updated
application is reinstalled from a new side-by-side folder.
I was looking into accomplishing the same needs and came across this library which can do what you're asking for;
https://github.com/Squirrel/Squirrel.Windows
There's a lot of configuration, but what you're asking for is not trivial, but maybe you can get some ideas.
For our needs; we're going have our build server (teamcity) create an MSI using a Wix project then the app will download and execute the MSI. Once we go to production we'll move MSI hosting over to some more enterprise-y CDN type setup.

How to ship a Windows Forms application to a client without .NET?

This is about the deployment of a Windows Forms application. I have created a Windows Forms application, but I'm not sure if the users have installed .NET version 4. I have put my Windows Forms application at my website and the users will download it to their desktop.
How do I automate the process of downloading and installing .NET 4 if the users have not installed it? What are the recommended ways of deploying Windows Forms applications to users?
You could try ClickOnce.
ClickOnce deployment allows you to publish Windows-based applications to a Web server or network file share for simplified installation.
You just need to define which prerequisites you want to include in bootstraper, as described here
You could define prerequisites in your Setup And Deployment Project.
You need to provide an installer and mark .NET as a prerequisite. See Stack Overflow question How to make an installer for my C# application? (.NET 3.5, but the idea is the same).
You could always download and include the .NET 4 redistributable. It about 40 MB so it may not be the most optimal solution, but it may be the easiest for the client.

Categories

Resources