2010-12-08 8 views
0

L'interface utilisateur personnalisée appelle un service Web. Si le service Web approuve l'installation continue, un message s'affiche pour indiquer que l'installation ne peut pas continuer.C# msi setup - Validation personnalisée avant l'installation

Utilisation de projets d'installation et de déploiement Visual Studio. Je ai essayé d'ajouter une action personnalisée, mais il exécute toujours après le processus d'installation.

Comment dois-je procéder?

+0

Vous ne pouvez pas faire cela sans changer votre MSI dans ORCA et déplacer l'appel à l'action personnalisée avant de copier des fichiers ... en quelque sorte. Pour être honnête, c'est l'une des nombreuses raisons pour lesquelles j'ai tendance à rester loin des projets de déploiement dans VS. Cela ne fonctionne que dans des cas triviaux. –

+0

VS projets d'installation sont très limités dans ce qu'ils peuvent faire. De nombreuses équipes de développement examinent souvent d'autres solutions d'installation telles que installshield. – jlafay

Répondre

1

Je suppose que le service Web valide la clé de licence entrée lors de l'installation. Pourriez-vous effectuer la validation des clés lors de la première exécution du programme? Cela pourrait vous éviter des maux de tête. A défaut, regardez l'événement BeforeInstall de la classe Installer. Ceci s'exécute après que toutes les informations sont rassemblées, mais avant que l'installation réelle commence; l'endroit idéal pour mettre du code à exécuter avant de copier des fichiers. Si vous avez besoin de ces fichiers ou de toute autre configuration pour appeler le service Web, essayez d'utiliser BeforeCommit (ce qui vous permet toujours d'annuler l'installation si la validation échoue).

+0

Eh bien FirstRuns sont assez difficiles à programmer. Je veux rester loin du registre et les fichiers de configuration peuvent être facilement modifiés. –

Questions connexes