Perso, je ferais pas ça au moment du déploiement, mais dans le code de l'appli elle-même.
Pour une raison simple : avoir une déploiement déterministe
Ensuite c'est à la désintall que tu vas te prendre la tête : faut-il supprimer ce fichier ou seulement si il a été créé par l'install ?
Tout ce que je sais sur les projets de déploiement de VS.Net, c'est que le kit de base est assez simpliste (traduire : pourri), et qu'il faut acheter le kit InstallShield pour avoir une chance d'avoir qqch de plus 'pro'. Les fois où je m'en suis servi, j'ai fais des trucs très simples, parce que quand j'ai voulu faire compliqué, je me suis arraché les cheveux et ça n'a pas marché...