Je construis un projet InstallShield en utilisant les cibles InstallShield MSBuild. J'ai lutté avec l'écrasement des variables de chemin. Rien de ce que je fais ne semble être récupéré par la version InstallShield. Le help page n'était pas très utile.Comment remplacer les variables de chemin InstallShield lors de la construction avec MSBuild?
1
A
Répondre
6
Il y a quelques pièges qui ne sont pas abordés dans la documentation. Dans votre fichier .isproj, placez vos remplacements de chemins dans un groupe de pièces comme ça. L'article doit être nommé « InstallShieldPathVariableOverrides » et contient un élément « PathVariable » .:
<!-- Override Path Variables for the project -->
<ItemGroup>
<InstallShieldPathVariableOverrides Include="$(AnMSBuildVariable)\Win32\Installer">
<PathVariable>MY_BUILD_PATH</PathVariable>
</InstallShieldPathVariableOverrides>
<InstallShieldPathVariableOverrides Include="$(AnMSBuildVariable)\Win32\Installer\Reports">
<PathVariable>MY_REPORTS_PATH</PathVariable>
</InstallShieldPathVariableOverrides>
</ItemGroup>
En outre, si vous avez des variables de chemin enfants qui incluent un chemin surchargée, vous devez emporter sur ceux qui sont trop: le inheritence gagné Ne prenez pas la priorité héritée. (Voir l'exemple, la variable de chemin d'origine peut avoir défini MY_REPORTS_PATH comme MY_BUILD_PATH \ Reports mais elle doit être explicitement substituée.)
Questions connexes
- 1. Comment remplacer les indicateurs de compilation de perl lors de la construction de modules?
- 2. Points dans les variables? VC9 donne des erreurs d'analyse lors de la construction de beecrypt
- 3. MSbuild construit dans les variables
- 4. comment configurer les répertoires MSBuild VC++
- 5. Comment remplacer l'extension d'un chemin de fichier stocké dans une propriété MSBuild?
- 6. Comment créer par programme la tâche InstallShield msbuild sur win2008 x64?
- 7. Erreurs de liaison lors de la construction avec Core Plot
- 8. Team Foundation Server Variables de construction
- 9. sgen.exe échoue lors de la construction
- 10. Comment déterminer la version de FLASH avec InstallShield 2009
- 11. Pourquoi mes variables de session ne sont pas disponibles lors de la construction d'un contrôleur?
- 12. Exclusions/inclusions de chemin de construction Eclipse
- 13. Liste des variables intégrées MSBuild
- 14. msbuild: lorsque le projet de construction est Microsoft.VisualBasic.Targets 'importé' par msbuild?
- 15. MSBuild pré-construction à jour AssemblyInfo non synchronisé avec les exe
- 16. Comment afficher les progrès de la construction Ant?
- 17. Dépendances manquantes lors de la construction de CruiseControl
- 18. Ruby chemin de recherche différent sur deux boîtes avec la même construction de rubis?
- 19. InstallShield installateur différentiel avec InstallShield intégré redistribuable objet
- 20. construction de noms de variables javascript à l'exécution
- 21. MSBuild - Importations dépendantes de cibles
- 22. construction de chemin de cache Firefox Mac OS X
- 23. Intégration de Wix avec MSBuild
- 24. où se trouve le journal de construction lors de la construction d'un projet de château avec nant?
- 25. Automatisation de la construction locale?
- 26. La construction de CruiseControl.net échoue même si la tâche MSBuild réussit
- 27. Changement de chemin pour l'étape de construction personnalisée
- 28. Comment faire pour mettre à jour les informations de version avec une nouvelle version et révision lors de la construction?
- 29. MSBuild speedup: comment supprimer les builds de projet inutiles?
- 30. Comment me débarrasser de .. Remplacer (Remplacer (Remplacer (Remplacer (Remplacer (...?
Est-ce possible de passer ces remplacements à la ligne de commande, au lieu de coder en dur dans le fichier isproj? – JohnZaj
@jJack - l'exemple ci-dessus n'est pas codé en dur, il utilise la variable '$ (AnMsBuildVariable)' que vous pouvez spécifier sur la ligne de commande avec '/ p: AnMsBuildVariable = XYZ'. –