Utilising AppHarbour with a WPF application - wpf

I am investigating the best route for me to push updates of my small WPF application to my end users using ClickOnce.
I have looked briefly at AppHarbour and see that ASP.NET MVC works straight out of the box. Has anyone tried with a WPF application, or if there is a slicker/easier/cheaper way for me to publish my app to clients from a Web location?
Also if above is achievable/feasible does anyone have any advice for slickest continuous integration techniques with this approach? i.e. set up 2 environments on AppHarbour, QA/Production, set a test environment at client site pointing to QA and a live deployment on client site pointing to live etc...?
I will be using the (currently) freebie version of VisualStudio.com TFS for source control. I know Azure does this, and is incredibly simple to use but I am a pauper and have no funds for this until I sell a few more sites!
Thanks

You can host your ClickOnce deployment in Azure blob storage. You can write a small program that will deploy it after you publish it locally, or push it up manually using something like Cerebrata tools. It's really, really inexpensive. This article explains how to do it, and this article talks about the cost. The second article has old Azure pricing; it's even cheaper now.

Related

How to deploy WPF Applications to client machines without a server?

I've created a wpf application. Now I need to make an application to download it from a web site to various client machines with no server software. What are the essential requirements that need to be installed from the web to the client in order for the application to work? I am very new to this and am learning as i go along
As stated by the others you may publish your application using clickonce. An alternative approuch is to use a third party installer like wise(yee old .msi is removed from newer visual studios). MS wants you to use clickonce for deployment it may be done manually using mage, through MageUI or visual studio directly. I only use mage.exe for deployment of WPF and XBAP applications, it's nice if you have a buildserver set up and all. Just make some scripts for the deployment that you may reuse, once deployed check your manifest file to see what's included and not.
General information about clickonce.
Mage.exe located in your windows sdk for manually deployment
MageUI, useless for any live production envirnoment...
Hope it helps you some, I know this can be a pain.
Cheers,
Stian

Web performance isn't up to snuff... what's the new "Microsoft Way"?

Looking for opinions. I'm working on a mid-sized 3-tier ASP.NET project (.NET 2.0 and Visual Studio 2005) with an Oracle on Unix back-end, some beefy MS web servers, and IE browser clients. Performance is pretty bad, and users feel the UI looks outdated as well. We may have an opportunity soon to redesign and rewrite the entire application from the ground up, and I'm wondering what the current or recommended MS platform is.
I was involved with WPF and Silverlight on a different contract when MS downgraded support for Silverlight in favor of "HTML5" for Windows 8 and Windows Phone a few years back. I'm not trying to start a flame war between how long Silverlight or even WPF will be around, but I'm looking for some modern alternatives as of today, April 2013. The one requirement we can't get around is that we can't install something on each and every user PC throughout the client organization.
My own background is in WinForms and C# more so than any of the above, but everywhere I turn it seems developing any new LOB apps in WinForms isn't done much anymore.
Whatever happened to the Application Server platform and apps run thru Remote Desktop? Does it still make sense to develop desktop apps and deploy to app servers and just put a shortcut on each user's desktop, or even map a drive letter like we used to do back in the day?
Your $0.02 would be appreciated!
I would definitely consider doing it as an internal web site.
The UI would be HTML5 using the "single page application" (SPA) for each function you need. Each function would be on a page that is loaded when the user needs it. The javascript/ajax code in the browser would interact with the web server which feeds back the raw data needed to be displayed.
Using Active Directory, you can have full security and customization per person.
If you need lots of interactivity, then you'd also want to consider including SignalR in the mix. (That is one of the "new" MS tools!)
If you can't install anything in the end users' PCs then go ASP.Net. Anything else will require installation.
You can make a web application more appealing to the users by having a good designer and a LOT of javascript. Not remotely comparable to the power and beauty of WPF, but that's your best bet.
WPF is part of the .Net framework and will not run without it installed.
Silverlight could also be an option, but it still requires an installation (although minimal, 4 MB, less-than-2 minute install), but an install anyways.
WinRT only works in Windows 8. It's not supported in lower versions (Vista, XP, 7). So I don't think it's an option as of now (unless all your users have Windows 8, of course).
And no, winforms is not an option. It's also part of the .Net framework, and even if you could get it installed, it doesn't make any sense having to deal with the limitations of it, having many much much better technologies at your disposal.

Leveraging Windows Azure with ClickOnce publishing

I have been developing a small C#/WinForm utility in my spare time and have got to the point where it's ready for release. My previous project was hosted via CodePlex which allowed me to update my source code and manually upload new versions via my computer.
I've recently recieved an MSDN subscription which gives me a fairly generous amount of usage/storage with Windows Azure.
This got me thinking, I know ClickOnce allows applications to be installed via the internet but would it be possible to do so whilst using Azure to host it?
I would like to think that this would allow me to update my application and push it to Azure whilst updating my source code on CodePlex via Team Foundation Server.
Does anybody have any experience in this? Is it something that can even be done?
Thanks for your time:)
Take a look at Kazi Nadudvari's Blog and see if this post helps:
How to deploy ClickOnce applications to Windows Azure?

Silverlight 4 with SQLite or alternative

I am making a Silverlight app and what I considered something straight-forward really isn't.
I am in need to create a application where a local database is stored on the web server where the Silverlight application can connect to and whenever a user goes on the application will allow sql queries to be carried out. Main use is Registration, login and event registration.
I have tried the Community SQLite: http://code.google.com/p/csharp-sqlite/
But had trouble getting it to work with Silverlight, my guess is due to poor documentation. I already have made a project containing a lot of work so I just want to implement my SQLite code into that.
Can anyone help
Thanks.
If you want your Silverlight application to have a LOCAL storage database, check out Sterling.
If you want your Silverlight application to query a centralized, server-side database, then you need to expose your database via WCF. RIA services is probably the easiest implementation.

Data access technology for Silverlight and WPF standalone app versions

I am writing an applicaton that will be a standalone WPF application and also a cut down version that will work as Silverlight and so be hosted in browsers. I want the Silverlight application to access data from the cloud. The WPF application needs to work against a local database but then be able to sync with the same cloud storage.
So I need the following scenarios to work. Silverlight works directly against the data stored in the cloud. The WPF app works against a local database. But the WPF app has the ability when it starts up to go to the cloud and get the latest version in case of changes being made online since the last time the WPF app was run. When the user finishes on the WPF app it can then sync up the changes made to the cloud again. This allows better performance during WPF being run and also allows you to run it offline and sync up later when you have a connection.
What is the best technology available to do this? I know there is a Sync Framework, SQL Server Data Service, ADO.NET Entity Framework and SQL Server Compact Edition that help with data access but I am not sure if they can be made to work together to do the presented scenario.
Do I implement all this myself? Does most of it come for free and I only need to handle the syncing? If you have deep knowledge of the Microsoft data access technologies then I would appreciate your input on the design.
Your scenario would be easy with a standard SQL server backend. :)
However, I think what you're proposing is doable for the most part. For the WPF app and syncing to the cloud with SSDS you could use Project Huron (which has downloads coming "soon"). That would keep your SSDS data in sync with the WPF client apps.
For the silverlight side you could use the REST api of SSDS (or a helper library like SSDS Rest).
So you won't need to implement most of it yourself, but whenever you head down a road like this one there are always lots of little roadblocks to run into along the way. Have fun!

Resources