2013-03-11 6 views
0

J'utilise InstallShield 2010 pour construire un programme d'installation pour notre produit (oui, je sais qu'il est obsolète et j'essaie d'obtenir la mise à jour mais pour l'instant c'est ce que j'ai).Création provisoire d'un dossier dans InstallShield 2010

L'une des choses que le programme d'installation doit faire est de créer un répertoire pour stocker des données. Mais je veux seulement créer ce répertoire si une certaine combinaison de fonctionnalités est sélectionnée (fondamentalement, une fonctionnalité devrait être sélectionnée et deux autres ne devraient pas).

J'ai créé le dossier dans la vue Fichiers et dossiers, mais je ne vois pas comment le créer de façon conditionnelle. J'ai essayé d'associer le composant à la fonctionnalité qui doit être sélectionnée et de définir comme condition du composant que les deux autres fonctionnalités ne soient pas sélectionnées, mais cela n'a pas fonctionné. Le dossier est toujours créé chaque fois que la fonction associée est sélectionnée, que les deux autres fonctions soient sélectionnées ou non. Je suppose que je pourrais le créer dans une instruction if en utilisant InstallScript, mais je préfère le faire à partir de l'interface graphique InstallShield, si possible.

Répondre

4

Je ne pense pas que ce soit possible. Les FeatureStates ne sont pas évalués avant l'établissement des coûts et, à ce stade, la liste des composants est définie.

Vous devez le faire dans une action personnalisée; soit installscript, vbscript, MSI Dll, etc. et utilisez les états de fonctionnalité qui vous intéressent comme condition de l'action personnalisée.

+0

Merci. Le mettre dans une action personnalisée avec des conditions travaillées. –

Questions connexes