Skip to content

Manual client installation on Windows

Preparing the package

  1. Download A.V.A.T.A.R client zip file from GitHub.
    • Click on the code button and Download zip.
  2. Extract the A.V.A.T.A.R-Client-master.zip file by the "Extract or Extract here" selection.
  3. Create a C:\packager\client directory which will be used to package the application.
  4. Copy the contents of downloads\A.V.A.T.A.R-Client-master\dist to C:\packager\client.

    > cd C:\A.V.A.T.A.R-Client-master/dist
    > xcopy /E *.* C:\packager\client
    

Installing the packager module

  1. Open a terminal DOS
  2. Change to C:\packager\client_ directory:

    cd C:\packager\client
    

  3. Enter the following command to install the packager and all application modules:

    C:\packager\client> npm install --save-dev @electron/packager
    

    About deprecated modules

    You can ignore messages about deprecated modules.
    These messages are not important and the installation can continue.

  4. After a few moments, you should see the following result:

    added <xxx> packages, and audited <xxx> packages in 19s
    
    <xx> packages are looking for funding
    run `npm fund` for details
    
    found 0 vulnerabilities
    

    About vulnerabilities

    The application is updated regularly, but it is possible that you may discover vulnerabilities.
    If this is the case, installation is unaffected and can continue.
    You can also contribute by leaving an issue to update the application.

Running the packager module

In order to have the latest version of Electron for your installation, you need to retrieve the latest version from the Electron GitHub which will be used to package it.

  1. Go to the Electron GitHub web site and on the right, in the Releases section, below the About section, note the latest version (as in the example image below, framed in red):

  2. Run the packager:

    • Suppose that the lastest version readed on the Electron site is 34.8.1, then change the XX.X.X value to the latest version in the --electron-version=XX.X.X parameter in the command line below then execute it.

    C:\packager\client> npx electron-packager . --electron-version=XX.X.X --icon=./avatar.ico --out=output
    
    3. After a few moments, you should see the following result (varies by platform):
    Packaging app for platform win32 x64 using electron vXX.X.X (the latest version from Electron GitHub site)
    Wrote new app to: output\A.V.A.T.A.R-Client-win32-x64
    

Installing Electron module

  1. Change to the output/A.V.A.T.A.R-Client-win32-x64/A.V.A.T.A.R-Client.app/resources/app directory:

    C:\packager\client> cd ./output/A.V.A.T.A.R-Client-win32-x64/resources/app
    
  2. Enter the following command to install Electron in the package:

    app> npm install electron --save-dev
    

  3. After a few moments, you should see the following result:
    added <xxx> packages, changed <x> packages, and audited <xxx> packages in 13s
    
    <xx> packages are looking for funding
    run `npm fund` for details
    
    found 0 vulnerabilities
    

Deploy A.V.A.T.A.R client as an application

A.V.A.T.A.R client is now ready to be moved into its application directory.

  1. Create a directory for the A.V.A.T.A.R client application (e.g. C:\avatar\client).
  2. Copy (or move) the contents of the output\A.V.A.T.A.R-Server-win32-x64 directory to C:\avatar\client.

    > cd C:\packager\client\output\A.V.A.T.A.R-Server-win32-x64
    A.V.A.T.A.R-Server-win32-x64> xcopy /E *.* C:\avatar\client
    
  3. Add a desktop shortcut:

    • Do a right click on the desktop environment
    • In the menu, select New -> Shortcut
    • Select C:\avatar\client\A.V.A.T.A.R-Client.exe as element
    • Click Next
    • Enter a name for the shortcut (eg. A.V.A.T.A.R Client)
    • Click Done

installing Sox

A client needs Sox to register intercoms with other clients.

  1. Download the latest version of Sox from SourceForge.
  2. Create a C:\avatar\client\resources\app\lib\sox\win32 directory:

    > mkdir C:\avatar\client\resources\app\lib\sox\win32
    
  3. Execute the Sox installer and choose this directory as installation directory.

    Warning

    Expected result:

    app/
        lib/
            sox/
                win32/
                    sox.exe
                    ...
    

    Please check if sox is correctly installed !

installing FFmpeg

A client needs ffplay to play sound and music files.

  1. Download the latest version of FFmpeg from FFmpeg.
    • In the 'Release builds' section, select the ffmpeg-release-essentials.zip version.
  2. Create a C:\avatar\client\resources\app\lib\ffmpeg\win32 directory:

    > mkdir C:\avatar\client\resources\app\lib\ffmpeg\win32
    
    3. Extract and copy FFmpeg files and folders to the C:\avatar\client\resources\app\lib\ffmpeg\win32 directory:

    unzip <ffmpeg download>
    cd <unziped ffmpeg directory>
    xcopy /E <ffmpeg files and directories> C:\avatar\client\resources\app\lib\ffmpeg\win32
    
    Warning

    Copy only the extract application directories, not the first level of the extract directory!

    Expected result:

    app/
        lib/
            ffmpeg/
                win32/
                    bin/
                    doc/
                    presets/
    

    Please check if ffmpeg is correctly installed !

HTTPS certificate

The client's speech recognition uses the Web Speech API interface, which can be accessed by all browsers. As a result, a client embades a version of Google Chrome for testing when it is installed to ensure perfect compatibility with the client's version at all times.

To ensure secure communication between Google Chrome and the client, you need to create an HTTPS certificate.
Follow the first step first, then return to this page to complete the client installation.

  1. Create a self-signed certificate.
  2. Importing the Certificate Authority to the keystore:

    1. In Windows search, look for “Manage user certificates”.
    2. In the console, select Trusted Root Certification Authorities -> Certificates
    3. Right click on Certificates, select All Tasks -> Import
    4. In the new window, click Next
    5. Then click on Browse... and select the C:\packager\client\certificates\CA\avatarCA.crt file
    6. Click Next
    7. Place all certificates in the following store must be checked
    8. Verify that the Trusted Root Certification Authorities is added
    9. Click Next
    10. Click Finish
    11. The import was successful window appears
    12. Refresh the window by clicking Trusted Root Certification Authorities then Certificates

  3. Importing the host certificate to A.V.A.T.A.R client:

    1. Open a terminal DOS
    2. Create a C:\avatar\client\resources\app\core\chrome\certificates directory:

      mkdir C:\avatar\client\resources\app\core\chrome\certificates
      
    3. Copy the host certificate to the certificates directory:

      1. Change to C:\packager\client\certificates\hote

        cd C:\packager\client\certificates\hote
        
      2. Copy your <server name>.key and <server name>.crt files to this directory (these files are created in the Create a certificate for the host client step):

        copy <server name>.key <server name>.crt C:\avatar\client\resources\app\core\chrome\certificates
        

Voices

A.V.A.T.A.R needs voices to dialog with you. There are two possibilities for selecting voices according to their availability:

  1. In the system language packs (Local voices)
  2. In Chrome speech synthesis (Remote voices)
Platform System voices Google Chrome
remote voices
Comment
Windows ok ok No action required.
System and Chrome voices are available.

Start A.V.A.T.A.R client

Tip

Start A.V.A.T.A.R server first!

Type Action
Click on the executable 1. Open a Windows explorer and change to the C:\avatar\client directory
2. Double-click on the A.V.A.T.A.R-Client.exe file
Shortcut Click on the A.V.A.T.A.R client shortcut in the desktop environment
Warning

Warning: if you have anti-virus software, it may notify you that the application does not have a valid digital signature. Click on "always authorize".

The first connection window appears:

Add required information

  1. Enter the information required to start the client:
    • The client name.
    • The server's UDP search range:
      • You can enter a search range in the format XXX.XXX.XXX.XXX-XXX
        • For example:
          • with 192.168.2.100-110, the client will look for the server at addresses 192.168.2.100 to 110
        • You can also enter the server address directly, for example: 192.168.2.100
    • The UDP search port:
      • By default: 3333
      • This port number must be identical to the one defined in the server properties.
      • If you haven't changed it on the server, leave the default port.
  2. Click on "Save"
  3. The client restarts

Adding the host certificate

  1. The client window displays a warning message telling you that HTTPS has not been configured by an orange message:

  2. Left-click on the client's name to open its context menu.

    Warning

    Always wait until the client is fully initialized before clicking on its name to open its context menu.
    Wait until you see the the The HTTPS certificate is missing... message in the console.

  3. Click on Edit -> Plugin Studio:

  4. In Plugin Studio, click on the Plugins tab, then click on the Chrome plugin.

  5. Click on the Properties tab:

    • Add the <server name>.key file name to the key property (see HTTPS certificates for more details).
    • Add the <server name>.crt file name to the cert property (see HTTPS certificates for more details).
    • Add the hostname to the address property.
    • Uncheck the headless property to display Chrome on next startup and check if the certificate is valid.

    Tip

    In the image, an “sb-portable” is placed in the fields.

    This is just an example!

    Please, put the name of your <server name\>.crt and <server name\>.key files (located in the app\core\chrome\certificates), not those used to make the documentation!

  6. Right-click and click Save to save the properties

  7. Close the window (using the cross)
  8. Restart the client

Checking the host certificate

After restarting the client, Chrome appears.
Verify if the HTTPS certificate is valid in the Chrome browser.

Expected result (the sb-portable hostname is only a example, you must see the hostname of your platform):

Warning

If your certificate is not valid, maybe the certificate has not been made correctly.
Repeat the certificate creation step.

If the certificate is valid, open Plugin Studio again and change the headless property to true to hide Chrome the next time it is started. Do not forget to save the properties:

Tip

Chrome properties are defined in a chrome plugin so that they can be easily modified from within Plugin Studio.

Never delete this plugin, or the client will stop working!

Mandatory parameters

You're starting the client for the first time.
Although some client properties have been configured automatically, others need to be changed quickly.

  1. Do a right click here and select 'Open link in new tab' to display the Client Settings page access.
  2. Then, change these parameters to complet the installation:

    • Dialog language - Mandatory -
      • Defines the language used for voice rules.
      • By default the language is seted to "English".
      • You have to define the language you want and associated voice parameters (voice preference and current voice).
    • Trigger keywords - Optional/Mandatory -

      • Defines trigger keywords to start listening.
      • The default keywords are "Sarah" and "Jarvis".
      Warning

      Depending on the language you've chosen, the Trigger keywords may not be understood.
      If you've changed the dialog language, you'll need to change the trigger keyword.

    • Rules - Optional/Mandatory -

      • Defines phrases that are used by you or by the client when replying to you.
      • At the installation, these parameters are set in "English" language.
      • If you've changed the dialog language, you'll need to change the rules.
    • Application language - Optional -
      • Defines the language used for all graphical interfaces and application messages.
      • At the installation, this parameter is set to "English" (you can choose between "English or "French").
      • If "English" is the language you need, you can bypass this step.
    • The background image - Optional -
      • A Background image for the client. Not mandatory but so much nicer!

Test the installation

You can now test the installation by downloading your first plugin.



Manual server installation on Windows Test the installation