2009-09-23 8 views

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.)

+0

Est-ce possible de passer ces remplacements à la ligne de commande, au lieu de coder en dur dans le fichier isproj? – JohnZaj

+0

@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'. –

Questions connexes