Проект установки VisualStudio: развертывание проекта с базой данных с помощью CustomAction BadImageFormatException - PullRequest
1 голос
/ 26 ноября 2010

У меня есть решение с проектом, который использует базу данных MSSQL и сгенерировал для этого проект установки VisualStudio. Затем я сделал еще один проект с классом установщика, который должен развернуть мою базу данных при установке.

Итак, я сгенерировал класс установщика CustomAction с помощью this Tutorial, а также попробовал this C # Solution, которое похоже.

Когда я запускаю сейчас мой проект установки и хочу установить приложение, я всегда получаю сообщение об ошибке:

При инициализации установки произошло исключение: System.BadImageFormatException: файл или сборка ... \ CustomAction.dll или одна из его зависимостей не найдена. собрание вставлено термином, который более поздний, чем загруженный в данный момент срок, и не может быть загружен.

Надеюсь, ошибка понятна, я перевел ее с немецкого на английский ...

Так что я благодарен за любые советы или подсказки, чтобы решить эту проблему.

привет

Ответы [ 2 ]

1 голос
/ 24 декабря 2010

Одна из многих причин не использовать настраиваемые действия InstallUtil (Класс установщика) заключается в том, что они «залипают», когда дело доходит до процесса хостинга, и версии CLR, которая подвергается сомнению.Если сработает 1.1 CA, то сработает 2.0, но произойдет сбой с исключением BadImageFormat.

Я действительно рекомендую сделать хороший поиск для WiX Deployment Tools Foundation.Это гораздо лучшая модель хостинга для вашего управляемого кода, решающая проблему и многие другие.

1 голос
/ 02 декабря 2010

Возможно, эта статья поможет: http://msdn.microsoft.com/en-us/library/k7137bfe(VS.80).aspx

Кажется, есть две возможные причины:

  1. Путь к DLL не разрешен правильно, поэтому DLL не найдена. Вы можете попробовать проверить, как относительный путь к DLL разрешен в рабочем каталоге.
  2. Проблема с настраиваемым действием. В этом случае вы можете попробовать создать журнал и посмотреть, сможете ли вы узнать больше. Вы можете создавать журналы с помощью msiexec.exe, например:

msiexec.exe / i package.msi / l * v "C: \ package.log"

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