Как мне настроить то, что делает сторонний MSM?

Я пытаюсь преобразовать проект в Visual Studio 2008 из статической компоновки CRT в динамическую компоновку. Это было достаточно просто, и я без проблем добавил CRT MSM и MSM политик в свой файл Wix.

Я не очень доволен выводом MSI, он намного больше, чем я ожидал. Глядя на MSI с Orca, я вижу три копии DLL CRT, которые мне нужны. Судя по условиям, один из наборов используется для установки до XP. Так как системные требования XP и выше, то как удалить этот компонент, не трогая оригинальный MSM? Это должно быть сделано в автоматизированной сборке, поэтому Orca не является возможным решением. Кроме того, когда я попробовал это с Orca, размер файла остался прежним после удаления строк «Файл» и «Компонент».

И что-то связанное с этим, как установить постоянный атрибут в оставшихся компонентах?


person user28709    schedule 11.03.2010    source источник


Ответы (1)


Инструмент слияния обычно извлекает MergeMod.cabinet и перестраивает его в CAB-поток Disk1. Я полагаю, что если бы вы использовали сценарий для удаления строк компонента, файла, компонента модуля из модуля перед слиянием, он был бы удален.

person Christopher Painter    schedule 08.04.2010