GB2361784A - Automatic installation of software in a network - Google Patents

Automatic installation of software in a network Download PDF

Info

Publication number
GB2361784A
GB2361784A GB0010430A GB0010430A GB2361784A GB 2361784 A GB2361784 A GB 2361784A GB 0010430 A GB0010430 A GB 0010430A GB 0010430 A GB0010430 A GB 0010430A GB 2361784 A GB2361784 A GB 2361784A
Authority
GB
United Kingdom
Prior art keywords
service
program step
running
requested
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0010430A
Other versions
GB0010430D0 (en
Inventor
Jonathan G G Tams
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
3Com Corp
Original Assignee
3Com Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 3Com Corp filed Critical 3Com Corp
Priority to GB0010430A priority Critical patent/GB2361784A/en
Publication of GB0010430D0 publication Critical patent/GB0010430D0/en
Publication of GB2361784A publication Critical patent/GB2361784A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A method for automatically installing or updating software on a network workstation from a network server comprises initiating a program in a login script 103 and the program using the results to determine if relevant software should be installed or upgraded on the workstation. Preferably the checking program checks to see if the relevant software is running and if not sets it running. The program checks the version information and if older than the server automatically installs the upgraded version. The software installed maybe a Windows NT<SP>TM</SP> Service. In one embodiment, the workstation is checked to see if the service is installed, a current or newer version 105, and running 202. If not, the workstation is connected to a distribution service 106 and the service is stopped 203 and deleted 204. New files are then copied from the server 206, installed 207 and the service restarted 208. Once the update has been reported to the checking program 209 control is returned to the login script 109.

Description

2361784 METHOD AND APPARATUS FOR NON-MANUAL INSTALLATION OF SOFTVARE, SUCH
AS NT SERN71CES
BACKGROUND OF THE INVENTION
The present invention relates to a method and apparatus for non-manual installation of software, particularly operating system software, such as NT services. Whilst it will be described with reference to the operating system known as Microsoft Windows NT (RTM), it is not restricted to such use.
Throuahout this document, for simplicity, the term "NT device" will be used to indicate a device which is either running Microsoft Windows NT Work- station or Nficrosoft Windows NT Server as its operating system. Where it is necessary to distinguish between the two, "NT Workstation", or "NT Server" will be used.
There are several operations on operating systems devices such as an NT device which require special privileges (such as administrator status) to be carried out. One method of providing access to these operations is to install an NT service on the NT device which (a) is configured to run with the appropriate privileges for the operations C.
it must provide, and (b) provides some mechanism by which a user without the appropriate privileges may request that the operations be performed on the user's behalf by the NT service.
In other words, to provide privileged access to a non-administrator for carrying out one or a limited number of operations which would normally require an administrator, In order to install an NT service on an NT device (the NT services are listed by going to "Control Panel" on an NT operating computer and clicking on "Services" where the C, status of each relevant service is listed) it is necessary to have administrator privileges, either for the device on which it is being installed or for the NT domain, eg: network, that the device participates in, When a particular service is required on all NT devices in an NT domain, the standard method of installing the service is to log r on as the NT domain administrator (or as a user with equivalent privileges) to one single NT device in the domain, and from that one NT device manually select all the NT devices within the domain, and install the service remotely.
Using this manual method of installing NT services is very costly to maintain. If new NT devices are added to the NT domain at a later date, it will be necessary to manually repeat the process for the new NT devices. In many cases, the network includes hot docking stations where users connect their mobile computers when they return, for example, to base. In this case, there may be no one time when all of the 10 NT devices including the mobile devices are on the network and available to install the NT service, and so the installation process may need to be repeated many times before all the current mobile NT devices in the domain have the relevant NT service installed on them. 15 It would be desirable to avoid this manual method of NT service installation, and so avoid the cost of maintenance. SUMMARY OF THE LNVENTION
The present invention provides a method for non-manual installation of software on devices on a network comprising:
providing a software requester in the log-on script of a network controller; when a user of a device logs on to the network, the network controller using the software requester to check if relevant software is installed on said devicel if it is installed. continuing the log in procedure- and, if not, installing said software on said device before continuing the log on procedure.
The present invention also provides a method for installation of a service on devices on a network comprising the steps of.
running a distribution service as a service on a server of a network; providing a service requester in a log in procedure for a device logging into W 0 the network. the service requester determining the current status of the required service on the device, including whether the required service is installed, and whether it is running, and if either of these are not the case, then making a request to the distribution service to perform the appropriate actions; where upon the distribution service runs or installs and runs the required service on the device by copying the required service files to the target device and remotely installing the required service on the target device if its installation was requested and remotely starting the required device on the target device.
A computer program on a computer readable medium or embodied in a carrier wave for carrying out the method of the preceding two paragraphs.
1:1 The present invention also provides a method for non-manual installation of software on devices on a network comprising the steps of (a) when a user of a device logs on to the network, running a service requester by passing a log-on script from the network to the device, the script including the service requester (b) the service requester checking (i) if a required service is installed in the device, (ii) if it is installed, checking if the version number of the service matches or exceeds the required version, and, (iii) if the version number does match or exceed the required version, checking to see if the required service is running; (c) if cheeks (i) (ii) (iii) are okay, continuing the log on procedure in the conventional way (go to step n); (d) if any of checks (i) (ii) (iii) fail, connecting the device to a distribution service running in the network; (c) communicating to the distribution service the current status of the required "0 service in the device; (f) if any later steps in the log-on procedure require the use of the requested service, wait until the requested service is available before continuing., (g) if the requested service is the wrong version number and is running, causing the distribution service to stop the requested service on the device., (h) if the requested service is the wrong version number, remove the requested service on the device so that it is no longer installed, (i) if the requested service is not installed on the device copy the files needed for the requested service to the device.
0) if the requested service is not installed on the device create the requested service on the device, (k) start the requested service on the device; (1) monitor the state of the requested service, and as soon as it has completed initialization and is running, communicate this fact to the service requesterl (m) continue logging on.
The present invention also provides a computer program on a computer readable medium or embodied in a carrier wave for non-manual installation of software on devices on a network, said computer program being adapted to run, on the logging on of a user of a device on to the network, said computer program comprising the steps of (a) program step for running a service requester by Dassing a log-on script from the network to the device, the script including the service requester.
(b) program step causing the service requester to check (i) if the required service is installed in the device, (ii) if it is installed, checking if the version number of the service matches or exceeds the required version, (iii) if the version number does match or exceed the required version, checking to see if the required service is running.
(c) if checks (i) (ii) (iii) are okay, program step to continue the log on procedure in the conventional way (go to step m); (d) if any of checks (1) (ii) (iii) fail, program step to connect the device to one of 3,0 the distribution services running in the network; (e) program. step for communicating to the distribution service the current status of the required service in the device; 4 (f) program step to determine if any later steps in the lo,--on procedure require the use of the requested service, and if so program step to wait until the requested service is available before continuing, (g) program step to determine if the requested service is the wrong version number and is running, and if so program step to stop the requested service on the NT; (h) program step to determine if the requested service is the wrong version number, and if so program step to remove the requested service on the device so that it is no longer installed; (i) program step to determine if the requested service is not installed on the device and if so program step to copy the files needed for the requested service to the device; 0) program step to determine if the requested service is not installed on the device and if so program step to create the requested service on the device (k) program step to start the requested service on the device, (1) program step to monitor the state of the requested service, and as soon as it has completed initialization and is running, communicate this fact to the service requester; (m) program step to continue logging on.
BRIEF DESCRIPTION OF THE DRAWINGS
A preferred embodiment of the invention wfll now be described by way of example only and with reference to the accompanying drawings in which:
Figure I illustrates diagrammatically a computer network, and Figures 2 and 3 3 are flows chart or algorithms of a preferred method of carrying out the invention DESCRIPTION OF THE PREFERRED EMBODIMENTS
3 1 We will now describe a preferred embodiment of the invention which provides a method whereby services on, for example, a mobile device connected to a network may be readily updated.
The method may be applied to a network shown in Figure 1 which comprises, for example, a computer network which includes computers (1213-E), hubs (131A, 13113), routers, switches (14), printers and other devices linked together by physical cable or wireless links (16A-H)_ The network may be a local area network (LAN) or a wide area network (WAN) or other types and may operate in accordance with any desired protocol. The network will be managed by a network manager who will normally have a dedicated work station or computer (11) which comprises, in addition to a visual display unit (18), a central processing unit or signal processor (19), a selector which may be in the form of a mouse (22) and/or keyboard to operate the computer, and may include a memory (17), a CD drive (21), a floppy disk drive or a zip drive.
The method of the invention may be controlled by a program provided to the network manager's computer by means, for example, of a CD, a floppy disk, or a zip disk loaded onto the memory (17) of the network manager's computer or alternatively down loaded from the internet. In addition, there is provided a docking station 25 to which one at a time of a plurality of mobile computers (26) may be connected and disconnected.
Many networks utilise a network program such as Windows NT which comprises an 1 operating system, parts of which are referred to as "Services" which can be switched on or switched off depending upon the application configuration. Thus fi- om. time to time it may be that the network manager will wish to change the configuration of the network and switch on a service which has hitherto been switched off, or it may be that one part of the operating system comprising a particular service requires updating to take into account improvements. It is clearly desirable and usually essential that all of or specific groups of the devices on the network should include the same services C and as mentioned above, whilst this can be achieved readily for those devices which are permanently connected to the network., at any one time there will be a number of devices, particularly mobile devices, which are not connected to the network when the changes are being installed, and indeed some of the devices may be switched off.
6 In order to provide automated remote distribution of the services, the NT domain administrator must perform two (minor) administrative duties.
Firstly, a "distribution NT service" must be installed on at least one machine that is always available in the NT domain, and configure the distribution NT service to run as the NT domain administrator (or as a user with equivalent privileges). To this end, it is recommended that the NT service be installed on the PDCS (Primary Domain Control Server) and the BDCS (Backup Domain Control Servers). These are NT Servers that enable (among other things) users to log on to the NT domain.
Therefore, by installing the NT service on these machines, the administrator is guaranteeing that if the user can log on to the NT domain, then the distribution NT service will be available.
Secondly, the global log-on script for the NT domain (in particular the log-on script sent by the PDCS or BDCS to the device which is logging on) must be modified so that, as part of the log on, a "service requester" process is run. This service requester must be available to all users in the NT domain, and so may be made available in the same manner as log-on scripts are. Note that if any steps in the log-on script requires the use of an NT service that is to be distributed, then these steps must be performed after the ser-vice requester has been run.
Having performed these two administrative duties, the automated remote distribution of the NT services proceeds as follows (see Figures 2 & 33) which are flow charts of the process, Figure -3) comprising a flow chart of the process of step 107:
step 101, a user logs on an NT device witWn the NT domain (eg a mobile device user who has just connected to a docking station in the network domain); step 102, user logon is authenticated for NT domain and logon script is copied to NT device and run, as per usual NT domain log on process; step 103, as part of the log-on script passed from the PDCS or BDCS to the user's device, the service requester process is run; 7 step 104, the service requester checks to see if the required service is installed in the user's device and if installed, checks whether the version number of the service matches or exceeds the required version and, if it is, checks to see if the required service is running, step 105, if all cheeks are okay, then the service requester has completed its operation, and log on may continue in the conventional way (go to step 108); step 106, the service requesier connects to one of the distribution NT services that are running in the domain and sends appropriate request. If the distribution NT service is installed on the PDCS and BDCS, then the service requester should connect to the distribution NT service on the DCS which authenticated the user's log on. The connection may take any viable form, such as a TCP/LP socket; step 107, having connected to the distribution NT service, the service requester communicates to the distribution NT service the current status of the required service in the users device. This will be one of 'Vrong-version- and running", "wrong-version-and-not-runiling", "not-installed" or "not- runrdng"; if the service is installed, running and the correct version, step 107 takes the process straight to step 108. In other cases the process passes to the steps of Figure 3) If any later steps in the log-on script require the use of the requested NT service, the service requester then waits until the requested NT service is available before continuing. This may be determined in one of two ways.. either the distribution NT service will communicate the fact to the service requester, or the service requester will wait until it can see that the requested NT service is both installed and runmng.
step 201, is the requested NT service the wrong version number.
Z step202, if yes, is the requested service running? step 203), if yes the distribution NT service stops the requested service on the NT device that requested it. This may be achieved using the Win-352 Control S erviceo API call. The distribution NT service then monitors the state of the requested NT o service on the NT device that requested it, waiting until the service is stopped; step 204, if the requested NT service is the wrong version number and detennined as not running in step 202 or stopped in step 203P, then the distribution NT 8 service removes the requested NT service on the NT device that requested it. This may be achieved using the Win-3 32 DeleteServiceo API call. Go to step 206; step 205, if answer to step 201 is no, was the request to "run" or "install" required serviceg if "run" in step 205 go to step 208, if "install"' in step 205 go to step 2063 step 206, the distribution NT service copies the files needed for the requested NT service to the NT device that requested it, The files can be copied to any location, although it is recommended that they be copied to an administrative share location on the NT device, such as the ADMIN$ administrative share, or some sub- directory of that share (which may be created if needed); step 207, the distribution NT service creates the requested NT service on the NT device that requested it. This may be achieved using the Win332 CreateService() API call. The requested NT service should be configured to run automatically, and should be run as the Local System account.
(Note that, due to the way the creation of NT services works, steps 206 and 207 may be performed in either order, although this is the recommended order.) step 208, the distribution NT service then starts the requested NT service on the NT device that requested it. This may be achieved using the Win332 StartServiceo AP1 call, step 209, if necessary the distribution NT service monitors the state of the requested NT service, and as soon as it has completed initialization and is running, communicates this fact to the service requester. Go to step 108; step 108, as the requested NT service is now installed and running on the NT device which requested it, if the service requester was waiting, it may now allow the log on script to continue.
In an improved arrangement, in step 104, the service requester may be configured to 3) 0 cope with multiple services, possibly via a configuration file. This would involve modifying the algorithm so that the service requester checks for all of the required services, requesting the installation and starting of those which are not installed and 9 requesting the starting of those which are not running. In this way the NT domain administrator can implement fully automated distribution of NT services.
The above method steps may be provided by a computer program provided on a computer readable medium such as a CD disc, floppy disc or zip drive disc, or otherwise, or may be in a carrier wave and downloaded, for example, from a telephone connection via, for example, internet, or may be loaded on to the network manager's computer.
The program may comprise the program steps 101 - 108, 201 - 209 of the flow charts shown in the Figures 2 and 33.
The basic program comprises.
(a) program step (103) for running a service requester by passing a logon script from the NT domain to the NT device, the script including the service requester; (b) program step (104) causing the service requester to check (1) if the required service is installed in the NT device, (ii) if it is installed, checking if the version number of the service matches or exceeds the required version, (iii) if the version number does match or exceed the required version, checking to see if the required service is running.
(c) if checks (i) (ii) (iii) are okay, program step to continue the log on procedure in the conventional way (go to step m), (d) if any of checks (i) (ii) (iii) fail, program step (106) to connect the NT device to one of the distribution NT services running in the NT domain; (c) program step (106) for communicating to the distribution NT service the current status of the required service in the NT device; (f) program step to determine if any later steps in the log-on procedure require the use of the requested NT service, and if so program step to wait until the requested NT service is available before continuing., (g) program step (201) to determine if the requested NT service is the wrong version number and is running, and if so program step (203-5) to stop the requested ly service on the NTi (h) program step to determine if the requested NT service is the wrong version number, and if so program step (204) to remove the requested NT service on the NT device so that it is no longer installed; (i) program step (205) to determine if the requested NT service is not installed on the NT device and if so program step (206) to copy the files needed for the requested NT service to the NT device, G) program step to detem-iine if the requested NT service is not installed on the NT device and if so program step (207) to create the requested NT service on the NT device; (k) program step (208) to start the requested NT service on the NT device; (1) program step to monitor the state of the requested NT service, and as soon as it has completed initialization and is running, communicate this fact to the service requester; (m) program step (108) to continue logging on.
We will now describe in more detail the automatic remote distribution of an NT service via user loa on.
The implementation of the technique consists of several steps, each of which will be described in a separate section. The steps are:
1. Implement "distribution NT senic&'.
2- Implement "service requester".
Install "distribution NT service" and required NT service flies.
4. Install -service requester".
5. Update log on script(s).
The method uses the interaction of two processes that are termed the "distribution NT service" and the "service requester". These two processes interact in the following manner.
1. The "distribution NT service" runs all the time as an NT service on an NT server (or set of NT servers) such as the MCS (and BDCSs) of a network. It is logged on as the NT domain (network) administrator. It awaits remote requests ftom the "service requester" to either run or install and run the required NT service. Upon receiving such a request the "distribution NT service" performs the actions necessary to service that request, i.e. it (a) copies the required NT service files to the target NT device (i.e. the NT device which requires to log-on) and, (b) remotely installs the required NT service on the target NT device if installation was requested. and then (c) it remotely starts the required NT service on the target N-T device.
2. The "service requester" runs as part of the user log on script, The "service requesteC determines the current status of the required NT service on the target NT device - whether the required NT service is installed and, if so, whether the required NT service is running. If any of these are not the case, then the "service requester" makes a request to the "distribution NT service" to perform the appropriate actions to remedy the situation (i.e. it will request that the "distribution NT service" either install and run or run the required NT service). The "service requestef' should then wait until the "distribution NT service" has completed its actions.
Note that the main description of the technique is based upon a situation where there is a single, service that is required to be installed on all users' NT devices.
Implementing the "Distribution NT Service" Essentially, the code to carry out the "distribution NT service" is.
W1ULE (TRUE) DO Wait for a request from a "service requester" IF the request was to install the required NT service THEN Copy the required NT service files to the target NT device Install the required NT service on the target NT device 12 1 1 ENDIF Start the required NT service on the target NT device Inform -service requester" that the request has been serviced (if necessary) DONE Communication Alith the "Service Requester" Various methods may be used to transfer data between the "distribution NT service" and the "service requester". Any standard techniques for passing data such as TCP/rP sockets or CORBA messaging may be employed to transfer the data.
Note that in the above pseudo-code the step of informing the "service requester" that the request has been serviced is only performed---ifnecessary". This step need only be performed if the implementation of the"service requester" requires it.
Copying the Required NT Service Files to the Target.NT Device As noted above, the "distribution NT servic&' runs logged on as the NT domain administrator. As a result of this the "distribution NT ser-vice" has full access privileges for the administrative shares on any NT device in the NT domain (administrative shares on a NT device take the names ADMIM, C$, W, etc where ADMINl$ refers to the location that the operating system files are installed in (for example, this may be CAWindows\). C$, D$, and, in general, x$ refer to the corresponding roots of drives (ie C$ refers to C: D$ refers to D:\ and, in general x$ refers to x:\). The "distribution NT service" may therefore use these administrative shares to copy the required NT service files to the target NT device, provide that the "distribution NT service" knows either the name or the EP address of the target NT device. This requires that the request from the "service requester" also include either the name or the IP address of the target NT device.
The "distribution NT servic&' may then use the UNC (Universal Naming Convention - this takes the format \\ machinename\location. The machinename may be either the 0 name of the NT device or the 1P address of the device. So, for example, to access the location of the operating system files on a machine called mypc with the LP address 1.2.3.4 we may use either \\ mypc\ADMIN$ or \\1.2.-").4\ADMINT$-) name of an 13 1 administrative share on the target NT device to copy the required NT service files to the target NT device. A directory is created within the administrative share ADMIN$ on the target NT device, and then the required NT service is copied into this directory.
Installing the Required NT Service on the Target NT Device Installation of the required NT service on the target NT device may be achieved using the Win-33 2 API function CreateServiceo:
1. hSCManager - The first parameter is a handle to the network manager to use. This must be obtained by a call to the Win32 API function OpenSCManager-0. As this service is being created on a remote machine the UNC name of the target NT device must be passed as the first parameter of OpenSCManagero.
2. IpBlnaryPathName - The eighth parameter is the local path of the required NT service executable. One must use the local path in this case, and not the UNC path which is used when copying the files to the target NT device, and so it is necessary to convert the NT share name used to the local path on the target NT device. This may be achieved through a call to the Win-3 32 API function NetShareGetInfoo which will convert an NT share name into a local path. If the required NT service was copied to a directory within the share then one must append the directory to this local path (as NetShareGetInfoo only converts the share name to a local path).
Finally the required NT service executable name must be appended to get the full path name.
3. IpServiceStartName and IpPassword - The last two parameters specif, the user (and password of that user) to run the service as.
These should both be set to NULL so that the required NT service is run logged on as the Local System account.
14 Starting the Required NT service on the Target NT Device The required NT service may be started on the target NT device by using the Win')2 API function StartServiceo. Note that, like the installation of the required NT service one must pay special attention to the first parameter:
hSCMana,-er - The first parameter is a handle to the service control manager to use.
This must be obtained by a call to the Win-32 API function OpenSCManagero. As this service is being created on a remote machine one must pass the UNC name of the target NT device as the first parameter of OperiSCManagero Implementing the "Service Requester" The "service requester" is implemented as a windowless Win32 application.
This implementation requires the following pseudo-code.
Check to see if the required NT service is installed on this NT device IFthe required NT service is not installed on this NIT device THEN Send an "install and run" request to the "distribution NT service" Wait until the required NT service is installed and running on this NT device ELSE Check to see if the required NT service is running on this NT device 25]:F the required NT service is not running on this NT device THEN Send a "run" request to the "distribution NT service" Wait until the required NT service is running on this NT device END IF END117 Checking the Status of the Required NT Service Checking the status of the required NT service may be achieved in the following manner:
In order to determine whether or not the service is installed on the target NT device the Win332 API function OpenService() may be used. If the call to this function succeeds then the required NT service is installed.
In order to determine whether or not the required NT service is running on the target NT device the Win3321 API function QueryServiceStatuso may be used. If the call to this function returns the status as being SERVICE_RUNNING then the required NT service is running. If the status is returned as being SERVICE - START - PENDING then the required NT service is starting up. In this situation there is no need to make a request to the "distribution NT service". However, the "service requester" should then wait until the service is running.
Waiting Until the Required NT Service is Running There are two general methods by which the "service requester" may determine when the required NT service is running..
1. The "service requester" may periodically poll the SCM to determine when the required NT service has been installed and when the required NT service is running.
Determining whether or not the required NT service is running may be determined by calling the Win-32 API function QueryServiceStatuso.
Therefore, if the required NT service is not installed the "service requester" may periodically make calls to OpenSer-viceo. When the call succeeds, the required NT service is then installed. Having determined that the required NT service is installed the "service requester" may periodically make calls to QueryServiceStatuso. When the call returns the status as being SERVICE_RUNNING then the required NT service is running, and the "service requester" may exit.
Using this method the "distribution NT service" does not need to infonn the "service requeste?' that its request has been serviced.
16 1 2. The "senlice requester" may wait for a message from the "distribution NT servicJ informing it that the service has been installed and is running. When it receives this message the "ser-vice requester" may exit.
1 Using this method the "distribution NT servic&' must perform the periodic polling g noted above using calls to QueryServiceStatuso. Once the "distribution NT service" has detern-fined that the requested NT service is running it should inform the "service requester.
The preferred method of determining when the required NT service is running is a combination of the above two, which will reduce the amount of polling required:
(i) If the request was for the required NT service to be installed and run then the 44service requester" waits for the "distribution NT service" to send a message informing it that the required NT service has been installed.
(ii) The "distribution NT service" informs the "service requester" that it has successfully installed the required NT service immediately upon completing the installation.
(iii) Once the required NT service is installed the "service requester" then performs the periodic polling of the status of the required NT service using calls to C Query ServiceStatuso until the returned status is SERVICE---RUNNING.
Using this method slightly modifies both sets of pseudo-code set out above to 1.
become:
"Distribution NT ServicJ:
VMILE (TRUE) DO Wait for a request from a "service requester" IF the request was to install the required NT service THEN Copy the required NT service files to the target NT device Install the required NT service on the target NT device Inform "service requester" that the required NT service has been installed ENDIF Start the required NT service on the target NT device DONE "Service Requester"'.
Check to see if the required NT service is installed on this NT device IF the required NT service is not installed on this NT device THEN Send an"install and run" request to the"distribution NT service" Wait until the "distribution NT service" sends a message indicating that the required NT service has been installed on this NIT device Periodically poll the status of the required NT service until it is running ELSE Check to see if the required NT service is running on this NT device IF the required NT service is not running on this NT device THEN Send a "run" request to the "distribution NT service" Periodically poll the status of the required NT service until it is running ENTDIF ENDIF Installing the "Distribution NT Service" and Requested NT Service Files The "distribution NT service" must be installed on an NT server (or NT servers) that is guaranteed to be available when a user logs on to the NT domain. To this end it is recommended that the "distribution NT service" be installed on the PDCS and BDCSs in the NT domain.
The "distribution NT service" must be configured to run logged on as the NT domain administrator, or as a user with equivalent privileges. This may be achieved either through an installation process which queries the installer for the user name and password to use, or through documenting the process with which the installer may 18 1 configure the "distribution NT service" to run as a particular user. The former method is preferred.
The required NT service files must be installed in a location known to the "distribution NT service" and that is always available to the "distribution NT service".
To this end the required NT service files should be installed in the same directory as the "distribution NT service" or some well-known sub-directory of that directory.
Installiniz the "Service Requester" The "service requester" must be installed in a location that will be available to all users in the NT domain when they are logging on to the system. As a result, the Icservice requester" should be installed in the standard logon script location on the PDCS and BDCSs.
Updating the Log On Script(s) If possible, there should be a global logon script that is run for all users. This may be achievable even if individual users have their own scripts, as each user's script may be written so that one of its actions is to call the global logon script.
The "service requester" must be called by the logon script before any other calls are made that depend upon the required NT service.
Implementation Details Where a global logon script exists, the updating may be achieved simply by adding a call to the "senice requester" to an appropriate location within the global logon script.
In the situation where there is no global logon script, the same modifications must be made to all of the user logon scripts that there are.
Version Checking The preferred method of automatic remote distribution of NT services via user logon includes version checking of the required NT service.
19 The "distribution NT service" must know what the current version of the required NT service is.
The "service requester- must know what the current version of the required NT service is so that it may check for this.
There must be some method of determining the version of the required NT service once it is installed. This may be, for example, via the command-line of the required NT service executable.
Implementation Details In order to support version checking the first action of the "service requester" is to request the current version number of the required NT service from the "distribution NT service". The "distribution NT service" then informs the "service requester" of the current version number of the required NT service.
The "service requester" performs an additional test to determine the current version number of the required NT service using whatever method of version checking that has been decided upon.
If the required NT service is installed, but the version number is less than the current version number, then the "service requester" informs the "distribution NT service" of whether or not the required NT service is running and requests that a version upgrade be performed. The "service requester" then waits until it receives a message from the "distribution NT service" informing it that the new version has been installed.
In response to a version upgrade request the "distribution NT service" stops the required NT service on the target NT device if it is running using the Win32API function Control Serviceo- When the required NT service is stopped, the "distribution NT service" removes it fi-om the target NT device using the Win-32 API function DeleteServiceo. Having removed the required NT service, the "distribution NT servicC then proceeds as if an install had been requested, after which the new version of the required NT service will be installed on the target NT device.
The invention is not restricted to the details of the foregoing example. 5 21

Claims (13)

1. A method for installation of software on devices on a network comprising: providing a software requester in the log-on scrIpt of a network controller.
Cly when a user of a device logs on to the network, the network controller using c) the software requester to check if relevant software is installed on said device; if it is installed, continuing the log in procedure,- and, if not, installing said software on said device before continuing the log on 1=) C> procedure.
2. A method as claimed in claim 1 in which said software requester also checks if the relevant software, if installed, is running on the device and if not, sets the relevant software running.
3. A method as claimed in claim 1 in which said software requester also cheeks if the relevant software installed on the device is of a version that matches or exceeds the required version and if it is not, updates the relevant software on the device before continuing the log-on procedure.
4. A method as claimed in claim 1 in which the relevant software is a Windows NT service.
5. A method as claimed in claim 1 in wffich said network continuously runs a distribution software service whereby the software may be installed on the device if the network controller using the software requester determines that the software is not installed on said device.
6. A method for installation of a service on devices on a network comprising the steps of 310 running a distribution service as a service on a server of a network; providing a service requester in a log in procedure for a device logging into the network., the service requester determining the current status of the required 22 service on the device, including whether the required service is installed, and whether it is running, and if either of these are not the case, then making a request to the distribution service to perform the appropriate actions, where upon the distribution service runs or installs and runs the required service on the device by copying the required service files to the target device and remotely installing the required service on the target device if its installation was requested and remotely starting the required device on the target device.
7. A method for installation of software on devices on a network comprising the steps of..
(a) when a user of a device logs on to the network, running a service requester by passing a log-on script from the network to the device, the script including the service requester; (b) the service requester checking (i) if a required service is installed in the device, (ii) if it is installed, checking if the version number of the service matches or exceeds the required version, and, (iii) if the version number does match or exceed the required version, checking to see if the required service is running; (c) if checks (i) (ii) (iii) are okay, continuing the log on procedure in the conventional way (go to step n); (d) if any of checks (i) (ii) (iii) fail, connecting the device to a distribution service running in the network; (c) communicating to the distribution service the current status of the required service in the device; (f) if any later steps in the log-on procedure require the use of the requested Z5 service, wait until the requested service is available before continuing., (g) if the requested service is the wrong version number and is running, causing the distribution service to stop the requested service on the device; (h) if the requested service is the wrong version number, remove the requested service on the device so that it is no longer installed; 23 j (i) if the requested service is not installed on the device copy the files needed for the requested service to the device; if the requested service is not installed on the device create the requested service on the device, (k) start the requested service on the device; (1) monitor the state of the requested service, and as soon as it has completed initialization and is running, communicate this fact to the service requester, (m) continue logging on.
1 C
8. A computer program on a computer readable medium for carrying out the method of claim 1.
9. A computer program on a computer readable medium for carrying out the method of claim 6.
10. A computer program embodied in a carrier wave for carrying out the method of claim 1.
11. A computer program embodied in a carrier wave for carrying out the method of claim 6.
12. A computer program on a computer readable medium for installation of software on devices on a network, said computer program being adapted to run, on the logging on of a user of a device on to the network, said computer program comprising the steps of..
(a) program step for running a service requester by passing a log-on script from the network to the device, the script including the service requester; (b) program step causing the service requester to check (i) if the required service is installed in the device, )o (ii) if it is installed, checking if the version number of the service matches or exceeds the required versiori, 24 (Iii) if the version number does match or exceed the required version, checking to see if the required service is running; (c) if cheeks (i) (ii) (iii) are okay, program step to continue the log on procedure in the conventional way (go to step m), (d) if any of checks (1) (ii) (iii) fail, program step to connect the device to one of the distribution services running in the network; (e) pro-ram step for communicating to the distribution service the current status of the required service in the device; program step to determine if any later steps in the log-on procedure require the use of the requested service, and if so program step to wait until the requested service is available before continuing.
(g) program step to determine if the requested service is the wrong version number and is running, and if so program step to stop the requested service on the NT, (h) program step to determine if the requested service is the wrong version number, and if so program step to remove the requested service on the device so that it is no longer installed.
(i) program step to determine if the requested service is not installed on the device and if so program step to copy the files needed for the requested service to the device; G) program step to determine if the requested service is not installed on the device and if so program step to create the requested service on the device; (k) program step to start the requested service on the device; (1) program step to monitor the state of the requested service, and as soon as it has completed initialization and is running, communicate this fact to the service requester.
(m) program step to continue logging on.
13. A computer program embodied in a carrier wave for installation of software on devices on a network, said computer program being adapted to run, on the logging on of a user of a device on to the network, said computer program comprisingg, the steps of..
(a) program step for running a service requester by passing a log-on script from the network to the device, the script including the service requester; (b) program step causing the service requester to cheek (i) if the required service is installed in the device, (ii) if it is installed, checking if the version number of the service matches or exceeds the required version, (iii) if the version number does match or exceed the required version, checking to see if the required service is running; ZD (c) if checks (i) (ii) (iii) are okay, program step to continue the log on procedure in the conventional way (go to step m); (d) if any of checks (1) (ii) (iii) fail, program step to connect the device to one of the distribution services running in the network, (e) program step for communicating to the distribution service the current status of the required service in the device; (f) program step to determine if any later steps in the log-on procedure require the use of the requested service, and if so program step to wait until the requested service is available before continuing., (g) program step to determine if the requested service is the wrong version number and is running., and if so program step to stop the requested service on the NT; (h) program step to determine if the requested service is the wrong version number, and if so program step to remove the requested service on the device so that it is no longer installed; (i) program step to determine if the requested service is not installed on the device and if so program step to copy, the files needed for the requested service to the device; 0) program step to determine if the requested service is not installed on the device and if so program step to create the requested service on the device; (k) program step to start the requested service on the device; (1) program step to monitor the state of the requested service, and as soon as it has completed initialization and is running, communicate this fact to the service requester; 26 (m) pro-ram step to continue logging on.
0 27
GB0010430A 2000-04-28 2000-04-28 Automatic installation of software in a network Withdrawn GB2361784A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0010430A GB2361784A (en) 2000-04-28 2000-04-28 Automatic installation of software in a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0010430A GB2361784A (en) 2000-04-28 2000-04-28 Automatic installation of software in a network

Publications (2)

Publication Number Publication Date
GB0010430D0 GB0010430D0 (en) 2000-06-14
GB2361784A true GB2361784A (en) 2001-10-31

Family

ID=9890722

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0010430A Withdrawn GB2361784A (en) 2000-04-28 2000-04-28 Automatic installation of software in a network

Country Status (1)

Country Link
GB (1) GB2361784A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2399660A (en) * 2003-03-20 2004-09-22 Oxford Semiconductor Ltd Upgrading networked devices
EP1494117A1 (en) * 2003-06-30 2005-01-05 Ricoh Company, Ltd. Electronic apparatus and parameter updating method
EP1566731A1 (en) * 2004-02-19 2005-08-24 O&amp;O Services GmbH Method for analyzing and updating application programs on client systems
US8495613B2 (en) 2005-12-22 2013-07-23 Microsoft Corporation Program execution service windows
CN113312048A (en) * 2021-06-10 2021-08-27 浪潮云信息技术股份公司 Implementation method and system for calling local tool based on electron

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0284924A2 (en) * 1987-04-02 1988-10-05 International Business Machines Corporation Data processing network with updating of files
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5473772A (en) * 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5742829A (en) * 1995-03-10 1998-04-21 Microsoft Corporation Automatic software installation on heterogeneous networked client computer systems
US5764992A (en) * 1995-06-06 1998-06-09 Apple Computer, Inc. Method and apparatus for automatic software replacement

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0284924A2 (en) * 1987-04-02 1988-10-05 International Business Machines Corporation Data processing network with updating of files
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5473772A (en) * 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5742829A (en) * 1995-03-10 1998-04-21 Microsoft Corporation Automatic software installation on heterogeneous networked client computer systems
US5764992A (en) * 1995-06-06 1998-06-09 Apple Computer, Inc. Method and apparatus for automatic software replacement

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Novell Inc - Practical guide to using Novell Application Launcher (NAL 2.01) January 1998 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2399660A (en) * 2003-03-20 2004-09-22 Oxford Semiconductor Ltd Upgrading networked devices
EP1494117A1 (en) * 2003-06-30 2005-01-05 Ricoh Company, Ltd. Electronic apparatus and parameter updating method
EP1566731A1 (en) * 2004-02-19 2005-08-24 O&amp;O Services GmbH Method for analyzing and updating application programs on client systems
US8495613B2 (en) 2005-12-22 2013-07-23 Microsoft Corporation Program execution service windows
CN113312048A (en) * 2021-06-10 2021-08-27 浪潮云信息技术股份公司 Implementation method and system for calling local tool based on electron
CN113312048B (en) * 2021-06-10 2022-12-27 浪潮云信息技术股份公司 Implementation method and system for calling local tool based on electron

Also Published As

Publication number Publication date
GB0010430D0 (en) 2000-06-14

Similar Documents

Publication Publication Date Title
EP0978033B1 (en) Use of polymorphic package files to update software components
US6301012B1 (en) Automatic configuration of a network printer
EP1168711B1 (en) Process for controlling devices of an intranet network through the web
AU2003274867B2 (en) Method and arrangement for use of shared resources in a network
US6651095B2 (en) Methods, systems and computer program products for management of preferences in a heterogeneous computing environment
US8250570B2 (en) Automated provisioning framework for internet site servers
US7024471B2 (en) Mechanism to dynamically update a windows system with user specific application enablement support from a heterogeneous server environment
US7448034B2 (en) Build time determination and installation of drivers on cloned systems
CN101364168B (en) Remote preparation of printer instance in workstation
US6029196A (en) Automatic client configuration system
US6023585A (en) Automatically selecting and downloading device drivers from a server system to a client system that includes one or more devices
CN1882911B (en) A method in a network of the delivery of files
EP1076848B1 (en) Remote installation of computer operating systems
US6788429B1 (en) Remote print queue management
EP0907131A2 (en) Server system and method of updating server software
EP0756405A2 (en) Method and system for network printer quick configuration
EP1265417A2 (en) Device management system and method
US7707571B1 (en) Software distribution systems and methods using one or more channels
GB2361784A (en) Automatic installation of software in a network
US20030154472A1 (en) Installation server
CN116627654A (en) Control method and electronic equipment
JP2000339156A (en) License management system
JP3939460B2 (en) Method and system for remote management of photographic processing apparatus
KR100663406B1 (en) A method for managing a branch processor system remotely
JPH08179951A (en) System and method for program download

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)