EXHIBIT 10.10
     License and Consulting Agreement between the Registrant and Microsoft
               Corporation, dated October 3, 1991, as amended


                             MICROSOFT CORPORATION
                        LICENSE AND CONSULTING AGREEMENT

         This License and Consulting Agreement ("Agreement") is made and entered
into as of the  later of the two  dates  on the  signature  page by and  between
WONDERWARE,   INC.  ("COMPANY"),   a  California   corporation,   and  MICROSOFT
CORPORATION ("MS"), a Delaware corporation.

         In consideration of the covenants and conditions hereinafter set forth,
MS and COMPANY agree as follows:

 1.   License.
          1.1 Licensed  Software.  COMPANY  hereby grants to MS a  nonexclusive,
              worldwide, fully paid, perpetual,  irrevocable license (a) to use,
              modify, create derivative works based upon, reproduce,  distribute
              or  license,  or  sell,  rent or lease  copies  of,  the  software
              described on Exhibit A ("the Licensed  Software") as part of or in
              conjunction with MS products, in source and object code forms, and
              derivative  works  thereof,  and (b) to license  third  parties to
              exercise the foregoing rights, including the right to license such
              rights to further  third  parties.  The  foregoing  license  grant
              includes  a  license  under any  patents  owned or  licensable  by
              COMPANY at any time during the term of this  Agreement  (I) to the
              extent necessary to exercise any license right granted herein,  or
              (ii) to combine the Licensed  Software or derivative works thereof
              with  equipment.  The  foregoing  license  grant shall include all
              COMPANY test  software for Licensed  Software,  provided that such
              test  software  shall be used by MS and its  licensees  internally
              only. The Licensed  Software  shall conform to the  specifications
              attached  as Exhibit A. The above  restriction  that the  Licensed
              Software be  distributed or licensed "as part of or in conjunction
              with MS  products"  shall  not  apply  to  International  Business
              Machines, Inc. and its subsidiaries ("IBM").

          1.2      MS Derivative Works.  MS hereby grants to COMPANY a
              nonexclusive, worldwide, fully paid, perpetual, irrevocable
              license to:

                   (A)use  and  modify  dervative  works  of  Licensed  Software
                      developed  by MS  eighteen  (18)  months  after  MS' first
                      commercial shipment of Licensed Software (" MS First Cycle
                      Derivative Works") in source and object code forms for the
                      purpose  of  maintaining  compatability  between  Licensed
                      Software and MS First Cycle Derivative Works: and

                   (B)reproduce,  distribute or license,  or sell, rent or lease
                      copies of MS First Cycle  Derivative  Works in object code
                      form.


<PAGE>


COMPANY  may  not use  MS'  name in  connection  with  MS  Derivative  Works  or
otherwise,  and  shall  not  make  any  statements  to the  effect  that  the MS
Derivative Works are "certified", "guaranteed" or the like by MS.

          1.3      Compatibility.

                   (A)With respect to MS' initial  release of Licensed  Product,
                      MS and COMPANY shall agree upon joint  specifications  for
                      (1)  wire  protocol  and  (2)  Network  Interface  DLL API
                      (currently  defined in Appendix  A). In the event that the
                      parties are unable to agree to such joint  specifications,
                      either  party  may  terminate   this   Agreement   without
                      obligation for further payment.

                   (B)MS shall use  reasonable  best efforts to provide  COMPANY
                      with   specifications  of  derivative  works  of  Licensed
                      Software  developed  by MS for a period  of five (5) years
                      after MS' first commercial  shipment of Licensed Software,
                      and at MS' sole  discretion,  pre-release  copies thereof,
                      for  COMPANY's  use  to  maintain   compatibility  between
                      Licensed Software and such derivative works thereof.

          1.4  Competing  Products.

                      In  partial  considerations  for MS'
                      license  rights above,  MS agrees that for a period of one
                      (1) year after MS' first  commercial  shipment of Licensed
                      Software or a derivative  thereof,  it will not distribute
                      any  derivative  works of Licensed  Software for exclusive
                      use in HP-UX and DEC VMS  environments.  MS further agrees
                      that in the event it will not  distribute  any  derivative
                      works of  Licensed  Software  for TCP,  Serial and SPX/IPX
                      mechanisms  until  September 30, 1992,  and  thereafter it
                      will give COMPANY  sixty (60) days notice of its intent to
                      do  so.  MS  further  agrees  that  it  will  not  release
                      specifications  for Network Interface DLL API (see Exhibit
                      A) until the earlier of January 1, 1992 or the date of MS'
                      first  commercial  shipment  of  Licensed  Software  or  a
                      derivative  thereof. MS agrees to give COMPANY ninety (90)
                      days notice of its first  commercial  shipment of Licensed
                      Software.

           1.5       "Buyout" for Distribution of TCP, Serial and SPX/IPX 
                     Mechanisms.   Notwithstanding Section 1.4 above, MS, at 
                     its option, may either:

                            (1)extend  its  license  rights  in  Section  1.1 to
                               Licensed  Software  for TCP,  Serial and  SPX/IPX
                               mechanisms  developed  by COMPANY  (at which time
                               "Licensed  Software"  shall be deemed to  include
                               such mechanisms) or
                            (2)distribute  TCP,  Serial and  SPX/IPX  mechanisms
                               developed by MS or a third  party.  In such case,
                               MS shall pay COMPANY the applicable amount listed
                               below:

<TABLE>
<CAPTION>
   Date of MS' first commercial        TCP, Serial, SPX/IPX licensed     TCP, Serial, SPX/IPX developed by
 shipment of Licensed Software for              from COMPANY                     MS or third party
      TCP, Serial and SPX/IPX
      ----------------------               ----------------------              ----------------------
   <S>                                            <C>                                 <C>                                 
   before June 30, 1992                           100,000                             100,000
   before July 31, 1992                            80,000                              80,000
   before August 31, 1992                          60,000                              60,000
   before September 30, 1992                       50,000                              50,000
   after September 30, 1992                        50,000                                   0
</TABLE>

 2.   Delivery Schedule.  COMPANY shall complete and deliver the Licensed 
Software to MS on or before September 23, 1991.

         MS shall  evaluate  the  Licensed  Software  and shall submit a written
acceptance or notice of nonconformities to COMPANY within ninety (90) days after
MS'  receipt  of the  Licensed  Software,  in a default  of which  the  Licensed
Software shall be deemed  accepted.  Successful  execution of Licensed  Software
with MS development tools, as determined by MS, shall solely determine MS' right
to accept or reject the Licensed Software. The Licensed Software shall be deemed
accepted if MS ships the same to a customer  for revenue.  If rejected,  COMPANY
shall promptly  correct the Licensed  Software.  If COMPANY fails to correct the
Licensed  Software  within  fifteen (15) days after notice of rejection,  MS may
terminate this Agreement with no further obligation to COMPANY or may extend the
correction period, at its option.

 3.  Payment.  MS shall  pay  COMPANY  up to One  Hundred  Twenty-Five  Thousand
     Dollars  ($125,000.00)  and  MS  shall  provide  COMPANY  with  Twenty-Five
     Thousand  Dollars  (US$25,000.00)  worth of MS products  and/or services as
     selected by COMPANY,  as a one-time,  fully paid  royalty for the  Licensed
     Software as follows:

         Payment Event                                        Amount

         Signing this Agreement                               $10,000
         Delivery of Licensed Software                        $40,000
         Agreement for Joint Specifications for               $40,000 +
                  MS initial release of Licensed              $25,000 of MS
                  Software                                    products/services
         First shipment of Licensed Software for              
                  revenue by MS                               $35,000

 4.  Maintenance.  COMPANY shall provide MS with corrections and enhancements to
     the Licensed  Software,  at no additional  charge,  for a period of one (1)
     year  ("Maintenance  Period")  after MS' final  acceptance  of the Licensed
     Software.  Such corrections or enhancements shall be provided to MS in beta
     and  final  forms,  and no  later  than  they  are  provided  to any  other
     customers.  During the Maintenance Period COMPANY shall use reasonable best
     efforts to correct all errors or defects in the Licensed  Software reported
     by MS promptly (but no later than twenty (20) days ) after notice of errors
     or defects from MS.  COMPANY  shall provide MS with  reasonable  assistance
     when  errors or defects  are  attributed  to  derivative  works of Licensed
     Software rather than to Licensed Software itself.

 5.   Non-Disclosure; Press Release .
          (a) COMPANY   expressly   undertakes  to  retain  in  confidence   all
              information and know-how  transmitted to COMPANY by MS that MS has
              designated  as  proprietary  and/or  confidential  or that, by the
              nature of the circumstances  surrounding the disclosure,  ought in
              good faith to be treated as proprietary and/or  confidential,  and
              will make no use of such information and know-how except under the
              terms  and  during  the  existence  of  this  Agreement  COMPANY's
              obligation  under this  section 5 with  respect to any  particular
              information  shall  extend  to the  earlier  of  such  time as the
              information is in the public domain through no fault of COMPANY or
              ten (10) years following its receipt by COMPANY.

          (b) At the  earlier  of such  time  that  MS  first  discloses  to any
              customer that MS has licensed the Licensed Software or January 31,
              1992, COMPANY may thereafter inform its customers that COMPANY has
              licensed  the  Licensed  Software to MS. MS shall  notify  COMPANY
              prior to MS'  initial  disclosure  to any  customer.  Prior to MS'
              first commercial shipment of Licensed Software, all disclosures by
              MS  and   COMPANY  to  its   customers   shall  be   pursuant   to
              non-disclosure agreements.

          (c) Upon MS' first shipment of Licensed  Software in any form by MS to
              a  customer,  MS and COMPANY  shall  issue a joint  press  release
              announcing  the licensing of Licensed  Software to MS, the content
              of which shall be agreed upon by the parties.

 6.   COMPANY Warranties.  COMPANY warrants that:
          (a) The  Licensed  Software as  delivered  to MS does not infringe any
              copyright,  patent,  trade secret, or other proprietary right held
              by any third party; and

          (b) The Licensed Software will meet the specifications listed in
              Exhibit A of this Agreement.

 7.   Indemnity.
          (a) COMPANY  agrees  to  indemnify,   defend,  and  hold  MS  and  its
              successors,  officers,  directors and employees  harmless from any
              and  all  actions,  causes  of  action,  claims,  demands,  costs,
              liabilities,  expenses and damages arising out of or in connection
              with any  claim  which,  if true,  would  constitute  a breach  of
              COMPANY's warranty under Section 6(a).

          (b) If any  action  shall be  brought  against  MS in respect to which
              indemnity may be sought from COMPANY pursuant to the provisions of
              this  Section,  MS  shall  promptly  notify  COMPANY  in  writing,
              specifying the nature of the action and the total monetary  amount
              sought  or  other  such  relief  as is  sought  therein.  MS shall
              cooperate  with  COMPANY at  COMPANY's  expense in all  reasonable
              respects  in  connection  with the  defense  of any  such  action.
              COMPANY may upon written notice thereof to MS undertake to conduct
              all proceedings or negotiations  in connection  therewith,  assume
              the  defense  thereof,  and if it so  undertakes,  it  shall  also
              undertake all other  required  steps or  proceedings  to settle or
              defend any such action,  including the employment of counsel which
              shall be satisfactory to MS, and payment of all expenses. Ms shall
              have the right to employ  separate  counsel and participate in the
              defense  thereof.  COMPANY shall  reimburse MS upon demand for any
              payments  made or loss  suffered  by it at any time after the date
              hereof,  based  upon  the  judgment  of  any  court  of  competent
              jurisdiction  or pursuant to a bona fide  compromise or settlement
              of claims, demands, or actions, in respect to any damages to which
              the foregoing relates.

          (c) If the Licensed Software furnished hereunder is in any action held
              to constitute  an  infringement  and its use is enjoined,  COMPANY
              shall immediately and at its expense:
                   (i)  procure  for MS the right to  continue  to  license  the
                   Licensed  Software as provided in Section 1; or (ii)  replace
                   or  modify  the  Licensed  Software  with  a  version  of the
                   Licensed Software that is non-infringing.
          If   (i) or (ii) are not  available to COMPANY,  and without  limiting
               MS' other  remedies,  COMPANY shall refund MS all amounts paid to
               COMPANY by MS hereunder.
          (d) This Section 7 shall survive any termination or expiration of this
              Agreement.

 8.  Termination.  If the Licensed  Software is not delivered on the due date(s)
     specified   above,   or  if  the  Licensed   Software  does  not  meet  the
     specifications  in Exhibit A, MS may, at its option and upon written notice
     to  COMPANY,  terminate  this  Agreement  and  obtain a full  refund of any
     amounts paid hereunder.

 9.   Notices and Requests.
          All notices and requests in connection  with this  Agreement  shall be
     deemed given as of the day they are received either by messenger,  delivery
     service,  or in the  United  States  of  America  mails,  postage  prepaid,
     certified or registered, return receipt requested, addressed as follows:

         COMPANY:                           WONDERWARE, INC.
                                            ===================

         Attention:                         ___________________

         MS:                                MICROSOFT CORPORATION
                                            One Microsoft Way
                                            Redmond, WA  98052-6399

         Attention:                         _________________________

         with a copy to:                    MICROSOFT CORPORATION
                                            One Microsoft Way
                                            Redmond, WA  98052-6399

         Attention:                         Law & Corporate Affairs

         or to such other  address as the party to receive the notice or request
         so designates by written notice to the other.

 10.      Miscellaneous.
          (a) COMPANY is an  independent  licensor  and  contractor  for MS, and
              nothing  in this  Agreement  shall be  construed  as  creating  an
              employer-employee  relationship, a partnership, or a joint venture
              between the parties.

          (b) This  Agreement  shall be  governed  by the  laws of the  State of
              Washington and COMPANY  consents to jurisdiction  and venue in the
              state and federal courts  sitting in the State of  Washington.  In
              any  action or suit to  enforce  any right or  remedy  under  this
              Agreement or to interpret  any  provision of this  Agreement,  the
              prevailing party shall be entitled to recover its costs, including
              reasonable attorneys' fees.

          (c) This Agreement does not constitute an offer by MS and it shall not
              be  effective  until  signed  by  both  parties.   This  Agreement
              constitutes the entire agreement  between the parties with respect
              to the Licensed  Software and all other subject  matter hereof and
              merge all prior and contemporaneous  communications.  It shall not
              be modified except by a written  agreement dated subsequent to the
              date of this  Agreement  and signed on behalf of COMPANY and MS by
              their respective duly authorized representatives.

          (d) This  Agreement may be assigned by MS but shall not be assigned by
              COMPANY  without MS' prior written  approval.  Except as otherwise
              provided,  this  Agreement  shall be binding upon and inure to the
              benefit of the parties' successors and lawful assigns.

                                                     WONDERWARE SOFTWARE
MICROSOFT CORPORATION                                DEVELOPMENT, INC.
One Microsoft Way                                    16 Technology Dr.
Redmond, WA  98052-6399                              Irvine, CA  92718

Steven A. Ballmer                                    Dennis R. Morin
Senior Vice President                                President, CEO
October 3, 1991                                      October 2, 1991

                                                     33-0304677
                                                     COMPANY's Federal
                                                     Employer ID number or
                                                     Social Security number


<PAGE>


                                    Exhibit A

                        LICENSED SOFTWARE SPECIFICATIONS

The  Licensed  Software  shall  contain the  following  features  and perform in
accordance with the following specifications:



<PAGE>


                                   Appendix A
                               NetDDE for Windows



Overview

This document describes the functional end user behavior that NetDDE for Windows
supplies.

Microsoft's  Dynamic  Data  Exchange  (DDE)  protocol  is  normally  limited  to
exchanging data between applications running in a single environment on a single
machine.  By using  NetDDE for Windows the  functionality  of DDE is extended to
include communication with multiple applications over different networks between
similar  or  different  operating  environments.  This  allows  applications  to
exchange information  dynamically even if they are running on different machines
and different network interfaces.

DDE is the acronym for Dynamic Data  Exchange.  DDE is a complete  communication
protocol designed by Microsoft to allow applications in the Windows  environment
to  send/receive  data and  instructions  to/from  each other.  It  implements a
client-server  relationship between two concurrently running  applications.  The
server  application  provides  the  data and  accepts  requests  from any  other
application interested in its data. Requesting  applications are called clients.
Some  applications  (e.g.  InTouch,  Excel,  etc.) can  simultaneously be both a
client and server.

To obtain data from another application, the client program opens a conversation
to the server  application by specifying  three things:  the server  application
name,  the topic name and the specific  item name.  For example,  in the case of
Excel,  the  application  name is  "Excel",  the  topic  name is the name of the
specific  spreadsheet  that  contains the data and the item name is the specific
cell on the spreadsheet.

When a client  application  sets up a  conversation  to another DDE program,  it
requests the server  application to advise the client whenever a specific item's
value changes.  These data links remain active until either the client or server
program  terminates  the  conversation.  This  is  a  very  efficient  means  of
exchanging  data  because  once  the  conversation  has  been  established,   no
communication  occurs  until the  specified  data value  changes.  Additionally,
clients  can  perform  one-time  requests,  change data values in the server and
cause commands to be executed in the server, all via DDE.


Hardware and Networks Supported

NetDDE for Windows supports the following hardware:
                                    IBM PC's and compatibles running Windows

Reserving Onboard Memory

If the NetDDE for Windows  program  will be used in Windows 386  Enhanced  Mode.
Windows must be prevented  from trying to manage the memory on the network card.
A range of  memory  addresses  that are not used by any  other  devices  must be
identified  in the  computer.  The range size depends on the network  card.  The
following  address  ranges  are  typical;  but  PC-compatibles  vary.  The  best
candidate is indicated by an asterisk (*).

     Memory Range      Typical Use
     0000-A000         System memory; do not use.
     A000-B000         Graphic video display memory; do not use
     B000-B800         Monochrome display memory; okay to use if using a
                       color-only system.
     B800-C000         Color display memory; okay to use if using a
                       monochrome- only system.
     C000-C400         EGA BIOS; do not use if display controller is EGA.
     C000-C800         VGA BIOS; do not use if display controller is VGA.
     C800-D000         Sometimes used by video cards. Use with caution.
     D000-E000         Usually available. Be sure to avoid conflicts with other
                       cards such as network adapters.
     E000-F000         Sometimes used by system BIOS; use with caution.
     F000-FFFF         System BIOS; do not use.

The chosen memory address should be set in the switches on the network card. The
memory is reserved by modifying the  SYSTEM.INI  file as described  below.  (The
SYSTEM.INI file is located in the same directory as Microsoft Windows.)

Using a text  editor  program,  open  the file  SYSTEM.INI  and  locate  the 386
Enhanced section which is indicated by a line containing only [386Enh]. If there
is no such  section,  add it to the end of the  file  and  enter  the  following
EMMExclude statement:

                                    [386Enh]
                                    EMMExclude=A000-EFFF


Installing NetDDE for Windows

The NetDDE for Windows program is installed by running the  INSTALL.EXE  program
contained on the distribution disk as follows:

 1.   Start Windows
 2.   Insert the NetDDE for Windows program disk into the appropriate drive.
 3.   From the Windows Program Manager invoke the /File/Run command.
         The following dialog box will appear:

                    [GRAPHIC OMITTED, Sample of Screen View]

 4.  Enter A:\INSTALL or B:INSTALL (according to the drive being used) and click
     on OK or press the (Enter) key. The following dialog box will appear:

                    [GRAPHIC OMITTED, Sample of Screen View]

 5.  To install the program in the default directory,  C:\INTOUCH,  click on OK.
     To install the program in a different directory, enter the pathname for the
     directory and then click on OK.

To  automatically  start up the  NetDDE  for  Windows  program  when  Windows is
started,  enter the actual  program name in the "load line" in the WIN.INI file;
load=NETDDE.


Running NetDDE for Windows

Start  NetDDE for  Windows by  double-clicking  on its icon or by  invoking  the
/File/Run.. command from the Windows Program Manager and entering NetDDE.

Each  node on the  network  must  have a unique  network  name  defined  for it.
Therefore,  the first time NetDDE for Windows is run, the  following  dialog box
will automatically appear:

                    [GRAPHIC OMITTED, Sample of Screen View]

Enter a name for the local node and click on OK. Note:  All nodes on the network
 must have unique names.

The "Network Interface Selection" dialog box will appear:

                    [GRAPHIC OMITTED, Sample of Screen View]

Select the network interface(s) which are to be available for the local computer
and click on OK. A  confirmation  message box will appear  noting the  addition,
click on OK. Note: Only NetBIOS is supported.


The NetDDE for Windows Program Window

Once the node has been named and the network interface(s) has been selected, the
NetDDE for  Windows  program  window will  appear.  The  connection  information
displayed  in the window will depend  upon the options  enabled in the  /Display
menu:


                   [ GRAPHIC OMITTED, Sample of Screen View ]


If all connection  information options are enabled, the window will be displayed
as follows:

                   [ GRAPHIC OMITTED, Sample of Screen View ]


The following describes each connection information box:

                               Direct Connections
Layer - Network  interface  through which the  connection is being made.  Node -
Name of the remote node to which the local node is connected.
Status - Current state of the NetDDE connection.

                                 Network Routes
Source - A node name will  appear  in this area if the local  computer  is being
used as a hop in a route being used by another node.  Otherwise.[Local]  will be
displayed.
Dest - A node  name  will  appear in this  area.  Status - Current  state of the
network connection.

                                   DDE Routes
Type - The DDE route type; Local -> Net, Net ->Local or  Local->Local.  Status -
Current state of the network connection.

                                  Conversations
Conversation  - The remote  \\nodename\application  (client)  initiating the DDE
conversation to the local \\nodename\application\topic (server) via NetDDE.
Status - Current state of the DDE conversation.

Once a connection has been  established,  data regarding the connection  will be
displayed  in  the  window  as  shown  in  the  example   below.   Enabling  the
/Display/Stastics  option  will  cause  Sent and Rcvd  fields  to  appear in the
window.  These fields will display the number of packets sent and received.  For
example:

                    [GRAPHIC OMITTED, Sample of Screen View]

If none of the /Display options are enabled, the window will appear as follows:

                    [GRAPHIC OMITTED, Sample of Screen View]


Configuring NetDDE for Windows

When NetDDE is installed,  the `NETDDE.INI' file is automatically created in the
Windows default  directory and is read by the NetDDE for Windows program when it
is started to determine its operating parameters. Note: The operating parameters
saved in this file should not be edited manually by the user.

The /Configure  menu contains the commands which are used to modify and/or setup
the NetDDE for Windows program's operating parameters:

                    [GRAPHIC OMITTED, Sample of Screen View]

The following pages describe each /Configure menu command.

Node Name ...Command
This command is used to change the name currently assigned to the local node. If
the node name is changed, the following self-explanatory message box appears:

                    [GRAPHIC OMITTED, Sample of Screen View]

Note: The first time the NetDDE for Windows program is started up, the user must
enter a name for the node in order to run the program (as  previously  described
in the Running NetDDE for Windows section).

Routing Information ... Command
This command is used to setup and/or edit the routing.csv  file which stores all
routes  to  remote  nodes to be used by the local  node.  (Refer to The  Routing
Information File section for complete details on setting up this file.)

Preferences... Command
Invoking this command will cause the ".CSV Editor" dialog box to appear:

                    [GRAPHIC OMITTED, Sample of Screen View]

This dialog box is used to designate  the program  (default is  "Notepad") to be
used as the editor for the node's Routing  Information and Security  Information
files.  To  specify  another  program  to be used  for the  editor,  enter  that
program's name (e.g., Excel) and click on OK.

Security Information ... Command
This command is used to setup and/or edit the security.csv file which stores all
security access data for the local node. (Refer to The Security Information File
section for complete details on setting up this file.)

Network Interfaces ... Command
This command is used to set the network  interface(s)  default and to add/modify
the interface(s)  available for the local node. When the command is invoked, the
"Network Interface Selection" dialog box will appear:

                    [GRAPHIC OMITTED, Sample of Screen View]

Note: The first time the NetDDE for Windows program is started up, the user must
select the default network  interface in order to run the program.  Only NetBIOS
is supported.

Configuring the NetBIOS Network Interface

The NetBIOS Parameters command is used to configure the operating parameters for
the NetBIOS network  interface.  It is recommended  that these parameters be the
same on all nodes to which  connections may be made. (These parameters are saved
in the NETDDE.INI  file in the Windows  directory and are read by the NetDDE for
Windows  program  each time it is run.)  Invoking  this  command  will cause the
"NetBIOS Configuration Parameters" dialog box to appear:

                    [GRAPHIC OMITTED, Sample of Screen View]

The following describes each field in this dialog box:

Packet Size
The Default packet size (in bytes) used to  communicate  with other NetDDE nodes
via NetBIOS.

Max Unack Pkts
The maximum number of outstanding packets that will be permitted.

                                    Timeouts
Receive connect Cmd
The number of seconds  NetDDE for Windows will wait from the initial  connection
to this node to receive the initial connect packet from the remote node.

Receive Connect Rsp
The number of seconds NetDDE for Windows will wait from when it sent the initial
connect packet to when it receives the initial connect response packet.

Memory Pause
The number of seconds to wait before  retrying  to transmit a DDE message  which
the remote node did not have enough memory to initially receive.

No Response
The number of seconds to wait for the remote node to  acknowledge a packet sent.
When this timeout expires, the packet is retransmitted.

Keep Alive
If there is no DDE activity being conducted,  this is the frequency (in seconds)
an inquiry  will be sent to the remote  node to see if the  connection  is still
alive.

Stuck Xmit
The number of seconds  NetDDE for Windows  will wait for the NetBios  session to
allow more information to be sent. When this timeout is exceeded, the connection
is closed.

                                  Retry Limits
Transmission Errors
The consecutive number of times NetDDE for Windows will tolerate the remote node
indicating that it received a packet with a checksum or CRC error. If this limit
is exceeded, the connection is closed.

Out-of-Memory Errors
The number of times NetDDE for Windows will retry to send a DDE message when the
remote node does not have enough  memory for it. If this limit is exceeded,  the
connection is closed.

No Response Errors
The number of times  NetDDE for Windows  will attempt to send a DDE message when
there is no  response  from the  remote  node.  If this limit is  exceeded,  the
connection is closed.

Validation Method
Select the  option  for  controlling  the  method of valid  packet  verification
between NetDDE nodes. A value of 1 uses CRC, a value of 2 uses 32-bit  checksum.
(The validation method can be different on each node.)

The Routing Information File

NetDDE has the capability of directly  connecting nodes which reside on the same
network  interface or  establishing  routes over different  operating  networks.
Establishing  these routes serves two purposes;  bridging  multiple networks and
providing the capability for dial-in support from laptops. To accomplish this, a
Routing  Information File is setup on each node to store the routes it will use.
Note:  If using just LAN,  routes are not  necessary.  NetDDE  uses a CSV (comma
separated  variable) file format,  generally named routing.csv.  The format of a
route in the routing.csv file is as follows:

ToNode,/NetworkInterface(Node)+[/NetworkInterface(Node)],CloseRoute,Seconds

The  ToNode  is  the  name  of  the  node  to  which  the  route  relates.   The
/NetworkInterface(Node)  +  /NetworkInterface(Node)  sections  are each called a
hop. A hop tells NetDDE the network  interface and node on that network to which
the connection must be made to get to the desired node.  /NetworkInterface(Node)
is the generic term for a fully  qualified  hop. There is no limit to the number
of hops for a route.  However, the total string length must be 512 characters or
less.  The  following   lists  examples  of  fully   qualified  hops  and  their
descriptions:

/netbios(Jerry)                             Use NetBIOS to connect to Jerry

Fully qualified hops are not always required.

To setup and/or edit the Routing Information File invoke the  /Configure/Routing
Information command. Invoking this command will cause the ".CSV file for Routing
Information" dialog box to appear:

                    [GRAPHIC OMITTED, Sample of Screen View]

When this dialog box appears,  the default directory and filename  (routing.csv)
will be  displayed in the .CSV File:  field.  To save the file under a different
name or in a different  directory,  enter the new directory  and filename  here.
Note: The file must be saved with the .csv extension.

By  default,  NetDDE for  Windows is setup to  automatically  close all  network
connection  routes  which are not used for 30 seconds.  (The  default  number of
seconds can be increased or  decreased,  as  required.) To disable this function
(which  changes the  default) for all network  routes,  deselect the Close Route
when not in use checkbox.

The number of seconds and the closing of a specific  network route to a specific
node, can be controlled by entries made in the local node's Routing  Information
File.  To control the  closing,  a 1 (to close) or a 0 (not to close) is entered
following  the  NetworkInterface  portion of the node's  route.  To control  the
number of seconds,  enter the desired amount  following the closing data. In the
following example. the network route from "Rich" to "Phil" will automatically be
closed (indicated by the "1" following the Network Interface) after 45 seconds.

                     Phil./netbios(Chet)+/netbios(Rich),1,45

Note: If the closing  and/or  seconds  information is not included in the route,
the default settings are used.

To edit the Routing  Information  file, click on the Edit button. If this is the
first time the Routing  Information file is being edited,  the following message
box will appear:

                    [GRAPHIC OMITTED, Sample of Screen View]

Note:  By default the file will  automatically  be created  using the  "Notepad"
program  unless  another  program is designated to be used as the editor via the
/Configure/Preferences command (previously described).

Click on Yes to open "Notepad" and create the routing.csv file

The Security Information File

When a DDE  client  attemps  to  establish  a  conversation  with the local node
(server),  NetDDE for Windows  knows what remote  node/application  is trying to
establish  the  conversation  and the  application/topic  to which the client is
trying to connect.  The Security  Information File is setup to control access to
the DDE-available data on the local node. It proves the user with the ability to
prevent  specific  nodes from gaining  access to a specific  application  and/or
topic. NetDDE uses a CSV (comma separated variable) file format, generally named
security.csv  to  implement  this  security.  The  format  of each  line in the.
Security.csv file is as follows:

          ToApp,ToTopic,FromNode,FromApp,Allow?,StartApp?,CommandToRun

where:   To App is the name of the application on the server to be accessed.
         ToTopic is the topic within the ToApplication to be accessed.
         FromNode the client initiating the DDE Conversation.
         FromApp the name of the application on the remote node attempting to
           connect to the application on the local node.
         Allow? a flag to indicate whether or not the client is allowed to 
           access to the application/topic
         StartApp? A flag to indicate whether or not the client is allowed to 
           start the application (if currently not running) on the server.
         CommandToRun (optional) a command can be entered, that is run when
           NetDDE initiates the DDE conversation.

NetDDE for Windows will read the security file in order (from top to bottom) for
a line that matches the intended DDE conversation. The first four fields in each
line are used to find the match.

For example,  let's assume we have an Excel spreadsheet  (receipe1.xls)  that we
only  want  one  remote  node  (Phil)  to  have  access  to  regardless  of what
application he is running.  We also only want to allow Jerry to have access from
the Wonderware  InTouch View application.  All other Excel  spreadsheets we will
allow  everyone  to  access.  If we use the Excel as the  editor,  our  Security
Information File would be set up as follows:

                    [GRAPHIC OMITTED, Sample of Screen View]

When  "Phil"  attempts to connect to  excellreceipe1.xls.  the first line in the
matches and the conversation  would be permitted.  When "Jerry" tries to connect
to  excellreceipe1.xls.  if he is using the View  application,  the second  line
matches and the conversation  would be permitted.  If the application on "Jerry"
were the other than View, the third line matches and the  conversation  would be
rejected  because  the Allow?  field is set to "0" (do not allow).  Note:  Since
asterisks  (*) can be used to match  all,  there  is  complete  flexibility  for
setting up security.

To  setup  the  Security   Information   File  invoke  the   /Configure/Security
Information  command.  Invoking  this  command  will  cause the  ".CSV  file for
Security Information" dialog box to appear:

                    [GRAPHIC OMITTED, Sample of Screen View]

Whe this dialog box appears the default  directory and filename for the Security
file will be displayed  in the .CSV File field.  To save the file in a different
directory or under a different name,  enter the new directory and filename here.
Note: The file must be saved with the .csv extension.

By default,  NetDDE for Windows is setup to  automatically  Allow  Conversations
with the local node from all remote  nodes.  Tp  prevent  all remote  nodes from
establishing  DDE  conversations  with the local node,  deselect this  checkbox.
Through  entries made in the Security  Information  File, a specific remote node
can be prevented from establishing any DDE conversation with the local node or a
DDE conversation to a specific application.

For example,  if "Sue" is not  permitted to  establish a DDE  conversation  with
Excel on the local  node,  "excel,*,sue,*,0"  would be entered  in the  Security
Information File.

Selecting the checkbox for the Start  Applications  when  initiate  fails option
will allow  applications on the local node to  automatically  be started (if not
currently  running)  whenever a remote node initiates a DDE conversation to that
applciation. (The default is "application/topic".

If a conversation is permitted via the Security  Information  File,  NetDDE will
try to initiate the  conversation.  If the Initiate  fails,  NetDDE consults the
StartApp?  and  CommandToRun  options.  If StartApp?  is set to "1", NetDDE will
start the  appliciation  and try the  initiate.  A specific  remote  node can be
prevented  from  starting  all or  specific  applications  on the local  node by
entering a "0" in the StartApp? Field in the Security Information File.

For example,  if "Chet" is permitted to establish a DDE conversation  with Excel
and is  allowed  to  startup  Excel  if it is not  running  on the  local  node,
"excel,*,Chet,1,1"  would be entered in the Security  Information File. Also, if
an entry  exists in the  CommandToRun  field,  that command will be run and then
NetDDE will try to initiate the conversation.  In the following  example,  Excel
will be started and will load resume.xlw then the initiate will be retried.

                 Excel,receipe1.xls,Chet,*,1,1,excel resume.xlw

To edit the Security file,  click on the Edit button.  If this is the first time
the Security file is being edited, the following message box will appear:

                    [GRAPHIC OMITTED, Sample of Screen View]

Note:  By default,  the file will  automatically  be created using the "Notepad"
program  unless  another  program is designated to be used as the editor via the
/Configure/Preferences  command  (previously  described)  Click  on Yes to cause
NetDDE to create the security.csv file.

If "Notepad" is used for the editor,  the  Security  Information  File should be
setup as shown in the following example:

                    [GRAPHIC OMITTED, Sample of Screen View]

Security Guidelines

In  general,  it is  recommended  that the last  line in the  security.csv  file
contain asterisks (*) for the first four fields and then the default  processing
for Allow? and StartApp?.  For example, if you generally want to restrict access
to your system,  and only allow certain  conversations  to take place,  make the
last line of the file:

                                    *,*,*,*,0

This  makes  the  default  processing  to  not  allow  the  conversation  if not
specifically mentioned previously in the file.

If you wish to generally allow  conversations  to take place, but not to default
to starting applications on your machine, make the last line:

                                   *,*,*,*,1,0

If you wish to be very generous to your network peers,  and by default allow all
conversations and the ability to start all applications whenever necessary, make
the last line:

                                   *,*,*,*,1,1



Testing the NetDDE for Windows Installation

To test the installation of NetDDE for Windows, install the program on two nodes
on the network. On one node, invoke the /Connections/Open command:

                    [GRAPHIC OMITTED, Sample of Screen View]

The "Name to connect to" dialog box will appear:

                    [GRAPHIC OMITTED, Sample of Screen View]

Enter the name of a remote node to connect to and click on OK. If the connection
is successful, connection information will appear in the NetDDE program window's
"Direct  Connections"  and  "Network  Routes"  boxes  and  "Connected"  will  be
displayed in the "Status" section of those boxes. For example:

                    [GRAPHIC OMITTED, Sample of Screen View]

Note: If data  momentarily  appears and then  disappears,  the connection is not
established. If this is the case, verify that the network is properly installed.

The NetDDE Connection State Variable

The  NetBIOS  DDE  networking  program has a built-in  discrete  variable  which
indicates  the state of each network  connection.  The built-in  discrete  item,
"Connected", is set to 0 when the network connection fails or is disabled and is
set to 1 when  connection is successful.  To monitor the connection  state a DDE
address is setup as follows:

                           netdde/info!node.connected

In Excel,  the state of the network  connection  may be read and  displayed in a
cell which contains the appropriate formula as shown in the following example:

                    [GRAPHIC OMITTED, Sample of Screen View]

If the  connection  is  successful  a 1 will be  displayed  in the cell.  If the
connection is unsuccessful or broken a 0 will be displayed.

Setting Up a DDE Conversation

The DDE protocol  identifies  an element of data by using a three-part  address.
The three parts of a DDE address are Application, Topic and Item.

Application  refers to the name of the Windows  program  (server)  which has the
ability to access the data element (e.g.,  Excel). In the case of NetDDE, when a
client application opens a conversation with an application residing on a remote
node (server),  the name of the remote node must precede the application name in
the DDE Address. To distinguish the node name from the application name, it must
be preceded by two backslashes and followed by one backslash. For example:

                           \\NodeName\applicationname

Note:  If the remote node to be accessed  resides on a network  interface  other
that the default interface,  the node name must have a route setup for it in the
local node's routing.csv file.

Topic Name is an  application-specific  sub-group of data elements. For example,
when  conducting  a DDE  conversation  with  Excel,  the topic  name is name the
spreadsheet is saved under on the remote node.

Item Name  indicates a specific  data element  within the specified  topic.  For
example,  when conducting a DDE  conversation  with Excel,  the item name is the
identification of a cell in the row/column format (RICI).

For  example,  if writing data from Excel on the local node to Excel on a remote
node,  the following DDE formatted  formula would be entered in an Excel cell on
the local node's spreadsheet:

                    [GRAPHIC OMITTED, Sample of Screen View]

where:   \\NodeName\excel represents the application name
         sheet.xls is the name of the  spreadsheet  to be accessed on the remote
         node and represents the topic name rlc10 is the  identification  of the
         cell  in the  spreadsheet  from  which  the  data  is  being  sent  and
         represents the item name


Closing NetDDE Network Connections

All connections  are terminated by invoking  opening the  /Connections  menu and
invoking  either  the  /Close  Direct  or  /CloseRoute   command.   The  "Choose
connection(s) to close" dialog box will appear:



                    [GRAPHIC OMITTED, Sample of Screen View]

The names of all remote nodes to which the local computer is directly  connected
will be displayed in this dialog box. To close a connection,  select the name(s)
of the node(s) and click on OK.

Note: If a node closes its direct  connection to a node which is being used in a
route by another node, the route connection will also be terminated.

Network Interface DLL API

NetDDE for Windows uses the  following API calls to  communicate  with a network
DLL. This feature provides a method for network independence.

Generic
BOOL                Init                (lpszNodeName)
VOID                Shutdown            0
VOID                Slice               0

Connection Management
CONNID              ConnectToNode        (lpszConnectionInfo)
VOID                SetConnName          (lpszName)
BOOL                AnyNewConnection     0
CONNID              GetNewConnection     0
VOID                Disconnect           (connid)

Status
DWORD               ConnectionStatus     (connid)
                           Connection     CONN_OK. CONN_CONNECTING.
                                          CONN_CLOSED
                           Rev Packet     RCV_READY,RCV_EMPTY
                           Xmt Packet     XMT_READY,XMT_BUSY

Packet I/O
BOOL                RevPacket             (connid.lpXmtBuf,lpwPktLen.lpwStatus)
BOOL                XmtPacket             (connid.lpXmtBuf,wPktLen)




Connection Config
VOID              SetupConnection         (connid,wMaxUnAckPkts,wPktSize)
VOID              GetConnectionSetup      (connid,lpwMaxUnAckPkts,lpwPktSize,
                                             timeout info and retries)

Debug
VOID              SetDebugLevel           (connid,dwFlags)
VOID              LogDebugInfo            (connid,dwFlags)


<PAGE>


             Amendment No.1 to the License and Consulting Agreement
                                     Between
                    WONDERWARE, INC and MICROSOFT CORPORATION
                              Dated October 3, 1991

         This  Amendment  to  the  License  and  Consulting   Agreement  between
MICROSOFT  CORPORATION ("MS") and WONDERWARE,  INC. ("COMPANY") dated October 3,
1991 ("Agreement"), is made and entered into this ______ day of _______________,
1992

The parties agree to amend the Agreement as follows:

 1.  The  Licensed  Software  as  defined  in the  Agreement  shall be deemed to
     include (a) a security  enhancement for NetDDE for inclusion in MS' product
     currently know as "Winball" and (b) a port of Licensed Software  (described
     in Exhibit A) to the Windows NT operating system. The security  enhancement
     shall conform to the specifications in Exhibit A1.

 2.   COMPANY shall complete the Licensed Software according to the following 
      schedule:
                           WORK                               Due Date

         Design security scheme (Exhibit A1)                  April 7, 1992
         Implement security (Exhibit A1)                      April 30, 1992
         Port to Windows NT                                   May 11, 1992
                  (as demonstrated at Windows World.
                  March 1992)

 3.   The second sentence of Section 1.4 shall be replaced with the following:
     "MS further  agrees that it will not  distribute  any  derivative  works of
     Licensed Software for TCP, Serial and SPX/IPX mechanisms developed by MS or
     a third party until twelve (12) months after MS' first commercial  shipment
     of Licensed  Software or a  derivative  thereof,  and it will give  COMPANY
     sixty (60) days notice of its intent to do so".

 4.   Section 1.5 shall be replaced with the following:
     "License for TCP, Serial and SPX/IPX  Mechanisms.  Notwithstanding  Section
     1.4 above,  at any time MS may extend its license rights in Section 1.1 for
     Licensed  Software  to TCP,  Serial and  SPX/IPX  mechanisms  developed  by
     COMPANY (at which time "Licensed  Software" shall be deemed to include such
     mechanisms) by payment of Fifty Thousand Dollars  (US$50,000.00) to COMPANY
     for each (TCP, Serial or SPX/IPX) mechanisms."

 5.   Section 3 shall be replaced with the following:
         "Signing this Agreement                              $10,000

         Delivery of Licensed Software                        $40,000

         Signing of Amendment #1                              $65,000 plus
                                                              $25,000 of MS
                                                              products/services

         First shipment of Licensed Software for              $10,000
         revenue by MS"

 6.  MS  shall  pay  COMPANY's   reasonable   pre-approved  travel  expenses  in
     connection  with  development  of the security  enhancement  (Exhibit  A1).
     COMPANY  shall submit  written  invoices to MS for payment of these amounts
     when they become due.

 7.  Section (C) shall be delected from the Agreement. Upon signing of Amendment
     No.1 to the  Agreement,  MS and COMPANY  shall issue a joint press  release
     announcing  the licensing of Licensed  Software to MS, the content of which
     shall be  agreed  upon by the  parties.  In  addition,  MS agrees to permit
     COMPANY to  advertise  the  foregoing  in a brochure  to be included in the
     retail  product  box for MS  Windows  3.1.  COMPANY  shall  submit all such
     advertising to MS for approval prior to  distribution,  such approval shall
     not be unreasonably withheld.

Except for the foregoing modifications,  the terms of the Agreement shall remain
unchanged and in full force and effect.

         IN WITNESS  WHEREOF,  the parties have executed  this  Amendment to the
Agreement as of the date set forth above. All signed copies of this Amendment to
the Agreement shall be deemed  originals.  This Amendment does not constitute an
offer by MS. This  Amendment  shall be  effective  upon  execution  on behalf of
COMPANY and MS by their duly authorized representatives.

MICROSOFT CORPORATION                       WONDERWARE, INC.

Brad A Silverberg                           Dennis R. Morin
Vice President                              President, CEO
4/28/92                                     April 28, 1992