Создание перспективного установщика .NET 3.5 с пакетом обновления 1 (SP1) для программы setup.exe и MSI-файла - PullRequest
0 голосов
/ 21 января 2009

Я потребовал .NET 3.5 SP1 а-ля Обновит ли проект установки VS2008 Net 3.5 SP1? . Это заставляет setup.exe проверять правильно.

Я также добавил условие запуска «SP1» в мой MSI, чтобы оно не позволяло пользователю установить мое приложение .NET 3.5SP1 через запуск MSI (и заменил [VSDNETMSG] в сообщении условия Framework одним что на самом деле упоминает SP1).

С точки зрения проверки будущего это кажется неправильным. Я хочу, чтобы условие было:

(NETVer=3.5 AND Net35SPLevel=1) OR (NETVer=>3.5)

не

(NETVer=3.5 AND Net35SPLevel=1)

Есть ли способ сделать это? Проверка структуры не имеет свойства условия, позволяющего мне добавлять подусловие ...

Да, я мог бы просто не волноваться об этом, моя милая маленькая голова: P

Если один из экспертов по версиям MS там читает это, если вы собираетесь помещать материал, от которого зависит код, в SP, не могли бы вы сделать так, чтобы установщик смог проверить его на OOTB.

(Мне бы очень хотелось, чтобы они придумали лучшую схему нумерации - мир и его собака могли видеть, что это может запутаться)

1 Ответ

0 голосов
/ 26 января 2009

Ах, как указывалось в статье , на которую ссылается другой пост, на который я ссылался , вы можете использовать тот факт, что поиск в реестре, который не удастся, приведет к пустой строке ( тогда как #0 и #1 будут получены, если 3.5 действительно установлен, и использовать выражение:

(NET35SPLEVEL="") OR NOT (NET35SPLEVEL>>"0")

Это делает проверку дизъюнкцией, а не конъюнкцией [1]

Что решает проблему - проверка не завершится на 4.0 без SP.

Остается проблема, которая по-прежнему не распространяется на случай, когда установлено 4 / 4.1 / 4/5/5/6, и на машине есть неупакованный 3.5 ... (так что я не принимаю мой ответ!)

[1] Не так ли, Адам!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...