Установщик Windows из .Net 2.0 Custom Action в .Net 4.0 Custom Action - BadImageFormatException - PullRequest
2 голосов
/ 30 сентября 2011

У меня проблема с приложением, которое я недавно обновил с .Net 2.0 до .Net 4.0. Во время установки настраиваемое действие начинает выполняться и выдает ошибку.

=== Регистрация началась: 30.09.2011 2:34:09 === Ошибка 1001. Ошибка 1001. Исключительная ситуация при инициализации установки: System.BadImageFormatException: Не удалось загрузить файл или сборку 'file: /// C: \ Program Files \ MyPath \ MyCustomAction.dll' или одну из ее зависимостей. Эта сборка создается средой выполнения, более новой, чем текущая загруженная среда, и не может быть загружена. === Запись остановлена: 30.09.2011 2:34:30 ===

Обратите внимание, что если я сначала удалю старую версию приложения, а затем установлю новую версию приложения, установка пройдет без ошибок.

Единственное, что я могу догадаться, это то, что пользовательский установщик Windows не может загрузить пользовательское действие .Net 2.0, поскольку это не та же платформа .Net 4.0, которая используется в последней версии моего приложения. Кто-нибудь сталкивался с этим?

1 Ответ

1 голос
/ 30 сентября 2011

Вы должны установить условие для времени выполнения в vdproj (оно не обновляется с вашим проектом настраиваемого действия):

http://msdn.microsoft.com/en-us/library/kz0ke5xt.aspx

В обозревателе решений щелкните проект установки.

В меню «Вид» выберите «Редактор» и нажмите «Условия запуска».

Нажмите .NET Framework.

В окне Свойства измените свойство Version на версию .NET Framework, для которой проект установки должен проверить и установить.

...