Custeio de ficheiro
O cálculo de custos é o processo de determinar os requisitos totais de espaço em disco para uma instalação. Os elementos calculados no processo de cálculo de custos de arquivo incluem a quantidade de espaço em disco no qual os arquivos são instalados ou removidos, bem como a quantidade de espaço em disco ocupado por entradas do Registro, atalhos e outros arquivos diversos. Os arquivos existentes programados para serem substituídos também são calculados nos totais de custo do disco.
Os custos totais são acumulados com base em cada componente e consistem em três partes separadas: custos locais, custos de origem e custos de remoção. Essas partes correspondem ao custo de disco incorrido se o componente for instalado localmente, instalado para ser executado a partir da mídia de origem ou removido.
Todos os cálculos que envolvem o custo de instalação de arquivos dependem do volume do disco para o qual o arquivo deve ser instalado ou removido. Cada vez que o diretório associado a um componente muda, 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 pode implicar uma alteração de volume, os tamanhos de arquivo clusterizados devem ser recalculados. Além disso, o novo diretório deve ser verificado para determinar se quaisquer arquivos existentes que possam ser substituídos devem ser levados em consideração.
Depois que a ação CostInitialize é chamada, a ação FileCost deve 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 custo dinâmico é feito neste momento.
Em seguida, a ação CostFinalize deve ser chamada. Esta ação finaliza todos os cálculos de custo e disponibiliza os dados de custos por meio da tabela Componente.
Após a conclusão da execução da ação CostFinalize, a tabela Component é totalmente inicializada e uma sequência de caixas de diálogo da interface de utilizador contendo um controlo SelectionTree pode 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 muda; No entanto, neste caso, o custo dinâmico do componente alterado é apenas recalculado.
Uma vez que o usuário tenha concluído a seleção de recursos na interface do usuário, a ação InstallValidate deve ser chamada. Esta ação verifica se todos os volumes aos quais o custo foi atribuído têm espaço suficiente para a instalação.