Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Затраты — это процесс определения общего объема дискового пространства для установки. Элементы, вычисляемые в процессе затрат на файл, включают объем места на диске, в котором установлены или удалены файлы, а также объем дискового пространства, занятого записями реестра, ярлыками и другими другими файлами. Существующие файлы, запланированные для перезаписи, также вычисляются в итоговых затратах на диск.
Общие затраты накапливаются накомпоненте основе и состоят из трех отдельных частей: локальных затрат, исходных затрат и затрат на удаление. Эти части соответствуют затратам на диск, которые могут возникнуть, если компонент установлен локально, установлен для запуска с исходного носителя или удален.
Все вычисления, связанные с стоимостью установки файлов, зависят от тома диска, в котором должен быть установлен или удален файл. Каждый раз, когда каталог, связанный с компонентом, изменяется, затраты на файлы установки, контролируемые этим компонентом, необходимо пересчитывать. Например, поскольку изменение каталога также может означать изменение тома, размер кластеризованных файлов должен быть пересчитываться. Кроме того, необходимо проверить новый каталог, чтобы определить, следует ли учитывать все существующие файлы, которые могут быть перезаписаны.
После вызова действия CostInitialize необходимо вызвать действие FileCost. Действие CostInitialize инициализирует внутренние подпрограммы установщика, которые динамически вычисляют затраты на диск, связанные со стандартными действиями установки. На этом этапе никаких других динамических вычислений затрат не выполняется.
Затем необходимо вызвать действие CostFinalize. Это действие завершает все вычисления затрат и делает данные о затратах доступными через таблицу компонента.
После завершения выполнения действия CostFinalize таблица компонента полностью инициализирована, а последовательность диалоговых окон пользовательского интерфейса, содержащая элемент управления SelectionTree, можно инициировать при необходимости. Диалоговые окна пользовательского интерфейса могут предложить возможность изменить состояние выбора или целевой каталог любой функции в таблице компонента пользователю. Процесс аналогичен при изменении состояния выбора компонента; Однако в этом случае динамическая стоимость измененного компонента вычисляется только повторно.
После завершения выбора компонентов в пользовательском интерфейсе необходимо вызвать действие InstallValidate. Это действие проверяет, имеется ли на всех томах, к которым были отнесены затраты, достаточно места для установки.