La solution que vous recherchez, vous la connaissez déjà, même si vous ne l'aimez pas : créer Utilisateur comptes à utiliser par le "client .
Si vous ne faites pas confiance au client avec le pouvoir d'une Administrateur ne leur en donnez pas.
Dans un commentaire à une autre réponse, vous avez donné plus de détails sur ce que vous envisagiez :
Pour être clair. J'essaie de reproduire ce que fait mon antivirus. J'ai mis un mot de passe et je ne peux pas le désinstaller sans le mot de passe que j'ai mis. J'aimerais juste qu'il y ait un moyen de faire cela pour d'autres programmes.
Windows n'offre pas cette fonctionnalité. C'est pourquoi le programme antivirus doit assurer lui-même ce niveau de contrôle. Si Windows disposait d'un tel contrôle, l'antivirus utiliserait simplement ce qui est disponible et économiserait de nombreuses heures de programmation.
Tant que le client a accès au compte administrateur, il peut faire tout ce qu'il veut dans le système. Sauf réparer les dégâts qu'il a causés, bien entendu.
La seule autre chose que vous puissiez faire est de supprimer le programme d'installation/désinstallation du programme en question. Supprimez-le complètement ou déplacez-le dans un endroit moins évident que son répertoire d'origine.
Quoi qu'il en soit, tout ce que vous ferez et tout ce que vous essaierez ne fera que les ralentir, et non les arrêter, tant qu'ils ont le mot de passe du compte administrateur.
En outre, personne ne doit "utiliser" un ordinateur à partir du compte administrateur. Pas même vous sur votre propre ordinateur. Quand en utilisant l'ordinateur, vous devriez être dans un Utilisateur compte. Lorsque l'on fait l'administration à l'ordinateur, c'est le moment d'être dans l'espace de travail. Administrateur compte. Et, s'il n'y a pas de différents sur le compte Admin, l'UAC n'est rien d'autre qu'une perte de temps (et un clic supplémentaire), n'offrant pas plus de protection que l'utilisation de l'ordinateur à partir du compte Admin de toute façon.