General Reference > Getting Started Guide > Installing on Windows Nano Server or Windows IoT Core
Installing on Windows Nano Server or Windows IoT Core
The following topics cover installation and configuration of Zen Enterprise Server, Edge Server, Client, and Client Reporting Engine on Windows Nano Server and Windows IoT Core:
Before You Install on Windows Nano Server or IoT Core
Before installing Zen on these platforms, we recommend you review the release notes from the Actian website. Also, be aware that throughout the documentation, all references to Zen Enterprise Server apply to installations on Windows Nano Server and IoT Core systems as well.
You must be logged in as administrator to install Zen on Windows IoT Core.
Special Instructions Before Installing Nano Server in a Docker Container
The release of Windows Nano Server 2019 is supported only in a Docker container. Building Nano Server 2019 in a Docker container to install Actian Zen would involve pull commands like those given here.
Windows Platform
For Windows 10 Professional, the image can be pulled by the following command:
docker pull mcr.microsoft.com/windows/nanoserver:1909-amd64
For Windows Server 2019, the image can be pulled by this command:
docker pull mcr.microsoft.com/windows/nanoserver:1809-amd64
Windows PowerShell
Actian Zen installation on Nano Server 2019 requires Windows PowerShell. Its image can be obtained with the following command:
docker pull mcr.microsoft.com/powershell:nanoserver
DLL File netapi32.dll
The Zen database engine requires the netapi32.dll to load and run properly. This standard Windows DLL is not included by default in the Nano Server image. To include the needed file, add the following line to your dockerfile. The string nnnn refers to the Windows image used.
COPY --from=mcr.microsoft.com/windows/servercore:nnnn ["\\Windows\\System32\\netapi32.dll", "\\Windows\\System32"]
After you have completed these instructions and executed docker run to run a dockerfile like the following sample, you can continue with the steps under Installing Using PowerShell.
Sample Dockerfile
# escape=`
# Args used by from statements must be defined here
ARG InstallerVersion=nanoserver-1809
ARG InstallerRepo=mcr.microsoft.com/powershell
# Use powershell with nanoserver
FROM ${InstallerRepo}:$InstallerVersion
USER ContainerAdministrator
# In the following line, the /M is required to address a known Docker issue in Windows Nano Server 2019.
RUN setx PATH "%PATH%;%ProgramFiles%\PowerShell;" /M
#Pull in netapi32.dll from servercore
## FROM mcr.microsoft.com/windows/servercore as core
COPY --from=mcr.microsoft.com/windows/servercore:1809 ["\\Windows\\System32\\netapi32.dll", "\\Windows\\System32"]
# intialize powershell module cache
RUN pwsh `
-NoLogo `
-NoProfile `
-Command " `
$stopTime = (get-date).AddMinutes(15); `
$ErrorActionPreference = 'Stop' ; `
$ProgressPreference = 'SilentlyContinue' ; `
while(!(Test-Path -Path $env:PSModuleAnalysisCachePath)) { `
Write-Host "'Waiting for $env:PSModuleAnalysisCachePath'" ; `
if((get-date) -gt $stopTime) { throw 'timeout expired'} `
Start-Sleep -Seconds 6 ; `
}"
CMD ["pwsh.exe"]
Installing Using PowerShell
Microsoft PowerShell and the .zip archive format are used to install Zen on Windows Nano Server or IoT Core. The following topics explain how to use these to install Zen.
Choosing a .Zip Archive for Installing
Depending on the operating system where you install, choose a .zip file from the following table.
Windows Platform
Zen Products Supported
.Zip Archive
Nano Server
Enterprise Server, Edge Server, Client, Client Reporting Engine
Install-Zen-Bundle-winuwp-x86_64-yy.yy.zzz.zzz.zip
IoT Core, x86
Enterprise Server, Edge Server
Install-Zen-Edge-Bundle-winuwp-x86_64-yy.yy.zzz.zzz.zip
IoT Core, ARM32
Enterprise Server, Edge Server
Install-Zen-Edge-Bundle-winuwp-arm32-yy.yy.zzz.zzz.zip
In the file name, yy.yy is a release number and zzz.zzz is a build number. See the file for its actual name.
A server installation includes the engine and client files and selected utilities. Client installations provide only files and utilities needed to support a client. Client Reporting Engine installations are the same as those on other Windows platforms.
Your installation is either a first time, with no previous version, or an upgrade to an existing installed version.
First-Time Installation on Windows Nano Server or IoT Core
For Nano Server, be sure to read Special Instructions Before Installing Nano Server in a Docker Container. After choosing a .zip file and copying it to the target system, proceed with the following steps. After completing them, see Windows Firewall Configuration.
To install using PowerShell
1. On the target system, start a PowerShell session as Administrator. On Nano Server you may use a dockerfile like the sample given under Special Instructions Before Installing Nano Server in a Docker Container.
2. Extract the installation .zip archive to a location accessible to the PowerShell session that will execute the installation script.
3. In the extracted files, run Install-Zen.ps1 with an argument to select the Zen product.
For Nano Server, the arguments are enterpriseserver, edgeserver, client, or reporting.
For IoT Core, the arguments are enterpriseserver or edgeserver.
Note: See information about Zen Edge Server on IoT Core after these steps.
The installation displays progress information in the console and creates a log file in the user's temp folder $env:temp. The name of the log file reflects the type of installation that was chosen: Zen_<type>_PowerShell_Install.log.
After installation, you can reclaim disk space by removing the .zip archive and its extracted files.
About Zen Edge Server on Windows IoT Core
An Edge Server installation is identical to the Enterprise Server installation except for the following:
License can be activated only on Universal Windows Platform (UWP) systems with 4 GB memory or less.
Applies the temporary license key in the file install_edgeserver.cfg.
Adds "INFO: Total Physical Memory : <size_in_bytes>" in the file Zen_EdgeServer_PowerShell_Install.log.
Windows Firewall Configuration
Zen installation for Windows Nano Server and Windows IoT Core systems requires that Windows Firewall rules allow communication through the firewall. These rules are not enabled by default. To enable them, run the PowerShell script Enable-ZenFirewallRules.ps1, which is included in a default Zen installation in C:\Program Files\Actian\Zen\bin. If needed, you can enter one of the following arguments to enable the rules only for the specified Windows Firewall profile:
domain
private
public
any (default)
The following example enables the firewall with the domain argument:
PS> & "C:\Program Files\Actian\Zen\bin\Enable-ZenFirewallRules.ps1" domain
If you enter no argument, then rules for all Windows Firewall profiles are enabled, the same as if you had entered the argument any. After the script is executed, it displays the current state of the rules for all profiles.
Upgrade Installation on Windows Nano Server or IoT Core
To upgrade an existing installed version of Zen on Windows Nano Server and Windows IoT Core, repeat the installation steps using a new .zip archive.
You do not need to redo changes made to Windows Firewall rules after the first installation.
After Installing on Windows Nano Server or IoT Core
The following topics may be useful after installation. Throughout the documentation, references to Zen Enterprise Server apply to installations on Windows Nano Server and IoT Core systems.
Server Configuration
All configuration settings for Zen Enterprise Server are available on Windows Nano Server and IoT Core. Generally, the default configuration settings are sufficient. For information on these settings, see Configuration Reference in Advanced Operations Guide.
Client Configuration
Basic configuration settings for installations of Zen Client are discussed in Setting Up Network Communications for Clients. For information on all client settings, see Windows Client Configuration Properties in Advanced Operations Guide.
Licensing
On both Windows Nano Server and IoT Core, Zen uses license keys instead of product keys.
Code Page Configuration on Windows IoT Core Systems
In the current release, the code page for a Zen installation on Windows IoT Core defaults to Western European 1252. You can change the code page using PowerShell. For example, if you want to change the setting to Microsoft Windows 932 for Japanese systems, use the following command:
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Nls\CodePage -Name ACP -Value 932
Common Questions After Installation
If you have problems with your installation, see Troubleshooting After Installation or get help online from the Zen knowledge base at the Actian website. The following are common questions after installation of the products:
How Can I Verify That the Database Engine is Running?
After the installation script finishes, you can verify that the database engine is running with the PowerShell Get-Service command. To do so, enter the following at a command prompt:
Get-Service -DisplayName "Actian Zen Enterprise Server"
If the engine is running, this command returns the following:
Status   Name           DisplayName
------   ----           -----------
Running  zenengine      Actian Zen Enterprise Server
If the server engine is stopped, you can use the following command to manually start it:
Start-Service -DisplayName "Actian Zen Enterprise Server"
The engine service starts automatically with the operating system. If you need to stop the service, use the following command:
Stop-Service -DisplayName "Actian Zen Enterprise Server"
After running this command, the Get-Service command returns the following:
Status   Name           DisplayName
------   ----           -----------
Stopped  zenengine      Actian Zen Enterprise Server
What Utilities Are Installed?
On Nano Server systems, Zen provides a subset of the command line utilities that are available in full installations. These utilities consist of the following:
bcfg
bmon
clilcadm
dbdefrag
pvnetpass
bdu
butil
clipaadm
pvddl
 
On IoT Core systems, the utilities consist of the following:
bcfg
bmon
clilcadm
dbdefrag
pvnetpass
bdu
butil
clipaadm
pvddl
 
Where Do Files Reside After Installing?
The following table lists the primary directories and files installed for Zen products on Windows Nano Server or IoT Core. The variable %ALLUSERSPROFILE% is used to determine the location of some files, while others default to C:\Program Files\Actian\Zen.
Location
File
Description
Installation
C:\Program Files\Actian\Zen
See description
License information in a file:
Windows Nano Server and IoT Core: EULA_en.rtf or EULA_Client_en.rtf
arm32: LICENSE
Enterprise Server, Client
C:\Program Files\Actian\Zen\bin
 
Binary files, executable utilities, and so forth
Enterprise Server, Client, Client Reporting Engine
%ALLUSERSPROFILE%\Actian\Zen\Demodata
 
Sample Zen database to create from a set of SQL scripts in a directory named restore
Enterprise Server
%ALLUSERSPROFILE%\Actian\Zen\samples
 
Sample Btrieve files, alternate collating sequence file and the DefaultDB system database
Enterprise Server
%ALLUSERSPROFILE%\Actian\Zen\.
dbnames.cfg
Master table of database names
Enterprise Server
%ALLUSERSPROFILE%\Actian\Zen\log
 
Transaction log files directory
Enterprise Server, Client, Client Reporting Engine
How Do I Access the Documentation?
No documentation is included in a Zen installation on Windows Nano Server or IoT Core. You may use the documentation installed with other Zen editions or posted on the Actian documentation website.
Where Are the Release Notes?
The release notes contain general information about the release, sometimes including late-breaking advice not yet covered in the user documentation. Although this document is not included in installations on Windows Nano Server or IoT Core, the Actian website posts the latest version.
Uninstalling on Windows Nano Server or IoT Core
Use the following steps to remove Zen from your system.
To remove Zen from Windows Nano Server or IoT Core
To remove Zen from the system, you use the script Uninstall-Zen.ps1. This script is located in the Zen bin folder C:\Program Files\Actian\Zen\bin. You should invoke it from a working directory located outside that path, as shown in the example used here.
1. On the system where Zen is installed, start a PowerShell session as Administrator.
2. Set the location as shown here:
PS> Set-Location c:\
Note:  If the script is invoked from a location that is in the Zen installation folder path, the Zen files and directories are not removed, and you must manually delete them after running the removal script.
3. Run the removal script.
PS C:\> & "C:\Program Files\Actian\Zen\Bin\Uninstall-Zen.ps1"
The script displays status information in the console and creates a log file in the user's temp folder $env:temp.
Removal is complete.
Last modified date: 10/31/2023