Программа установки хочет установить .NET 4 дважды - PullRequest
3 голосов
/ 20 сентября 2011

У меня есть простой проект установки, сделанный в VS2010. Один исполняемый файл, несколько DLL, очень простой.

Я перемещаю мои setup.exe и .msi на чистый тестовый компьютер, и после запуска setup.exe я получаю лицензионное соглашение для .NET 4, затем загружается «.Net Framework 4 Client Profile (x86 и x64)» и (предположительно) установлено. Программа установки требует перезагрузки, я перезагружаюсь, и, наконец, моё приложение может быть установлено. Я запускаю его, а затем получаю это окно:

enter image description here

Нажав на кнопку Да, я перехожу на эту страницу .

Установка .NET Framework 4.0 заключает сделку, в этот раз перезагрузка не требуется.

Все встроенные библиотеки DLL и EXE имеют .NET 4 в качестве целевой платформы в свойствах проекта (без профиля клиента), за исключением одной библиотеки DLL с .NET 3.5

Почему двойная установка? Как сделать так, чтобы он был установлен один раз в мастере?

Ответы [ 2 ]

4 голосов
/ 20 сентября 2011

При создании настройки появляется предупреждение (глупая я, не видел этого!):

Целевая версия .NET Framework в проекте не соответствует запуску .NET Frameworkверсия условия «.NET Framework 4 Профиль клиента».Обновите версию условия запуска .NET Framework, чтобы она соответствовала целевой версии .NET Framework в диалоговом окне Advanced Compile Options (VB) или на странице приложения (C #, F #).

This место имеет ответ:

1) выберите проект установщика

2) нажмите на значок вверху «Редактор условий запуска» его значок с биноклем.

3) В разделе «Условия запуска» выберите «.Net framework» справа в «Properties». Выберите «Version», вы увидите выпадающий список.измените платформу на вашу целевую платформу.


ОБНОВЛЕНИЕ

По умолчанию кажется, что проект установки сделан с .NET Framework 4 Client Profile, и он долженбыть изменено на "нет профиля" в двух местах.Упомянутый выше и в свойствах проекта установки.

  1. Выберите проект установщика
  2. Перейдите в свойства (щелкните правой кнопкой мыши -> Свойства)
  3. Перейдите в Предварительные условия ...
  4. Снимите флажок «Клиентский профиль Microsoft .NET Framework 4 (x86 и x64)» и установите флажок «Microsoft .NET Framework 4 (x86 и x64)»
0 голосов
/ 20 сентября 2011

Я предполагаю, что некоторые из ваших проектов настроены на использование профиля клиента .NET 4, а некоторые настроены на использование профиля .NET 4. Проверьте каждый проект, установите для всех .NET 4 и перестройте решение.

...