?
Solved

"Auto Updatable" application

Posted on 2004-04-15
5
Medium Priority
?
283 Views
Last Modified: 2008-03-21
Hello,

here is a theoric question, I want to investigate the different possibilities before starting.
I have an application that will be deployed at several places in several cities. When a new version of the application is released, I do not want to go to each place and redeploy the new version, and I do not want the users to do that themselves.

So I had several ideas.
Idea 1:
----------
At every startup of my application, it could check if a new version is available (comparing its version with a value returned by a web service for instance). If it is the case, uninstall itself and install it again. (maybe using an external process and working in command line... is it doable ? Can we install a .NET application without using the msi wizard ? What happens if the user doesn't have local administrator rights ? can we install for everyone ?

Idea 2:
----------
Quite similar, but it will update only a DLL. My application will be a small exe, doing for instance just a myDllEntryPoint.Start() or something like that.
Of my course, my new DLL will have a higher version number and so I believe there will be a problem for my soft. It won't use the new DLL as the version number is no longer correct. How can we change that ?

Idea 3:
----------
Using a distant DLL. Like in previous case, my application would launch only a start method in the DLL, but this DLL would be installed in the GAC of a distant computer. So when a new version is released, I only uninstall and reinstall that DLL on the server.
Can we use a distant DLL ? (and how ?) Only on a local network ? Also thru a VPN ? Is there a drawback in term of performance (I was thinking that the DLL would be loaded at every startup in memory... Is that true ? Will it have to go to the server each time a methof of the DLL is called ?)


Do you have another / better idea ?
What would you do in such a case ?
0
Comment
Question by:Jarodtweiss
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 7

Expert Comment

by:culshaja
ID: 10833137
According to Microsoft if you have the .Net framework on the client machine and you put a .Net exe on a webserver and provide a link to it in a webpage, if that person clicks the link, the App will download and run from a sandbox on the local machine. It is intelligent enough to know wether to run a cached version (if you have clicked the link before) or to download the latest version to the sandbox and run that. What I am not so sure about is associated DLLs.

Refering to your ideas above, I use a program which calls a webservice to check for a list of updates. The app then uses this list to determine if there are any newer files which it requires to download and then goes and downloads these files from the location that is specified in the update list. This update checking occurs in the app load. Seems to be used by quite a few different applications.

James :-)
0
 
LVL 7

Expert Comment

by:culshaja
ID: 10833186
Take a look at this: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/updater.asp

Its a pre built code block for auto-updating applications.

James :-)
0
 
LVL 7

Accepted Solution

by:
culshaja earned 2000 total points
ID: 10833206
0
 
LVL 4

Author Comment

by:Jarodtweiss
ID: 10833226
Thanks for the links !
I'm having a look on it !
0
 
LVL 4

Author Comment

by:Jarodtweiss
ID: 10968040
Hey culshaja !
Sorry for being so late for giving points.. I have no more time to work on that part for now...
Thanks anyway for those links
I'll reopen a topic if I have problems with that in the future !

Jarod
0

Featured Post

Python: Series & Data Frames With Pandas

Learn the basics of Python’s pandas library of series & data frames and how we can use these tools for data manipulation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question