2017-07-06 9 views
0

J'essaie de faire une validation à l'intérieur de la méthode OnBeforeInstall & si le processus de validation continue pendant le processus d'installation, si la validation a échoué, je veux annuler et désinstaller l'installation.Projets d'installation de Visual Studio 2015

J'ai essayé quelque chose comme ça, même si c'est un succès, cela m'a donné quelques exceptions lors de la restauration.

if(validation){ 
} 
else{ 
    base.RollBack(savedState); 
} 

Exception - savedState ne contient pas les valeurs obligatoires ou est corrompu.

S'il vous plaît aidez-moi à le faire sans exception.

Répondre

0

Ce n'est pas vraiment comment provoquer un MSI généré par Visual Studio à restaurer. Vous lancez une exception InstallException et cela entraîne une annulation.

OnBeforeInstall n'est pas réellement "avant" l'installation. Toutes les actions personnalisées d'installation de Visual Studio sont appelées après que tous les fichiers sont déjà installés (malgré le nom), de sorte que la restauration désinstalle réellement tout. Si vous validez les entrées (ou certaines conditions de pré-installation), c'est plutôt hostile.