Coût des fichiers
Le coût est le processus de détermination de l’espace disque total requis pour une installation. Les éléments calculés dans le processus de coût des fichiers incluent la quantité d’espace disque dans lequel les fichiers sont installés ou supprimés, ainsi que la quantité d’espace disque pris en charge par les entrées de Registre, les raccourcis et d’autres fichiers divers. Les fichiers existants planifiés à remplacer sont également calculés dans les totaux des coûts de disque.
Les coûts totaux sont cumulés par composant et se composent de trois parties distinctes : coûts locaux, coûts sources et coûts de suppression. Ces parties correspondent au coût du disque qui est engagé si le composant est installé localement, installé pour s’exécuter à partir du média source ou supprimé.
Tous les calculs impliquant le coût d’installation des fichiers dépendent du volume de disque auquel le fichier doit être installé ou supprimé. Chaque fois que le répertoire associé à un composant change, les coûts des fichiers d’installation contrôlés par ce composant doivent être recalculés. Par exemple, étant donné qu’une modification de répertoire peut également impliquer une modification de volume, les tailles de fichier en cluster doivent être recalculées. De plus, le nouveau répertoire doit être vérifié pour déterminer si les fichiers existants qui peuvent être remplacés doivent être pris en compte.
Une fois l’action CostInitialize appelée, l’action FileCost doit être appelée. L’action CostInitialize initialise les routines internes du programme d’installation qui calculent dynamiquement les coûts de disque impliqués dans les actions d’installation standard. Aucun autre calcul des coûts dynamiques n’est effectué à ce stade.
Ensuite, l’action CostFinalize doit être appelée. Cette action finalise tous les calculs de coût et rend les données de coût disponibles via la table Component.
Une fois l'exécution de l'action CostFinalize terminée, la table des composants est entièrement initialisée, et une séquence de boîtes de dialogue de l'interface utilisateur contenant un contrôle SelectionTree peut être lancée si nécessaire. Les boîtes de dialogue d’interface utilisateur peuvent offrir la possibilité de modifier l’état de sélection ou le répertoire de destination de n’importe quelle fonctionnalité dans la table fonctionnalité à l’utilisateur. Le processus est similaire lorsque l’état de sélection d’un composant change ; Toutefois, dans ce cas, le coût dynamique du composant modifié est recalculé uniquement.
Une fois que l’utilisateur a terminé de sélectionner des fonctionnalités dans l’interface utilisateur, l’action InstallValidate doit être appelée. Cette action vérifie que tous les volumes auxquels le coût a été attribué ont suffisamment d’espace pour l’installation.