Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / desktop / WPF

Quick-and-Dirty Deployment of Apps

4.56/5 (5 votes)
9 Dec 2014CPOL3 min read 13.7K  
Simply, quickly, and freely make your apps available to the public

Deploy Your App Fast and Free

If you create a website, deployment is (conceptually, anyway) straightforward: you find a host and then tell people the URL. If you create a Windows Store or Windows Phone app, or an Android app, it is also clear what you should do: submit it to the Windows Store or Google's Play, and then sit back in your lazyboy, waiting for the Brinks truck to deliver your boodle.

What, though, if you create a WPF (or Winforms) desktop app? Especially if it is just a utility that you are making available gratis, you may not want to put the time, effort, and money into creating a website that advertises your app and provides a download link.

Don't get mad - get P-Mad; that is to say, use PMAD (Poor Man's App Deployment).

For such a scenario, there is a very easy way to still make your app available to the world at large: put the required files in a folder and upload that folder to OneDrive, making it public. Finally, share the link with whoever you want, and voila! your app can be downloaded.

Zum Beispiel/Por Ejemplo

For example, I did this with my in-progress WPF utility "Multilingual" which lets users choose any pair of four languages (English, German, Spanish, Persian) to test their multilingual skills by way of multiple choice "questions."

First, they choose the language pair they want:

Image 1

...then (after selecting the "Go!" button) they will see a word or phrase in one language of the pair they selected, and three candidate corresponding words or phrases in the other of the two languages. Making the wrong choice loses them one point; making the right choice earns them 2 points. So even if they make the wrong choice twice, they still end up at 0 for the word/phrase once the right one is selected. If they select the right answer right away, they get 2 points; if they select the right answer on their second try, they will end up with 1 point. Here's what it looks like when a correct choice is made in the English:Spanish pair:

Image 2

Cut to the Chase

But enough of that; back to the point of the tip. This is all you need to do:

  • Build the app
  • Create a folder and put the required files in it*
  • Upload that folder to OneDrive (create an account if you don't have one yet)
  • Make the folder/its contents "Public" and generate a link that you can share

In the case of the app above, the link is: https://onedrive.live.com/?cid=c150662f95f0acce&id=C150662F95F0ACCE%218353

* For example, for a WPF app that uses SQLite you need:

  • yourApp.exe
  • yourApp.exe.config
  • yourSQLiteDatabase.sqlite
  • sqlite3.dll

Obviously, the files you need to deploy will differ depending on your exact app and its dependencies, but you get the idea.

Note: The app shown as an example in this tip ("Multilingual") does not have much data at present, but this will be constantly changing; if you're interested in improving your language skills in at least one pair of the four supported languages (English, German, Spanish, Persian), check the link often for updated versions of the EXE and especially the sqlite file.

PolĂ­glota Beware!

If you download new versions of the sqlite file (which is the only way to get more words/phrases as they are added to the LettersWordsPhrases* table), the Scores table will also be updated, so you will have to start over each time, or will "inherit" whatever score I had last when I uploaded the new version of the .sqlite database file.

* Unless you update the tables yourself by opening the .sqlite file in LINQPad or DatabaseNet4 or some other tool that allows you to do such.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)