DiKAS as a Virtual Machine on Windows¶
On an existing Windows PC, the DiKAS appliance in a virtual machine (VM) is usually the better alternative to the native Windows installation. Windows remains as the host, while DiKAS runs in a self-contained virtual machine with its ready-made operating system.
| Windows edition | Recommendation |
|---|---|
| Windows 11 Pro or Enterprise | Hyper-V — included in Windows and recommended for continuous operation |
| Windows 11 Home | Oracle VirtualBox — Hyper-V is not available on Windows Home |
Why the VM is recommended
The VM uses the same appliance as the finished DiKAS POS hardware. Operating system, database and DiKAS software come together from one image and are updated together. In addition, the POS does not collide with web servers or other software under Windows.
The native Windows installation makes sense if the PC has too little performance for a VM or locally connected special devices must be addressed directly by Windows.
What Is Needed¶
- a 64-bit PC with virtualization enabled in the BIOS/UEFI (Intel VT-x or AMD-V),
- at least 8 GB of memory in the PC, better 12 GB or more,
- 4 GB of memory, 2 processor cores and at least 32 GB of virtual hard disk for the VM; for continuous operation 64 GB is recommended,
- a network connection, preferably by LAN cable,
- the current DiKAS ISO download (currently approx. 1.1 GB),
- the installation key from the DiKAS customer account.
The Windows PC becomes the POS server
The PC must stay switched on during POS operation. Disable Windows's automatic sleep mode and set up automatic start of the VM. If Windows shuts down or the PC falls asleep, all connected POS stations are off as well.
Option A: Hyper-V on Windows Pro or Enterprise¶
1. Enable Hyper-V¶
- In the Start menu, search for "Turn Windows features on or off".
- Check Hyper-V including Hyper-V Platform and Hyper-V Management Tools.
- Confirm with OK and restart Windows.
If the entry is missing, first check the Windows edition under Settings → System → About. Windows Home does not include Hyper-V; use VirtualBox there.
2. Create an External Virtual Switch¶
For further registers, printers and payment terminals to reach the VM, it must appear like a separate computer in the local network:
- Open Hyper-V Manager.
- On the right, select Virtual Switch Manager.
- Select External → Create Virtual Switch and assign the name
DiKAS-Netzwerk. - Under External network select the physical network connection — if possible Ethernet, not Wi-Fi.
- Leave Allow management operating system to share this network adapter enabled and confirm with OK.
Do not use \"Default Switch\", internal or private
These networks separate the VM from the normal POS network or hide it behind Windows. Use an external switch for DiKAS. Otherwise additional registers and network devices will not find the server.
3. Create the Virtual Machine¶
- In Hyper-V Manager, select New → Virtual Machine.
- Name:
DiKAS. - Select Generation 2.
- Assign 4096 MB of memory. For well-predictable continuous operation, Use Dynamic Memory can stay switched off.
- As connection, select the previously created switch DiKAS-Netzwerk.
- Create a new, dynamically expanding VHDX of 64 GB (at least 32 GB).
- Select Install an operating system from a bootable image file and choose
dikas.iso. - Complete the wizard. Then under Settings → Processor set 2 virtual processors.
Hyper-V pitfall: Generation 2 needs Secure Boot OFF
Before the first start, open Settings → Security and remove the tick at Enable Secure Boot. The DiKAS ISO is not signed with a Microsoft Secure Boot key. If Secure Boot stays on, Hyper-V reports for example that no operating system was loaded, or the VM keeps returning to the firmware.
The right combination is: Generation 2 + Secure Boot off.
4. Install DiKAS¶
- Start the VM and select Connect.
- In the boot menu select DiKAS Install.
- The installation runs automatically and uses exclusively the previously created virtual hard disk. Afterwards the VM restarts.
- After the restart, eject the ISO file under Settings → SCSI Controller → DVD Drive. Otherwise the VM may boot from the installation medium again at the next start.
- In the DiKAS interface select Install POS and enter the installation key.
\"DiKAS Install\" erases the installation target
The automatic installation route formats the virtual hard disk without further confirmation. With a newly created VM this is intended. Do not attach any other virtual hard disk to the VM.
5. Set Up Automatic Start¶
- Hyper-V Manager → right-click DiKAS → Settings.
- Under Automatic Start Action select Always start this virtual machine automatically; a delay of 30 seconds makes sense.
- Under Automatic Stop Action select Shut down the guest operating system.
Then DiKAS starts even if Windows was restarted after an update and nobody has logged in yet.
Option B: VirtualBox on Windows Home¶
Hyper-V cannot be enabled on Windows Home. Install the current Oracle VirtualBox version there. During installation, leave the component Network/Bridged Networking enabled. An additional VirtualBox Extension Pack is not needed for DiKAS.
Do not set up both systems in parallel
If Hyper-V is already active, Hyper-V should also be used on this computer. VirtualBox can run via the Windows hypervisor, but performance may drop significantly.
1. Create the Virtual Machine¶
- Open VirtualBox and select New.
- Name:
DiKAS; ISO image: the downloadeddikas.iso. - Select type Linux, version Arch Linux (64-bit).
- If offered, skip unattended installation. The DiKAS ISO takes care of the setup itself.
- Assign 4096 MB of memory and 2 processors.
- Create a new, dynamically allocated VDI hard disk of 64 GB (at least 32 GB).
The normal BIOS start of VirtualBox is sufficient. EFI does not have to be enabled.
2. Configure the Network Bridge¶
- Select the powered-off VM and open Settings → Network → Adapter 1.
- Check Enable Network Adapter.
- For Attached to select Bridged Adapter.
- Under Name select the physical network connection of the Windows PC — if possible Ethernet.
- Leave Cable Connected enabled.
Do not use the default NAT
NAT is enough for internet access from the VM but hides the DiKAS server from other devices in the POS network. For DiKAS, Bridged Adapter is the right setting.
3. Install DiKAS¶
- Start the VM and select DiKAS Install in the boot menu.
- Wait until the installation is complete and the VM restarts.
- Via Devices → Optical Drives remove
dikas.isofrom the virtual drive. - In the DiKAS interface select Install POS and enter the installation key.
Here too: DiKAS Install formats the virtual hard disk without further confirmation.
4. Start After a Windows Restart¶
Without additional setup, VirtualBox does not start the VM automatically. For a single POS station it can be opened after Windows login in the VirtualBox Manager with Start. Without an open console window it runs with:
For an automatic start via the Windows Task Scheduler:
- In the Start menu open Task Scheduler and select Create Task on the right.
- Name
DiKAS VM starten; check Run whether user is logged on or not and Run with highest privileges. The same Windows account with which the VM was created must be entered as the user. - Under Triggers → New select At startup and set a delay of 30 seconds.
-
Under Actions → New → Start a program enter:
- Program:
C:\Program Files\Oracle\VirtualBox\VBoxManage.exe - Arguments:
startvm "DiKAS" --type headless - Start in:
C:\Program Files\Oracle\VirtualBox
- Program:
-
Save the task, restart Windows and check in the VirtualBox Manager whether
DiKASappears as Running.
Check after every Windows update
After a restart, check that the VM is really running before POS operation begins. For an unattended server, Hyper-V on Windows Pro/Enterprise is the more robust choice.
Opening the POS in the Network¶
Through the external switch or the network bridge, DiKAS gets its own IP address from the router. On the Windows PC or another device, open:
On the first connection a certificate warning appears, because the local appliance creates its certificate itself. Confirm it once. Then reserve the IP address of the VM in the router so that client registers can reach it permanently at the same address.
With Hyper-V, the following PowerShell command shows the addresses reported by the guest:
Alternatively, the VM is in the router's device list. Next come Activating the License and First Login.
Connecting a Hardware TSE (USB Stick) to the VM¶
Hyper-V (and likewise VirtualBox without an additional package) cannot pass a USB stick plugged into the PC directly through to the virtual machine. A hardware TSE (Swissbit USB stick) is therefore connected over the network: the Windows PC shares the stick via USB/IP, the DiKAS VM connects to it and sees it like a directly plugged-in stick.
When do I need this?
Only with a hardware TSE (Swissbit USB stick). With the cloud TSE (fiskaly) no pass-through is needed; it runs over the internet. Network printers and ZVT terminal are set up directly via their IP address.
Total duration: about 15 minutes. Administrator rights on the Windows PC are required.
What Is Needed¶
- Windows 10 or 11 (64-bit) or Windows Server 2019 or newer, with a running DiKAS VM (see above),
- the VM is attached to the external switch (Hyper-V) or the network bridge (VirtualBox), so that it reaches the Windows PC in the network,
- the TSE stick is plugged into the Windows PC,
- internet access for the download.
Step 1: Fixed IP Address for the Windows PC¶
DikasArch remembers the IP address of the Windows PC. If it changes, the VM no longer finds the stick. The PC should therefore always have the same address.
- On the Windows PC, type Windows key → "PowerShell" and open it.
- Enter
ipconfigand note the IPv4 address of the LAN adapter, for example192.168.1.20. - In the router, set up a fixed address (DHCP reservation) for this PC. The name differs by router; the item is often called Fixed IP, IP reservation or Static DHCP assignment.
If a virtual switch is set up
With an external switch, Windows usually uses an adapter called vEthernet (DiKAS-Netzwerk). Its IPv4 address is the right one — not that of the "Ethernet" card.
Step 2: Install the USB/IP Program on the Windows PC¶
usbipd-win is needed.
Do not download \"usbip-win2\"
usbip-win2 is only the counterpart for attaching devices and cannot share anything. For the Windows PC with the stick, usbipd-win is needed.
Option A: Download the installer
- Open Download usbipd-win.
- On the page under Assets, click the file
usbipd-win_x.y.z_x64.msi(x.y.zis the current version number). - Start the downloaded file with a double-click and confirm the installation with Next → Install. Confirm the Windows prompt (User Account Control) with Yes.
Option B: Installation by command
- Open PowerShell as administrator: Windows key, type "PowerShell", right-click → Run as administrator.
- Enter:
Then restart the PC and open PowerShell again as administrator.
The installation sets up the Windows service usbipd and a suitable firewall rule for the local network. Check:
The Status column must show Running.
Step 3: Find the TSE Stick¶
In the administrator PowerShell enter:
The output looks similar to this:
Connected:
BUSID VID:PID DEVICE STATE
1-4 046d:c52b USB-Eingabegerät Not shared
2-3 1370:0505 Swissbit USB Stick Not shared
You recognize the Swissbit TSE by its VID:PID 1370:0505. The BUSID in the first
column (here 2-3) is needed in the next step.
The stick is missing from the list
Unplug the stick, wait 10 seconds, plug it into a USB port directly on the PC (not via a
hub) and repeat usbipd list.
Step 4: Share the TSE¶
Insert the BUSID from step 3:
To check, run usbipd list again: the stick's row must now show
Shared.
- This is one-time: the share is preserved even after a restart of Windows.
- An "attach" on the Windows PC is not necessary — attaching happens in DikasArch.
Step 5: Connect the TSE in DikasArch¶
- Open the DikasArch interface of the VM in the browser:
https://<IP-Adresse-der-VM>(the address is stated above under "Opening the POS in the Network"). - At the top right select the gear icon, then USB / IP.
- In the field Server IP enter the IP address of the Windows PC from step 1.
- Select Search devices. The Swissbit stick appears under Available devices.
- For the stick, select Connect.
- Under Connected devices the stick must now appear with a port. The button Connect then shows Connected.
DikasArch loads the necessary module, mounts the stick and remembers the connection. After a restart of the VM, DikasArch restores it automatically. In DiKAS the TSE can then be set up as described under TSE.
The stick is now in the VM
As long as it is connected to the VM, the stick is no longer available under Windows. It also does not appear there in Explorer.
Continuous Operation and Maintenance¶
| Situation | What to do |
|---|---|
| Windows or VM is restarted | nothing — the connection is restored automatically |
| The stick is plugged into a different USB port | The BUSID changes: repeat steps 3 and 4, then reconnect in DikasArch |
| The IP of the Windows PC changes | In DikasArch under USB / IP enter the new IP and reconnect; better set up a fixed address as in step 1 |
| The stick is to be used under Windows again | In DikasArch Disconnect, then on the Windows PC usbipd unbind --busid 2-3 |
Troubleshooting¶
| Observation | Cause and solution |
|---|---|
| Search devices shows nothing or an error | The Windows PC is not reachable. Check: correct IP (step 1), service usbipd running (Get-Service usbipd), VM on the external switch, stick is Shared (usbipd list) |
| The search finds the computer but no devices | The stick is not shared: repeat step 4 |
| The connection only works without a firewall | An additional security software blocks TCP port 3240. Set up an exception there for incoming connections from the local network |
| After a power failure the TSE is missing | Windows was not yet ready when the VM started. In DikasArch under USB / IP, Connect the stick again |
The stick shows as Attached in usbipd list, but is missing in DikasArch |
Check in DikasArch under Connected devices and if necessary Disconnect and Connect again |
In continuous operation
For productive continuous operation, the real POS hardware (mini PC with directly plugged-in TSE stick) or the cloud TSE is the more robust choice. The USB/IP pass-through is mainly suitable for test and transitional setups.
More on choosing devices: Hardware & Peripherals and TSE.
Common Errors¶
| Symptom | Cause and solution |
|---|---|
| Hyper-V reports that no operating system was loaded | Run the VM as Generation 2 and switch Secure Boot off under Security |
| The VM has no network | In Hyper-V connect the adapter to the external switch; in VirtualBox select Bridged Adapter instead of NAT |
| Other registers do not find DiKAS | Check the network bridge, look up the IP in the router and test https://<VM-IP> in the browser |
| The hardware TSE is not found in DikasArch | Section "Connecting a Hardware TSE to the VM", subsection Troubleshooting |
| After a Windows restart the POS is off | Set up the automatic start action in Hyper-V or the VirtualBox autostart |
| The installation starts again and again | Remove the ISO from the virtual DVD drive and set the virtual hard disk to the first boot position |
| The VM is suddenly not reachable | Disable Windows power saving mode and check whether the host PC and the VM are running |
Vendor Help¶
- Install Hyper-V (Microsoft)
- Create an external virtual switch (Microsoft)
- usbipd-win for TSE sharing (Windows)
- VirtualBox Manual (Oracle)
Related pages: DiKAS on Windows · Installation & Deployment · Operating Modes · Backup & Restore