473,385 Members | 1,798 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

What is the best way to update applications?

jim
Let's just say that I am foolish enough to code and distribute a free app to
the general public over the web.

What is the best (cheapest, smallest bandwidth, easiest to code) way to
publish updates to my .Net application?

I'd like to save bandwidth by only updating the changed portions if
possible.

Thanks!

jim
Jan 30 '08 #1
7 3031
On Jan 30, 3:43 am, "jim" <j...@home.netwrote:
Let's just say that I am foolish enough to code and distribute a free app to
the general public over the web.

What is the best (cheapest, smallest bandwidth, easiest to code) way to
publish updates to my .Net application?

I'd like to save bandwidth by only updating the changed portions if
possible.

Thanks!

jim
It depends a lot on your architecture and deployment. ClickOnce offers
automatic update functionality, but I have never used it so I can't be
of too much help there. Also, if you architectured the program with
dll's you could just release a new version of the dll. Besides that,
here are a few links you might want to read:

http://www.codeproject.com/KB/instal...tpatching.aspx
http://www.codeproject.com/KB/IP/ApplicationUpdate.aspx
http://www.codeproject.com/KB/instal...ate_Part1.aspx

I haven't read them, but they seem to be dealing with your topic.

Thanks,

Seth Rowe [MVP]
Jan 30 '08 #2
Cheapest is probably ClickOnce, it also requires no coding.

I don't know what sort of bandwidth it uses; but that would involve
comparing to another method of updating anyway.

--
Browse http://connect.microsoft.com/VisualStudio/feedback/ and vote.
http://www.peterRitchie.com/blog/
Microsoft MVP, Visual Developer - Visual C#
"jim" wrote:
Let's just say that I am foolish enough to code and distribute a free app to
the general public over the web.

What is the best (cheapest, smallest bandwidth, easiest to code) way to
publish updates to my .Net application?

I'd like to save bandwidth by only updating the changed portions if
possible.
Jan 30 '08 #3
jim

"Peter Ritchie [C# MVP]" <PR****@newsgroups.nospamwrote in message
news:AE**********************************@microsof t.com...
Cheapest is probably ClickOnce, it also requires no coding.

I don't know what sort of bandwidth it uses; but that would involve
comparing to another method of updating anyway.

--
Browse http://connect.microsoft.com/VisualStudio/feedback/ and vote.
http://www.peterRitchie.com/blog/
Microsoft MVP, Visual Developer - Visual C#
ClickOnce is the cheapest. Unfortunately it is also the msot restricitive
in terms of the .Net security model.

And, asking users to slosh through arcane instructions (to most of them
anyway) just to enable an app to save a file to the hard drive is not
something that we are comfortable with.

ClickOnce was a great idea (almost wet myself when I first heard of the
basic concept). Unfortunately, reality set in quickly upon realizing just
how basic the apps are that you can send over the internet with ClickOnce
without requiring end users to mess with stuff they are as apt to screw up
as get right.

Whatever happens, we don't want to be tagged as "the people that messed up
my PC" is a user screws around with .Net security and doesn't get it right.

Microsoft gets more thing *almost* right than any other company....ever.
And that's a shame.

Heck - activeX controls are more powerful (and easier to host) than
ClickOnce apps over the web.

jim
Jan 30 '08 #4

"rowe_newsgroups" <ro********@yahoo.comwrote in message
news:9a**********************************@k39g2000 hsf.googlegroups.com...
On Jan 30, 3:43 am, "jim" <j...@home.netwrote:
>Let's just say that I am foolish enough to code and distribute a free app
to
the general public over the web.

What is the best (cheapest, smallest bandwidth, easiest to code) way to
publish updates to my .Net application?

I'd like to save bandwidth by only updating the changed portions if
possible.

Thanks!

jim

It depends a lot on your architecture and deployment. ClickOnce offers
automatic update functionality, but I have never used it so I can't be
of too much help there. Also, if you architectured the program with
dll's you could just release a new version of the dll. Besides that,
here are a few links you might want to read:

http://www.codeproject.com/KB/instal...tpatching.aspx
http://www.codeproject.com/KB/IP/ApplicationUpdate.aspx
http://www.codeproject.com/KB/instal...ate_Part1.aspx

I haven't read them, but they seem to be dealing with your topic.

Thanks,

Seth Rowe [MVP]
I can speak for ClickOnce. It handles incremental updates automatically.
That's one of the main reason why my company uses it.

RobinS.
GoldMail, Inc.

Jan 31 '08 #5

"jim" <ji*@home.netwrote in message
news:z_*******************@bignews3.bellsouth.net. ..
>
"Peter Ritchie [C# MVP]" <PR****@newsgroups.nospamwrote in message
news:AE**********************************@microsof t.com...
>Cheapest is probably ClickOnce, it also requires no coding.

I don't know what sort of bandwidth it uses; but that would involve
comparing to another method of updating anyway.

--
Browse http://connect.microsoft.com/VisualStudio/feedback/ and vote.
http://www.peterRitchie.com/blog/
Microsoft MVP, Visual Developer - Visual C#

ClickOnce is the cheapest. Unfortunately it is also the msot restricitive
in terms of the .Net security model.

And, asking users to slosh through arcane instructions (to most of them
anyway) just to enable an app to save a file to the hard drive is not
something that we are comfortable with.

ClickOnce was a great idea (almost wet myself when I first heard of the
basic concept). Unfortunately, reality set in quickly upon realizing just
how basic the apps are that you can send over the internet with ClickOnce
without requiring end users to mess with stuff they are as apt to screw up
as get right.

Whatever happens, we don't want to be tagged as "the people that messed up
my PC" is a user screws around with .Net security and doesn't get it
right.

Microsoft gets more thing *almost* right than any other company....ever.
And that's a shame.

Heck - activeX controls are more powerful (and easier to host) than
ClickOnce apps over the web.

jim
Obviously you needed to read Brian Noyes' ClickOnce book. We are using
ClickOnce very successfully. It installs the application into the user's
profile, so it does not mess with anything else on the user's computer, and
can't mess anything up. We are deploying part of DirectX with our
application, and it does not conflict with the user's version in any way,
shape, or form. You just have to know how to get it done.

RobinS.
Goldmail, Inc.

Jan 31 '08 #6


"jim" <ji*@home.netwrote in message
news:YM*******************@bignews8.bellsouth.net:
Let's just say that I am foolish enough to code and distribute a free
app to
the general public over the web.

What is the best (cheapest, smallest bandwidth, easiest to code) way to
publish updates to my .Net application?

I'd like to save bandwidth by only updating the changed portions if
possible.

Thanks!

jim
Well, two out of three ain't bad.

The cheapest and easiest is to re-install the entire app. This is the
way most applications are updated via the web.

If you make sure that your website gives detailed information on the
reason for a new release and whether it is critical or not, the users
can decide whether it is worth upgrading. Other solutions are going to
increase the workload (and potential for error) on you, and more
importantly, the user.

..NET apps aren't that big compared to native code.

Jan 31 '08 #7
Ian Semmel wrote:
>>
What is the best (cheapest, smallest bandwidth, easiest to code) way to
publish updates to my .Net application?

Well, two out of three ain't bad.
Actually, my experience has proven that you'd obtain 3 out of 3 using
ClickOnce!

Apart from what's already been mentioned, ClickOnce will only download
what needs to be updated. Some of my applications use 3rd party DLL's
etc and, because of this, these application can blow-out to greater than
30 or 50MB for the initial installation. Once the application is
installed, I've found that subsequent updates only download the
"changed" items, and as this is usually just my main code, ends-up being
less than 2MB. I have many Users who have low-bandwidth Internet
connections, and these Users are very pleased that updates take no time
at all to complete.

Yes, ClickOnce would be my recommendation as it meets all of your
requirements. I distribute my apps and updates this way and would never
consider any of the other options being promoted, and I have tried other
options. Those that are criticising ClickOnce obviously haven't ever
used it!

ShaneO

There are 10 kinds of people - Those who understand Binary and those who
don't.
Feb 2 '08 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

10
by: Gabe Moothart | last post by:
Hi, I have 3 applications (2 services and a winforms app) that need to be able to send/recieve messages from each other. What is the best way to do this in .NET? I looked briefly at remoting, but...
4
by: Oscar Thornell | last post by:
Hi, I have a relativley large/complex typed dataset that contains 7-8 tables and some supporting relational tables (lookups) for many-to-many relations. A good exampel would be a dataset that...
8
by: Midnight Java Junkie | last post by:
Dear Colleagues: I feel that the dumbest questions are those that are never asked. I have been given the opportunity to get into .NET. Our organization has a subscription with Microsoft that...
5
by: elyob | last post by:
Hi, a quick hello first to all on this group! I've been looking at getting into c# for a while now, and think I have just about all the tools, and a fair amount of literature on the subject....
8
by: robert | last post by:
Hello, I want to put (incrementally) changed/new files from a big file tree "directly,compressed and password-only-encrypted" to a remote backup server incrementally via FTP,SFTP or DAV.... At...
7
by: jim | last post by:
Let's just say that I am foolish enough to code and distribute a free app to the general public over the web. What is the best (cheapest, smallest bandwidth, easiest to code) way to publish...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.