How to automatically update an application without ClickOnce?
There are a lot of questions already about this, so I will refer you to those.
One thing you want to make sure to prevent the need for uninstallation, is that you use the same upgrade code on every release, but change the product code. These values are located in the Installshield project properties.
Some references:
- Auto update .NET applications
- Auto-update library for .NET?
- Auto update for WinForms application
- Suggest a method for auto-updating my C# program
- Automatic update a Windows application
Can ClickOnce update automatically without asking the user?
Yes, ClickOnce applications update automatically when a new version is deployed onto the server. There are multiple ways to force this:
http://msdn.microsoft.com/en-us/library/s22azw1e.aspx
Also take a look how to have your own gui to inform users about updates:
http://msdn.microsoft.com/en-us/library/ms404263.aspx
Automatically update a C# Windows Forms application
I've used ClickOnce with dozens of applications and have never seen the username/password prompt. My process is:
- Declare the application is downloaded from "http://www.yourSite.com/yourApp/"
- Publish to folder "yourApp" in whatever location you want
- Drag and drop that whole folder into your WWW space on your server
- Email your users the link "http://www.yourSite.com/yourApp/yourApp.application"
For updates, just repeat this same process (except emailing users), and everything else takes care of itself. Be sure check the box in your application settings that tells it to check for updates of course.
How to add Software updater in wpf without click once and any other third party tool?
I would encourage you not to reinvent the wheel, and go with an existing, proven solution. While an auto-updating client seems simple at first, it can easily get difficult and into a mess if you're not covering various scenarios from the start.
ClickOnceClickOnce has good built-in support in Visual Studio, .NET and Windows, but you can also run into security and deployment issues with it, especially if you're using a self-signed certificate. While I haven't had any huge issues with it, a lot of people feel badly about ClickOnce (but I'm not aware of a list anyway, as what I've read isn't normally backed up with specific technical details).
I'd be of the opinion that ClickOnce would be acceptable for internal or small projects, but not manageable for a wider release, especially across more than one customer.
SquirrelSquirrel is a free, open source install and update solution.
If you've tried Visual Studio Code, then you've already experienced what a Squirrel install and update is like.
It is a one-click install that deploys to the user's local app data folder, so no administrative permissions / UAC is required. You can let it work using its defaults, or use their API to have more control over the update process. And if you don't like certain parts of it, you can always fork it and alter it for your own needs.
Free solution for automatic updates with a .NET/C# app?
Should've updated this ages ago, oops!
But anyway, I've been using SparkleDotNET for a while now and it's been working absolutely wonderfully. There's a few little bugs here and there but I've already helped get some of them squashed, and hopefully I'll be able to get rid of the others too :)
For those who have the time to run the publish functionality of Visual Studio, and whose app is relatively self-contained, and doesn't require anything like launching on startup, I'd recommend ClickOnce for sure. MetroTwit uses it and it's got a nice in-app updater interface, so it seems flexible (at least to a certain degree). For launching on startup, it's possible to do so, but methods to do so are quite hacky and don't work that well.
Related Topics
How to Get Number of Rows Using Sqldatareader in C#
How to Get Column Names of Table At Runtime in C#
Convert from Httpresponsemessage to Iactionresult in .Net Core
How to Change Cell Background Color in Wpf Datagrid
How to Add Double Quotes to a String That Is Inside a Variable
Regex to Match Alphanumeric and Spaces
C# List Join List and Filter from Another List
Check for Internet Connection Constantly
Microsoft Azure: How to Create Sub Directory in a Blob Container
How to Open in Default Browser in C#
Get Strings Between Characters in Brackets in C#
Why Am I Getting Error Cs0246: the Type or Namespace Name Could Not Be Found
How to Prevent the Print Progress Dialog Appearing When Performing a Print Preview
Drawing a Triangle With Rounded Corners
Fetching Value from a Datatable into Datatable With Where Clause
How to Display Values Only Upto 2 Decimal Places
Accessing a Shared File (Unc) from a Remote, Non-Trusted Domain With Credentials
How to Map to a Dictionary Object from Database Results Using Dapper Dot Net