2010-08-22 7 views
2

Dans le cadre de notre build nocturne sur Windows, un package d'installation est créé à l'aide de NSIS. Je voudrais tester automatiquement "l'exactitude" de l'installateur.Existe-t-il des outils pour tester les packages d'installation?

Cela pourrait être des choses comme:

  • Contrôle la plate-forme de fichiers dll.
  • Vérification du dossier d'installation.
  • Le test de la fonction de désinstallation ne laisse aucun fichier derrière.
  • La vérification des clés de registre est créée au bon endroit.

Existe-t-il des outils ou des techniques qui pourraient m'aider à atteindre cet objectif?

Répondre

1

Nous utilisons des machines VMware pour cela (toute autre machine virtuelle fonctionne également). Avec http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx pour voir les modifications du système faites par lui.

Cependant, il s'agit d'un processus semi-automatique. Je suppose que cela peut être entièrement automatisé, mais nous n'en avons pas besoin.

+0

pouvez-vous élaborer sur votre deuxième paragraphe? Exécutez-vous votre programme d'installation dans une machine virtuelle et regardez les résultats de Process Monitor? – ngoozeff

+0

Exactement. Avec le moniteur de processus, nous vérifions que (seulement) les bons endroits sont modifiés lors de l'installation et de la désinstallation. Mais comme je l'ai dit, c'est un processus semi-automatique. Nous ne le faisons pas tous les jours, mais uniquement avec des versions bêta et versions publiques (environ 1-2 mois). – Ruby8848

3

Je ne pense pas que les VM ou les processus automatisés pour pousser le paquet vers la VM est une réponse en soi. Le vrai problème ici est «Comment savez-vous que le produit intégré/déployé fonctionnera? Je pense que la seule réponse à cette question à ce stade serait d'avoir des processus automatisés pour tester l'application elle-même dans l'état déployé.

+0

Vous faites un certain nombre de bons points. Mais il y a un certain nombre de cas où l'application fonctionnera quand elle ne devrait pas, par exemple WoW64. En outre, l'application se soucie généralement si elle peut être désinstallée correctement ou non. – ngoozeff

+0

True. Windows Installer a le concept de validation. Il n'exécute pas réellement l'installateur, il vérifie simplement la base de données MSI pour des problèmes en utilisant une série d'ICE (tests unitaires). Je dirai dans mon expérience que la nature déclarative de MSI se prête à un comportement très prévisible. Surtout si vous évitez d'écrire des actions personnalisées et lancez votre validation. –

+0

Néanmoins, cette validation ne répond pas à la question de savoir si cela fonctionnera? est-ce que j'ai déployé les bonnes choses? Je n'ai pas encore trouvé une solution simple à ce problème. –