WIX: условия GenerateBootStrapper?

Я создал установщик с WIX и упаковал его с платформой .NET 4.0, используя задачу GenerateBootstrapper. Теперь .NET 4.0 не может быть установлен на XP SP2, но, похоже, для этого нет проверки предварительных условий, поэтому его установщик не работает на полпути.

Я хотел бы добавить свою собственную проверку, чтобы убедиться, что ОС, на которую устанавливается весь пакет, поддерживается платформой .NET 4.0. Есть ли способ встроить проверку ОС / пакета обновления в загрузчик, когда вы используете GenerateBootstrapper? Если нет, то как еще я могу это сделать?


person roufamatic    schedule 10.08.2010    source источник
comment
Вы уверены, что .NET 4.0 Framework нельзя установить в Windows XP SP2? Описание загрузчика явно запрещает установку только в том случае, если уровень пакета обновления меньше SP2 (конечно, официальная поддержка Microsoft для XP SP2 больше не доступна, но это другое дело).   -  person Dirk Vollmar    schedule 11.08.2010
comment
Интересный. Интересно, почему тогда не удается установить .NET 4.0. MS называет SP3 в требованиях к загрузке фреймворка. microsoft.com/downloads/   -  person roufamatic    schedule 11.08.2010
comment
Что ж, я видел раньше, что определение пакета загрузчика, предоставленное Microsoft, не выполняет проверки правильно.   -  person Dirk Vollmar    schedule 11.08.2010


Ответы (1)


Вы можете добавить условие в файл определения пакета загрузчика, чтобы загрузчик проверял версию Windows. Файл описания находится по адресу

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\
    Packages\DotNetFX40\Product.xml

в 64-битной системе Windows или в

C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\
    Packages\DotNetFX40\Product.xml

в 32-битной системе Windows. В package.xml уже есть такая проверка, см. Строчку

<!--  Block install on less than Windows XP SP2 --> 
<FailIf Property="VersionNT" Compare="VersionLessThan" 
        Value="5.1.2" String="InvalidPlatformWinNT" /> 

Мне не удалось найти соответствующую документацию, но похоже, что третье число значения VersionNT - это уровень пакета обновления, поэтому, вероятно, изменение условия для проверки значения "5.1.3" выполнит свою работу.

person Dirk Vollmar    schedule 10.08.2010
comment
Мы решили внутренне удалить фреймворк из установщика и позволить клиенту установить его отдельно (чтобы отделить недостатки MS от наших собственных). Совершенно уверен, что ваш ответ сработал бы в моей ситуации, так что вы получите печенье. Спасибо! - person roufamatic; 12.08.2010