Automatic Updates

W

William Ryan

Are you using an intranet or the internet to push the
updates? If the internet, you probably can't get there
without a web server. If you are using an intranet, you
can do it from a shared folder. Paul Kimmel has a new
book
http://www.amazon.com/exec/obidos/ASIN/0672324075/internco
m-20/002-4611773-6304806 that discusses this in depth...
I can send you some code to do it. Effectively you need
two assemblies, one that calls the second, and it looks
to somehwere 'else' to check if the somewhere 'else' on
is newer than the one it wants to use. I've done it on
the intranet at work, and on a scale of 1 to 10, it's
about a 4 the first time through, and much easier
afterward, setting the permissions is the main gotcha.

Let me know which scenario you are using and I can be of
more help.

Good Luck,

Bill

W.G. Ryan
(e-mail address removed)
www.knowdotnet.com
 
D

Dino M. Buljubasic

Thanks William,

the update will be done over INTERNET. Since I am quite inexperienced with
this, can you explain to me how to do it please.

My idea is to have somewhere on my server (SQL Server or Web Server) a file
with information about the release (eg. a file with date stamp, version
number, and whatever else is needed).

Then, when my application starts, it will read the file and check if a newer
version has been stored on SQL Server (It has to be SQL Server 2000). If
yes, it will connect to the SQL Server 2000 (if it has access rights),
download vb.net executable file of the newer application which will replace
the old application on clients machine.

The thing is that the executable file of the release has to be protected
from public access, that is why I want to have it on SQL Server 2000 and
only users that have access rights can download it. The access right should
be set using user name and password.

Thank you for your help. I appreciate it very much.
 
J

Jon Skeet

Dino M. Buljubasic said:
the update will be done over INTERNET. Since I am quite inexperienced with
this, can you explain to me how to do it please.

My idea is to have somewhere on my server (SQL Server or Web Server) a file
with information about the release (eg. a file with date stamp, version
number, and whatever else is needed).

Then, when my application starts, it will read the file and check if a newer
version has been stored on SQL Server (It has to be SQL Server 2000). If
yes, it will connect to the SQL Server 2000 (if it has access rights),
download vb.net executable file of the newer application which will replace
the old application on clients machine.

The thing is that the executable file of the release has to be protected
from public access, that is why I want to have it on SQL Server 2000 and
only users that have access rights can download it. The access right should
be set using user name and password.

Thank you for your help. I appreciate it very much.

Is there any reason for not getting the webserver to make the
connection and serve up the file, using the username and password given
by the user? That way you wouldn't have to open up your SQL server to
the outside world. (At least, not for this particular bit of
functionality.)
 
J

Jon Skeet

Dino M. Buljubasic said:
I am concerned about the security when using web server. That is the main
reason I'd like to use SQL Server 2000 or maybe FTP server (but .NET does
not offer any support for FTP)

Why do you think that putting a SQL server 2000 box or FTP server on
the net is more secure than putting a webserver there?
 
D

Dino M. Buljubasic

I don't know much about security issues but I heard about crawlers and
simmilar software that can get anything from an HTTP Server.

Basically, I am looking for the best solution and since I don't have much of
experience, can you please tell me more about advantages and disadvantages
of web server, sql server and ftp server?

What do you thing is the best way to go for and why giving the requirement I
listed before.

Thank you, any suggestions are welcome.
 
J

Jon Skeet

Dino M. Buljubasic said:
I don't know much about security issues but I heard about crawlers and
simmilar software that can get anything from an HTTP Server.

That's rubbish. If something is password protected, it's password
protected, unless there's a bug in the server - and there can be bugs
in ftp servers and SQL servers just as easily as in web servers.
Basically, I am looking for the best solution and since I don't have much of
experience, can you please tell me more about advantages and disadvantages
of web server, sql server and ftp server?

Well, web servers are generally more commonly on the net than either of
the others, so are likely to have had more things thrown at them over
time. FTP servers would come second in that regard.
What do you thing is the best way to go for and why giving the requirement I
listed before.

I would just go with a web server solution. Putting a database server
up on the net doesn't gain you anything, and opens you up *slightly*
more for denial of service attacks, I suspect.

Given that as you said before, everything is geared towards using a web
server, I'd be looking for some really pretty convincing arguments
against using a web server before considering it - and crawlers being
able to "get anything" *isn't* a convincing argument.
 
D

Dino M. Buljubasic

Are you talking about IIS server when you say 'web server'?

I heard that IIS has lots of holes and compatibility issues with .NET.

Also, setting permissions for users can be troublesome. Is that right?
 
J

Jon Skeet

Dino M. Buljubasic said:
Are you talking about IIS server when you say 'web server'?

Or Apache.
I heard that IIS has lots of holes and compatibility issues with .NET.

Did you hear about the SQL Slammer worm that went round recently too?
Also, setting permissions for users can be troublesome. Is that right?

Don't know, myself - I haven't administered any IIS boxes personally.
I'm sure it's doable though.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top