Установка .NET Framework с моим приложением с помощью MSI

StackOverflow https://stackoverflow.com/questions/419639

Вопрос

Я создал установочный проект в VS2008.Мое приложение WinForms использует .NET 2.0, поэтому я выбрал предварительную версию .NET 2.0 и создал проект установки.

Когда я запускаю свой Setup.msi на чистом ПК, он правильно определяет, что .СЕТЬ отсутствует, и спрашивает, следует ли ее установить.После успешной установки .NET установщик просто завершает работу и не продолжает установку моего приложения (я думаю, что так и должно быть).

Когда я запускаю MSI-файл на ПК с уже установленным .NET, мое приложение устанавливается правильно.

Есть ли какой-нибудь способ установить .NET 2.0 и мое приложение вместе за один шаг?

Это было полезно?

Решение

Как вы установили продукт?

Проект установки выведет два файла:

  • установочный пакет Windows (.msi) и
  • так называемый загрузчик (setup.exe)

Загрузчик проверит наличие любого указанного вами предварительного условия и, возможно, загрузит и установит его, если оно еще не установлено а затем продолжайте устанавливать свое приложение (вызвав файл .msi).Поэтому вы всегда должны запускать setup.exe для установки своего приложения, а не msi-файла (если только вы не знаете, что все предварительные условия есть в целевой системе).

Как говорит Krakkos, загрузчик установит как предварительные условия, так и ваше приложение (т.е.ваш msi-файл).Однако мне не известны какие-либо параметры конфигурации, которые помешали бы загрузчику установить msi.

Для устранения неполадок вы можете попробовать создать журнал вашей установки и поискать любые проблемы в файле журнала.

Другие советы

Спасибо, Диво,

Я запускал MSI-файл.

Существуют ли какие-либо ограничения при запуске файла Setup.EXE?Если я правильно помню, я однажды попытался запустить его в Windows 2000, но он не запустился.Мне удалось запустить только MSI-файл.Я собираюсь проверить компьютер с чистой Win2000 и вернуться.

Редактировать:Я попробовал это в чистой Windows 2000 SP4, и вот результаты:

  • Setup.exe не будет запускаться с сообщением об отсутствующей куче информации в Kernel32.dll
  • Setup.msi также не будет запускаться (расширение .msi неизвестно).

Затем я вручную установил установщик Windows 3.1:

  • Setup.exe все равно не будет запускаться с тем же сообщением об ошибке
  • Setup.msi будет работать успешно (но будет только устанавливаться.NET без моей app...my первоначальной проблемы)

В Windows XP программа Setup.exe работает без каких-либо проблем.

Похоже, что пользователям с Win2000 придется устанавливать мое приложение вручную, установив установщик Windows 3.1, .NET 2.0, а затем мое приложение.Даже если .NET установлен вручную, Setup.exe все равно будет отображаться то же сообщение об ошибке под Win2000 SP4.

Редактировать:Проблему с Win 2000 можно устранить, установив Накопительный пакет обновления 1 для Windows 2000 с пакетом обновления 4 (KB891861).

Этот эпизод из Hanselminutes подробно рассказывает о том, как Paint.Net организует загрузку & amp; установка необходимой платформы .NET по требованию и интеграция с установкой приложения. По общему признанию, это, вероятно, намного сложнее, чем требуется большинству приложений, но, тем не менее, это интересное обсуждение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top