Custo do arquivo
O Cálculo dos custos é o processo de determinar os requisitos totais de espaço em disco para uma instalação. Os elementos calculados no processo de obtenção dos custos do arquivo incluem a quantidade de espaço em disco em que os arquivos são instalados ou removidos, bem como a quantidade de espaço em disco ocupada por entradas do registro, atalhos e outros arquivos diversos. Os arquivos existentes agendados para serem substituídos também são calculados nos custos totais do disco.
Os custos totais são acumulados por componente e consistem em três partes separadas: custos locais, custos de origem e custos de remoção. Essas partes correspondem ao custo do disco incorrido se o componente for instalado localmente, instalado para ser executado na mídia de origem ou ser removido.
Todos os cálculos que envolvem os custos de instalação de arquivos dependem do volume do disco no qual o arquivo deve ser instalado ou removido. Sempre que o diretório associado a um componente é alterado, os custos dos arquivos de instalação controlados por esse componente devem ser recalculados. Por exemplo, como uma alteração de diretório também significa uma alteração de volume, os tamanhos dos arquivos clusterizados devem ser recalculados. Além disso, o novo diretório deve ser verificado para determinar se os arquivos existentes passíveis de substituição devem ser levados em conta.
Depois que a ação CostInitialize for chamada, a ação FileCost deverá ser chamada. A ação CostInitialize inicializa as rotinas internas do instalador que calculam dinamicamente os custos de disco envolvidos com as ações de instalação padrão. Nenhum outro cálculo de custos dinâmico é feito neste momento.
Em seguida, a ação CostFinalize deve ser chamada. Essa ação finaliza todos os cálculos de custos e disponibiliza os dados dos custos por meio da tabela Component.
Depois que a ação CostFinalize concluir a execução, a tabela Component será totalmente inicializada e uma sequência de caixa de diálogo de interface do usuário contendo um controle SelectionTree poderá ser iniciada, se necessário. As caixas de diálogo da interface do usuário podem oferecer a opção de alterar o estado de seleção ou o diretório de destino de qualquer recurso na tabela Feature para o usuário. O processo é semelhante quando o estado de seleção de um componente é alterado, no entanto, o custo dinâmico do componente alterado é apenas recalculado nesse caso.
Depois que o usuário concluir a seleção de recursos na interface do usuário, a ação InstallValidate deverá ser chamada. Essa ação verifica se todos os volumes aos quais os custos foram atribuídos têm espaço suficiente para a instalação.