With a bit of luck, I managed to make it work but I need a patch in PVE.
I explain everything, hoping to be helpful to others.
After mounting Dell's Win2016 ISO, and mounting sources/install.wim with wimtools, I opened the windows\system32\rok.vbe file using
https://master.ayra.ch/vbs/vbs.aspx (online vbe decoder).
In the rok.vbs file I found that the error was in reading the value OEMStringArray.
I found out, using a win livecd in a vm, that that value is indeed empty, while in the host it contains some string values. These values are NOT used to check the license, it only need not to be empty.
Here I found that the value OEMStringArray is supported by qemu, using -smbios type=11. Starting kvm directly, with the next commandline, made it work (see last two lines):
/usr/bin/kvm \
-id 100 \
-name x \
-chardev socket,id=qmp,path=/var/run/qemu-server/100.qmp,server,nowait \
-mon chardev=qmp,mode=control \
-chardev socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5 \
-mon chardev=qmp-event,mode=control \
-pidfile /var/run/qemu-server/100.pid \
-daemonize \
-smp 1,sockets=1,cores=1,maxcpus=1 \
-nodefaults \
-boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg \
-vnc unix:/var/run/qemu-server/100.vnc,x509,password \
-no-hpet \
-cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,hv_spinlocks=0x1fff,hv_vapic,hv_time,hv_reset,hv_vpindex,hv_runtime,hv_relaxed,hv_synic,hv_stimer,enforce \
-m 8192 \
-device pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e \
-device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f \
-device vmgenid,guid=c8271096-79e8-4548-b013-8bc84571bf9f \
-device piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2 \
-device usb-tablet,id=tablet,bus=uhci.0,port=1 \
-device VGA,id=vga,bus=pci.0,addr=0x2 \
-iscsi initiator-name=iqn.1993-08.org.debian:01:fe16a6772e8 \
-drive file=/var/lib/vz/template/iso/WIN_2016_ROK.iso,if=none,id=drive-ide0,media=cdrom,aio=threads \
-device ide-cd,bus=ide.0,unit=0,drive=drive-ide0,id=ide0,bootindex=200 \
-drive file=/var/lib/vz/template/iso/virtio-win.iso,if=none,id=drive-ide2,media=cdrom,aio=threads \
-device ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=201 \
-drive file=/var/lib/vz/images/100/vm-100-disk-0.qcow2,if=none,id=drive-virtio1,format=qcow2,cache=none,aio=native,detect-zeroes=on \
-device virtio-blk-pci,drive=drive-virtio1,id=virtio1,bus=pci.0,addr=0xb \
-netdev type=tap,id=net0,ifname=tap100i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown \
-device e1000,mac=FA:77:A8:4F:53:F1,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300 \
-rtc driftfix=slew,base=localtime \
-machine type=pc \
-global kvm-pit.lost_tick_policy=discard \
-smbios type=11,value=x \
-smbios type=1,uuid=94af935d-c66a-4224-a83e-855b8f00865d,manufacturer=Dell\ Computer\ Corporation
The started vm is manageable by proxmox. After win install, the -smbios type=11 is not needed anymore, but the -smbios type=1 can't be edited in webgui because it contains spaces, which are not allowed.
So I edited /etc/pve/qemu-server/100.conf manually:
balloon: 0
bootdisk: ide0
cores: 1
ide0: local:iso/WIN_2016_ROK.iso,media=cdrom,size=7897440K
ide2: local:iso/virtio-win.iso,media=cdrom,size=309208K
memory: 8192
name: x
net0: e1000=FA:77:A8:4F:53:F1,bridge=vmbr0
numa: 0
ostype: win10
scsihw: virtio-scsi-pci
smbios1: uuid=94af935d-c66a-4224-a83e-855b8f00865d,manufacturer=Dell\ Computer \Corporation
sockets: 1
virtio1: local:100/vm-100-disk-0.qcow2,size=32G
vmgenid: c8271096-79e8-4548-b013-8bc84571bf9f
I need two patches from Proxmox:
1) allow spaces in smbios input fields (and replace with "\ " in conf files)
2) allow all smbios types supported by qemu
Stefano