So for VDI think of it like a one to one mapping. Each user has a VDI machine or a pool of VDI machines. When you get into the user licensing part, typically it can be control by some admin portal the will say this username has the license. For Machine based licensing, It will license the whole machine as a whole no matter who logs in. Published apps are Remote Desktop Session Host in the grand scheme of thing. User licensing, can get tricky at time because its a share resource. But there are so many way to achieve this.