Как загрузить пакет обновления .NET? - PullRequest
2 голосов
/ 17 октября 2011

Мне нужно создать установщик для приложения .NET, для которого требуется .NET Framework 2.0 SP2. Когда я добавляю .NET Framework, как указано в WiX Tutorial , я получаю .NET Framework 2.0 без пакета обновления.

Что необходимо для установки необходимого пакета обновления 2 в установку?

Edit: Есть ли возможность перестроить установщик без пакета обновления, если Центр обновления Windows установил пакет обновления для текущей платформы .NET?

1 Ответ

0 голосов
/ 13 марта 2012

Из WiX Doco : (Не уверен, поможет ли это часть «Изменить» вашего вопроса)

После ссылки на свойство вы можете использовать его в любом условии условия WiX. Например, следующее условие блокирует установку, если не установлен .NET Framework 2.0.

<Condition Message="This application requires .NET Framework 2.0. Please install the .NET Framework then run this installer again.">
    <![CDATA[Installed OR NETFRAMEWORK20]]>
</Condition>

Установлено - это свойство установщика Windows, которое обеспечивает проверку только при установке приложения пользователем, а не при восстановлении или удалении. Часть условия NETFRAMEWORK20 будет выполнена, если установлен .NET Framework 2.0. Если он не установлен, установщик отобразит сообщение об ошибке, а затем прервет процесс установки.

Чтобы проверить уровень пакета обновления инфраструктуры, используйте свойства * _SP_LEVEL. Следующее условие блокирует установку, если на компьютере отсутствует .NET Framework 3.0 с пакетом обновления 1 (SP1).

<Condition Message="This application requires .NET Framework 3.0 SP1. Please install the .NET Framework then run this installer again.">
    <![CDATA[Installed OR (NETFRAMEWORK30_SP_LEVEL and NOT NETFRAMEWORK30_SP_LEVEL = "#0")]]>
</Condition>

Как и в предыдущем примере Установлено, предотвращает запуск проверки, когда пользователь выполняет ремонт или удаление. Свойство NETFRAMEWORK30_SP_LEVEL имеет значение «# 1», если имеется пакет обновления 1. Поскольку нет никакого способа сделать числовое сравнение со значением с # перед ним, условие сначала проверяет, установлен ли NETFRAMEWORK30_SP_LEVEL, и подтверждает, что оно установлено в число. Это будет правильно указывать, установлен ли какой-либо пакет обновления для .NET 3.0.

...