Ok, há vários cartazes aqui dizendo que você precisa saber mais antes de tentar isso ...
Eu discordo totalmente.
Na verdade, é realmente simples colocar uma VM em uma unidade e inicializá-la em um cliente. Eu fiz isso com as VMs do Windows Hyper V. Muitas empresas fazem isso. Eu pessoalmente nem me dou ao trabalho de “exportar / importar” - eu simplesmente pego o disco rígido virtual (que é apenas um arquivo, então leve-o em um dispositivo USB, drive RDX, drive USB ou qualquer outro) e configure-o como uma nova máquina virtual no servidor de clientes, unindo-a ao seu domínio.
Eu acho que a questão da segurança é uma pista falsa. Os clientes do setor de pequenas e médias empresas que confiam em você para trabalhar para eles provavelmente dirão "uh ... o servidor está lá" e deixarão você prosseguir. Estou falando como alguém cuja empresa é certificada para segurança da informação (ISO 27001) e nunca é questionada sobre isso.
Em um ambiente Windows, você terá que pensar se o licenciamento de seu cliente cobre a máquina virtual. Do ponto de vista do licenciamento, o autor que sugeriu o vApp no ESXi pode estar envolvido em algo.
Se você já escreveu um aplicativo que o cliente deseja, você realmente não vai achar que distribuí-lo como uma VM seja tecnicamente desafiador. De forma sensata, você sempre entregará produtos a um cliente com um contrato legal em vigor e pode valer a pena adicionar uma cláusula dizendo que você não é responsável pela VM se tornar um vírus carregado de hulk porque seu cliente não o corrigiu como parte de seu ambiente regime de gestão. Cuide disso e apenas vá em frente.