473,394 Members | 1,706 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,394 software developers and data experts.

transfering across lan help

For deployment reasons, we don't want to have to install our large app on each network client manually; we'd like to have our users
run a very small app on their clients that basically runs the main installer from a hidden share on the network. We want a server
app that we can run somewhere that will be able to send the necessary info to the client apps. Okay, so the problem is that we
don't want to have the users type in the address of the server where the listener is.. How can we query a lan to determine the
address of the machine containing the listener ? I'm going to guess it's some kind of broadcast message, but not having done
anything more complicated than simple listen / connect tcp before, I'm a bit lost.

Thanks for any help or better suggestions.
--
Adrian Parker

Nov 20 '05 #1
14 1170
Hi,
Maybe this will help.
http://msdn.microsoft.com/library/de...tframework.asp

Ken
-------------------
"Adrian Parker" <ap******@nospam.com> wrote in message
news:e9**************@TK2MSFTNGP10.phx.gbl...
For deployment reasons, we don't want to have to install our large app on
each network client manually; we'd like to have our users
run a very small app on their clients that basically runs the main
installer from a hidden share on the network. We want a server
app that we can run somewhere that will be able to send the necessary info
to the client apps. Okay, so the problem is that we
don't want to have the users type in the address of the server where the
listener is.. How can we query a lan to determine the
address of the machine containing the listener ? I'm going to guess it's
some kind of broadcast message, but not having done
anything more complicated than simple listen / connect tcp before, I'm a
bit lost.

Thanks for any help or better suggestions.
--
Adrian Parker

Nov 20 '05 #2
Thanks Ken, but that won't work, the app we want to deploy isn't written in VB, we just want to write the installer mechanism in it.

-Adrian
Maybe this will help.
http://msdn.microsoft.com/library/de...tframework.asp

Nov 20 '05 #3

"Adrian Parker" <ap******@nospam.com> wrote in message
news:e9**************@TK2MSFTNGP10.phx.gbl...
For deployment reasons, we don't want to have to install our large app on each network client manually; we'd like to have our users run a very small app on their clients that basically runs the main installer from a hidden share on the network. We want a server app that we can run somewhere that will be able to send the necessary info to the client apps. Okay, so the problem is that we don't want to have the users type in the address of the server where the listener is.. How can we query a lan to determine the address of the machine containing the listener ? I'm going to guess it's some kind of broadcast message, but not having done anything more complicated than simple listen / connect tcp before, I'm a bit lost.
Thanks for any help or better suggestions.
--
Adrian Parker


Drop me an e-mail, I will sit down and write out the process, but briefly
here, I have a service on the server, it watches a directory, and writes to
a "List" file checksums for each file. Then, on the client apps, a 'lil
proggie downloads the listfile, and checks each file in there and thier
sums, if the file don't exist, or has been changed (Sums don't match ), it
copies a new one. It's difficult, but possible, to impliment the
registration of ActiveX crap, if needed.

Sueffel
BTW, ti***@tiberiansun.us is da email
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.558 / Virus Database: 350 - Release Date: 1/2/2004
Nov 20 '05 #4
Hi Adrian,

Could you elaborate more on the application? Do you mean that it is not a
.Net application and you would like a bootstrap .Net EXE to start it?

I think that the deployment idea will be much easier to implement if we run
it over a HTTP server. It may not be very efficient if the client
application need to broadcast a message everytime when it starts.

Regards,

Felix Wang
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Nov 20 '05 #5
Ok, basically we have a customer who has a network and wants to automate the install / update of the client application software
(via msi package), and to control the database connection parameters from a central source on the network. So what I wanted to do
was have the users run an installer util from a central web page or known network share and have it seek out the server on the
network that has the configuration parameters, but we don't want to have to force the users to type in a server ip address, it
should just be able to find the srever, connect, retrieve the necessary info and disconnect.. Once it has done it once, it can
remember the ip address of the server machine and always try that first next time. When I say next time, i mean when there is a new
deployment, the client must be able to detect it and automatically execute the msi package to uninstall then re-install the client
application.

-Adrian

"Felix Wang" <v-*****@online.microsoft.com> wrote in message news:cM****************@cpmsftngxa07.phx.gbl...
Hi Adrian,

Could you elaborate more on the application? Do you mean that it is not a
Net application and you would like a bootstrap .Net EXE to start it?

I think that the deployment idea will be much easier to implement if we run
it over a HTTP server. It may not be very efficient if the client
application need to broadcast a message everytime when it starts.

Regards,

Felix Wang
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Nov 20 '05 #6

"Adrian Parker" <ap******@nospam.com> wrote in message
news:eP**************@TK2MSFTNGP11.phx.gbl...
Ok, basically we have a customer who has a network and wants to automate the install / update of the client application software (via msi package), and to control the database connection parameters from a central source on the network. So what I wanted to do was have the users run an installer util from a central web page or known network share and have it seek out the server on the network that has the configuration parameters, but we don't want to have to force the users to type in a server ip address, it should just be able to find the srever, connect, retrieve the necessary info and disconnect.. Once it has done it once, it can remember the ip address of the server machine and always try that first next time. When I say next time, i mean when there is a new deployment, the client must be able to detect it and automatically execute the msi package to uninstall then re-install the client application.

-Adrian

"Felix Wang" <v-*****@online.microsoft.com> wrote in message

news:cM****************@cpmsftngxa07.phx.gbl...
Hi Adrian,

Could you elaborate more on the application? Do you mean that it is not a Net application and you would like a bootstrap .Net EXE to start it?

I think that the deployment idea will be much easier to implement if we run it over a HTTP server. It may not be very efficient if the client
application need to broadcast a message everytime when it starts.

Regards,

Felix Wang
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.



Not a prob, still working on getting it written up for you. The program
I'm referring to, the way I have it set up is as follows:

In the config file for the updater, I tell it whatt he directory for
update is, ommitting the drive letter. When the updater starts, it tries to
find this directory on any driveletter, niftiness IMO. It then does the
update, which in essence is a filecoopy operation, then you can tell it to
do any custom action from there, like MyApp.msi /u or whatever is needed.

Sound like what you are needing?

Sueffel
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.558 / Virus Database: 350 - Release Date: 1/2/2004
Nov 20 '05 #7
> Not a prob, still working on getting it written up for you. The program
I'm referring to, the way I have it set up is as follows:

In the config file for the updater, I tell it whatt he directory for
update is, ommitting the drive letter. When the updater starts, it tries to
find this directory on any driveletter, niftiness IMO. It then does the
update, which in essence is a filecoopy operation, then you can tell it to
do any custom action from there, like MyApp.msi /u or whatever is needed.

Sound like what you are needing?

Sueffel


From what I understand, the files will not be on a drive.. they would be on a hidden network share.. i.e.
\\machine\sharename$\filename.msi so you would not have an actual drive available.. all I need is to be able to return the
network share filename to the client for it to execute the installer..

Essentially, what do I need to look at to locate a server.. does the server just listen on a port, then a client issue a broadcast
to find it on the network?

-Adrian


Nov 20 '05 #8

"Adrian Parker" <ap******@nospam.com> wrote in message
news:OY**************@tk2msftngp13.phx.gbl...
Not a prob, still working on getting it written up for you. The program I'm referring to, the way I have it set up is as follows:

In the config file for the updater, I tell it whatt he directory for
update is, ommitting the drive letter. When the updater starts, it tries to find this directory on any driveletter, niftiness IMO. It then does the
update, which in essence is a filecoopy operation, then you can tell it to do any custom action from there, like MyApp.msi /u or whatever is needed.
Sound like what you are needing?

Sueffel
From what I understand, the files will not be on a drive.. they would be

on a hidden network share.. i.e. \\machine\sharename$\filename.msi so you would not have an actual drive available.. all I need is to be able to return the network share filename to the client for it to execute the installer..

Essentially, what do I need to look at to locate a server.. does the server just listen on a port, then a client issue a broadcast to find it on the network?

-Adrian

Okay, I see where you're going. Do a google on enumerating all machines on
a network. I'm not sure how to do it, then, you can check for the existance
of your directory structure, and execute the file if it's there. Not too
complicated, but not too awfule bad.

HTH
Sueffel
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.558 / Virus Database: 350 - Release Date: 1/2/2004
Nov 20 '05 #9
Hi Adrian,

Thanks for your update.

You mentioned that you would like "the users run an installer util from a
central web page or known network share and have it seek out the server on
the network that has the configuration parameters".

So why don't we store the configuration parameters on the cerntral web site
or the known network share? We can update the contents of it from time to
time.

If we need to search for a server, we need to define a scope for the search
(e.g. IP address span) and the characteristic of the server. Since the
NetBios ports (UDP 137, UDP 183, TCP 139) are opened by default on most of
the machines, I don't think that we can rely on these ports to locate the
server. If we check the file shares using
System.IO.File.Exists(@"\\192.168.1.1\sharename$\f ilename.msi"), there may
also be a security problem, since we cannot prevent malicious users from
creating their own "\sharename$\filename.msi" and cheating our application.

If I were you, I would rather store all the information on a well-known
central point. It is quick and simple. I hope this makes sense to you.

Regards,

Felix Wang
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Nov 20 '05 #10
Felix,

The thing is we don't have a "known" website or network share.. it could be anywhere on the network (we sell to lots of different
customers, so networks differ). I'm begining to think that the easiest way of doing this is to have the user dynamically build a
distribution exe with the info server address stored in a companion file to the util exe. the util exe can then just connect
directly and retrieve the necessary info.

-Adrian

"Felix Wang" <v-*****@online.microsoft.com> wrote in message news:9G**************@cpmsftngxa07.phx.gbl...
Hi Adrian,

Thanks for your update.

You mentioned that you would like "the users run an installer util from a
central web page or known network share and have it seek out the server on
the network that has the configuration parameters".

So why don't we store the configuration parameters on the cerntral web site
or the known network share? We can update the contents of it from time to
time.

If we need to search for a server, we need to define a scope for the search
(e.g. IP address span) and the characteristic of the server. Since the
NetBios ports (UDP 137, UDP 183, TCP 139) are opened by default on most of
the machines, I don't think that we can rely on these ports to locate the
server. If we check the file shares using
System.IO.File.Exists(@"\\192.168.1.1\sharename$\f ilename.msi"), there may
also be a security problem, since we cannot prevent malicious users from
creating their own "\sharename$\filename.msi" and cheating our application.

If I were you, I would rather store all the information on a well-known
central point. It is quick and simple. I hope this makes sense to you.

Regards,

Felix Wang
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Nov 20 '05 #11
So wat you need is some kind of Scanning-system that will scan all or a
range of IP's
How will you know what range to scan in?
Scanning in just the current computers subnet isn't gonna cut is since
many/most company networks span over multiple subnets.
And starting to scan over networks for multiple computers like that can
cause the Network Firewalls to react (maybe).

Then when you find the Server you need to verify that it IS the server
(username/password or something)

If the customer puts the Installation package on a central network drive or
for example a CD, to let the users install it from, why not put a
ini/xml file in the same directory that holds the adress of the Server.

That way your .msi will be general, and the ini/xml-file can be customized
by the administrator/company.

Another thing could be to fake the DNS adress
Your .msi would allways look for the server named "myserverformyapp.com",
and then each Company configures their DNS server-to return the IP of their
server when asked for that adress.

There is nothing that is more annoying having to _manually_ install a App on
100+ Computers, so including a way of automating the whole install process
is a Must if the app is ment for a network enviroment.

Anyways; i would reccomend that you had a fallback-strategy where the user
can if everything else fails, type inn serveradress username and password.
"Adrian Parker" <ap******@nospam.com> wrote in message
news:eP**************@TK2MSFTNGP11.phx.gbl...
Ok, basically we have a customer who has a network and wants to automate the install / update of the client application software (via msi package), and to control the database connection parameters from a central source on the network. So what I wanted to do was have the users run an installer util from a central web page or known network share and have it seek out the server on the network that has the configuration parameters, but we don't want to have to force the users to type in a server ip address, it should just be able to find the srever, connect, retrieve the necessary info and disconnect.. Once it has done it once, it can remember the ip address of the server machine and always try that first next time. When I say next time, i mean when there is a new deployment, the client must be able to detect it and automatically execute the msi package to uninstall then re-install the client application.

-Adrian

"Felix Wang" <v-*****@online.microsoft.com> wrote in message

news:cM****************@cpmsftngxa07.phx.gbl...
Hi Adrian,

Could you elaborate more on the application? Do you mean that it is not a Net application and you would like a bootstrap .Net EXE to start it?

I think that the deployment idea will be much easier to implement if we run it over a HTTP server. It may not be very efficient if the client
application need to broadcast a message everytime when it starts.

Regards,

Felix Wang
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.


Nov 20 '05 #12
Hi Adrian,

Have you read "Jarod_24"'s reply? I agree with him/her. We can deploy the
App.config (an XML file) along with the client side application. In the
App.config, we can set one or two server addresses for probing (one for
primary use and the other one for fallback). The point is that we should
define a range for probing. I don't think it is a good idea enumerate all
the machines on the subnet.

Regards,

Felix Wang
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Nov 20 '05 #13
Did you read the actual msg you replied to ? :)

"I'm begining to think that the easiest way of doing this is to have the user dynamically build a
distribution exe with the info server address stored in a companion file to the util exe. the util exe can then just connect
directly and retrieve the necessary info."

my brain got there just before Jarod_24 suggested it.

"Felix Wang" <v-*****@online.microsoft.com> wrote in message news:k7****************@cpmsftngxa08.phx.gbl...
Hi Adrian,

Have you read "Jarod_24"'s reply? I agree with him/her. We can deploy the
App.config (an XML file) along with the client side application. In the
App.config, we can set one or two server addresses for probing (one for
primary use and the other one for fallback). The point is that we should
define a range for probing. I don't think it is a good idea enumerate all
the machines on the subnet.

Regards,

Felix Wang
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Nov 20 '05 #14

"Adrian Parker" <ap******@nospam.com> wrote in message
news:eb**************@TK2MSFTNGP10.phx.gbl...
Did you read the actual msg you replied to ? :)

"I'm begining to think that the easiest way of doing this is to have the user dynamically build a distribution exe with the info server address stored in a companion file to the util exe. the util exe can then just connect directly and retrieve the necessary info."

my brain got there just before Jarod_24 suggested it.

"Felix Wang" <v-*****@online.microsoft.com> wrote in message

news:k7****************@cpmsftngxa08.phx.gbl...
Hi Adrian,

Have you read "Jarod_24"'s reply? I agree with him/her. We can deploy the App.config (an XML file) along with the client side application. In the
App.config, we can set one or two server addresses for probing (one for
primary use and the other one for fallback). The point is that we should
define a range for probing. I don't think it is a good idea enumerate all the machines on the subnet.

Regards,

Felix Wang
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.



I think you're making this a little more complex than it is. Here's what
you need to consider, are the drives going to be mapped? If not, then you
have to find a way ( I have yet to find one ) to dynamically seek every
network share and sheck for the existance of the file, or put a listing into
a file such as the App.config. The easiest way is to tell the customer they
will have to map the server share to the local users system, anything they
want, that way you can enumerate through the drive letters, and search for
the file. You would also, in the config file, set it so that the customer
can define thier directory tree that the file is sitting in, minus the drive
letter. For instance, I have a COTS (Commercial Off The Shelf ) software
directory on one of my servers, \\MyServer\COTS, and I have that mapped to
T:\ drive, my starter app searches for the directory tree of
\Tiberiansun\Installer\Setup.msi on all drives. This way, if they stick a
CDROM in the drive, it will use that, first come first serve scenerio.
You are just simply specifing a location of a file to execute, then execute
it. There's only soo much dynamics that can be programmed in, and I don't
think it's unreasonable at all to request those 2 things from a customer so
they can use your software without any problems.

HTH
Sueffel
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.558 / Virus Database: 350 - Release Date: 1/2/2004
Nov 20 '05 #15

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

Similar topics

2
by: Niyazi | last post by:
Hi, I have BIG question and I gues it is the BEST question. I have a problem that I am guessing the best solution is to create some sort ..NET Services. This Service(s) must check every...
2
by: bernardpace | last post by:
Hi, I am writing a client server application using TcpClient and TcpListener classes. Now I need to transfer structured large amounts of data. I was thinking to transfer the data in an xml...
10
by: Walshi | last post by:
Hi all, I'm a relative newby to access and VBA etc. My forms and tables etc are working great and saving lots of time...However... I have two databases with the exact same table format. I want...
3
by: artillero | last post by:
Im transfering my database to another host and it's pretty large 100mb, can someone please tell me how I can tranfer my large database to phpmyadmin. Thank you
2
by: Rob Meade | last post by:
Hi all, I have an application which enables a user to register and select a series of resources to go with their profile. At the moment I have an issue on the section where they will select...
13
by: hexagram | last post by:
hi guys can anybody can teach me how to do this scenario Transfering Data of a form to a new form The Scenario is: I have a Delivery Receipt Form (Hardware) with a fields of the following ...
0
nomad
by: nomad | last post by:
Hello Everyone: I need some help with transfering a db from my computer to the host. I'm not to sure how to do this so that the webpage know where the db is at. Here is what I have... I'm using...
4
by: Harvey Triana | last post by:
It's well known that IDictionary collections present run-time exceptions if you attempt to serialize them across Web service boundaries. I need transfer data from this struct: private struct...
0
by: Ro | last post by:
I've been given the task of transfering data from an access db to sql server 2000. The previous access db was not structured very well so we reconstructed the tables in sql server 2000 to add...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
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
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
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...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
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
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,...

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.