Salut,
Ton deuxième problème vient d'un mauvais choix technologique : si le but final est d'avoir un exécutable autonome sans déployer de "grosses dépendances" telles que le Framework .NET ou Java, il ne faut pas développer sur ces plateformes mais directement taper dans du C/C++ (ou tout autre language capable de sortir du binaire autonome, ciblant une plateforme particulière).
C'est un choix à faire dès le début.
De mémoire il existe des solutions de "linking" pouvant rendre plus ou moins autonome ton application, mais à mes yeux ce n'est pas viable.
Le volume à déployer sera peut être un peu moins important, mais au bout de plusieurs applications déployées sur la machine on va commencer à perdre de l'espace disque.
Derrière entrent aussi en jeu les problématique de mise à jour (sécurité etc) du Framework qui ne seront naturellement pas appliquées sur les éléments indépendants.
/*
coq
MVP Visual C#
CoqBlog
*/