Est-ce que quelqu'un sait comment faire d'InstallAware une restauration d'une base de données lorsque l'utilisateur clique sur 'Annuler'? Contrairement à InstallShield, je ne vois aucun moyen de spécifier quand des scripts individuels s'exécutent.Restauration d'une base de données InstallAware
Répondre
Je ne pense pas que InstallAware serait en mesure d'annuler une transaction de base de données. Je n'ai vu aucune prise en charge intrinsèque pour les annulations SQL Server dans leur commande MS SQL Server. Vous devrez coder votre propre script de restauration, si c'est possible.
Il y a généralement une section dans le MSICode qui a un bloc IF si l'utilisateur annule l'installation pendant les dialogues initiaux. Cela ressemble à ceci:
if variable WIZARD Equals CANCEL
Terminate Installation
end
Cela se produit avant que le moteur Windows Installer effectue réellement l'installation. Si vous n'avez pas exécuté vos scripts de base de données, aucune action n'est requise. Si vous avez appliqué des scripts de base de données avant ce point, vous devrez fournir un script de restauration (si possible) et l'exécuter dans ce bloc, mais avant de terminer l'installation.
Si vous annulez l'installation pendant l'installation, vous aurez une autre chance d'annuler vos modifications. Lorsque l'utilisateur appuie sur le bouton d'annulation pendant l'exécution du processus d'installation (c'est-à-dire après que l'utilisateur a effectué des sélections), la variable InstallAware SUCCESS est définie sur CANCEL. Vous pouvez vérifier cette condition et exécuter votre script de restauration. Il y a généralement un bloc de code qui fait des choses différentes en fonction de la valeur de SUCCESS, vous pouvez y ajouter votre code.
Vous pouvez toujours faire de votre script SQL la dernière commande exécutée par InstallAware dans le cadre de l'installation. Cela éliminerait la nécessité de gérer l'annulation.
Vous êtes sûr que cela ne se fait pas automatiquement par magie? InstallAware semble faire des choses géniales par moments, et je me demande si elles font ce qui revient à une restauration bizarre. –