Solved

"Auto Updatable" application

Posted on 2004-04-15
5
275 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 500 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

[Webinar] Code, Load, and Grow

Managing multiple websites, servers, applications, and security on a daily basis? Join us for a webinar on May 25th to learn how to simplify administration and management of virtual hosts for IT admins, create a secure environment, and deploy code more effectively and frequently.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
How to share My.Settings in multiple application instances ? 7 77
VS 2017 18 182
VB.Net SQL Query 2 Tables Different Databases 3 60
Make borderless form movable by user 2 26
A basic question.. “What is the Garbage Collector?” The usual answer given back: “Garbage collector is a background thread run by the CLR for freeing up the memory space used by the objects which are no longer used by the program.” I wondered …
In my previous article (http://www.experts-exchange.com/Programming/Languages/.NET/.NET_Framework_3.x/A_4362-Serialization-in-NET-1.html) we saw the basics of serialization and how types/objects can be serialized to Binary format. In this blog we wi…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…

732 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