Windows

Migration from 3.10 (or less) to 3.11 (or up) requires additional steps because we have significantly improved the data protection mechanism - now it is built on certificates and doesn't require entering the password manually on server start. Please follow these steps to update your HES:

  1. Update all Hideez Clients to 3.11, the new version can work with both old and new versions of the HES.

  2. Disable the Data Protection on the HES.

  3. Update the server using the following instruction.

  4. If you are using IIS, update its configuration using the parameters below.

  5. Enable Data Protection again.

IIS Configuration

  • Go into the IIS Manager

  • Click on Application Pools (on the left)

  • Right click on your application pool

  • Select Advanced Settings

  • General

    • Change the value of .NET CLR Version to No Managed Code

  • Process Model

    • Change the value of Idle Time-out (minutes) to 0

    • Change the value of Load User Profile to True

  • Recycling

    • Change Regular Time Interval (minutes) to 0

1. Backup the HES binaries and the configuration file

  • Stop the site using the IIS console

  • rename binary folder C:\Hideez\HES to C:\Hideez\HES.old

2. Backup SQL Database

  • For MySQL database:

The following commands will create a copy of the database in file hesdb.sql in directory C:\Hideez\HES.old (in poweshell console):

> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
>  .\mysqldump -u root -p hesdb > "C:\Hideez\HES.old\hesdb.sql"

You will need to enter the MySQL root password. Database name hesdb may be different for you depending on how you have named it on install.

  • For Microsoft SQL Server database:

In the SQL Server Management Studio:

Right click on the database name Select Tasks > Backup Select "Full" as the backup type Select "Disk" as the destination Click on "Add..." to add a backup file and type C:\Hideez\HES.old\hesdb.bak and click "OK" Click "OK" again to create the backup

3. Download and install the latest HES

Download the zip file from https://update.hideez.com/hes/windows_x64_latest.zip, then unzip its content to the folder C:\Hideez\HES.

4. Restoring the configuration file

Copy C:\Hideez\HES.old\appsettings.Production.json to C:\Hideez\HES\appsettings.Production.json in the File Explorer

5. Starting the HES

Start the site using the IIS console

After checking that the update was successful and everything works fine, you can delete copies of the database and server

An alternative is to perform the above steps in powershell:

Stopping HES :

> Set-Location $env:windir\System32\inetsrv
> .\appcmd.exe  stop site /site.name:HES
> Set-Location C:\Hideez
> mv HES HES.old

Backup database:

  • MySQL database:

 > Set-Location "C:\Program Files\MySQL\MySQL Server 8.0\bin"
 >  .\mysqldump -u root -p hesdb > "C:\Hideez\HES.old\hesdb.sql"
  • MS SQL database:

>  sqlcmd -S localhost  -Q "BACKUP DATABASE [hesdb] TO DISK = N'C:\Hideez\HES.old\hesdb.bak' WITH NOFORMAT, NOINIT, NAME = 'db-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"

Download and install HES:

> Invoke-WebRequest -Uri  https://update.hideez.com/hes/windows_x64_latest.zip  -OutFile  ~\windows_x64_latest.zip
> Expand-Archive -LiteralPath ~\windows_x64_latest.zip -DestinationPath C:\Hideez\HES
> cd C:\Hideez
> cp HES.old\appsettings.Production.json HES\appsettings.Production.json

Start HES:

> Set-Location $env:windir\System32\inetsrv 
> .\appcmd.exe  start site /site.name:HES

Delete folder C:\Hideez\HES.old

> cd C:\Hideez
> rm  HES.old> 

RESTORE Database:

  • MySql

> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
> Get-Content  "C:\Hideez\HES.old\hesdb.sql" | .\mysql.exe  -u root -p hesdb
  • MS SQL

> sqlcmd -S localhost -Q "RESTORE DATABASE [hesdb] FROM DISK = N'C:\Hideez\HES.old\hesdb.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"

If something goes wrong, you can restore the HES server using the following commands:

Stop the site using the IIS console, then rename old folder to HES, then restore database:

  • For MySQL database:

> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
> Get-Content  "C:\Hideez\HES.old\hesdb.sql" | .\mysql.exe  -u root -p hesdb

you will need to enter the MySQL root password. Here hesdb is the name of your real database

  • For Microsoft SQL Server database:

In the SQL Server Management Studio:

In the left navigation bar, right-click on Databases and then click Restore Database.

In the Source section, select Device and click the button with three dots and type C:\Hideez\HES.old\hesdb.bak

In the pop-up window that opens, click Add and browse for your backup file. Click OK.

In the left navigation menu, click Options.

In the pane on the right select Overwrite the existing database (WITH REPLACE) and Close existing connections to destination database.

Click OK.

Then start the site using the IIS console.

Update using a script

In the latest versions, there is another way to update the server - using the powershell script update.ps1, which is located in the directory with the server (C:/Hideez/HES/update.ps1). This script has the following command line parameters:

-service - Name of IIS site Default HES

-url - url to download the update file. Default, url will be taken from https://update.hideez.com/hes/build.json

But you can override these parameters. For example, to update HES offline, from the file "windows_x64_latest.zip", located in the C:/Updates directory, you can run the script in powershell, as follows:

update.ps1 -url file://C:/Updates/windows_x64_latest.zip

or, if the update is on another of your resources: update.ps1 -url https://<your_resource/windows_x64_latest.zip

Last updated