2014-09-18 2 views

Répondre

0

Pour la génération de MsiTran.exe disponible. Vous l'obtenez, lors de l'installation du SDK Windows (ou inclus dans Visual Studio). Avec msitran -g, vous pouvez facilement générer des transformées. Avec msitran -a, vous pouvez facilement appliquer des transformations, par ex. en lots ou en scripts, bien sûr aussi ces transformations que vous avez créées avec InstallShield ou d'autres outils.

Comme tout dans MSI, les paramètres MsiTran sont assez bien documentés. Rechercher de la documentation sur Internet (MSDN) pour cet outil. Il est à noter, qu'en dépit de la croyance populaire contraire, vous pouvez définir des transformations indépendamment de ProductCode, UpgradeCode, etc. Cela permet d'utiliser ce .mst comme un "diff" général ou en d'autres termes une édition automatique .

Vous pouvez simplement ajouter les lignes et les colonnes dans MSI dont vous avez besoin pour un exemple MSI de votre choix (mieux est un petit simple), appliquer MsiTran qui prend la différence de "MSI original" et "MSI édité", et enregistre le résultat dans une transformation. Cela peut servir de "modèle" pour tous les autres MSI, si vous avez utilisé les paramètres corrects.

(Techniquement ces diffs sont commannds SQL/requêtes pour la base de données MSI, mais cela ne devrait pas déranger la plupart du temps.)

La deuxième chose importante à mentionner est, qui transforme contiennent la configuration d'erreur. Par exemple. Si vous ajoutez une propriété par une transformation et que la propriété existe déjà, une erreur peut être renvoyée ou non. Je veux éviter de telles erreurs dans la plupart des cas, car par ex. il est possible d'appliquer une transformation une seconde fois sans erreur. Mais d'un autre côté, ils peuvent donner un bon test, si votre MSI est comme ce que vous attendiez. La configuration d'erreur peut également être définie par des paramètres de ligne de commande documentés.

Comme mentionné précédemment, vous pouvez créer, afficher et éditer des transformations bien sûr avec des outils graphiques tels que InstallShield ou Insted.

Les modifications intelligentes pour lesquelles vous souhaitez modifier certains champs en fonction de conditions logiques ne sont pas directement possibles avec les transformations. Pour cela, vous pouvez utiliser la programmation classique. La plupart des admins à cela avec des langages de script comme VBS ou JScript, etc. Beaucoup d'exemples là-bas.

Questions connexes