У меня есть проект установщика Windows, который включает в себя настраиваемое действие. Это настраиваемое действие использует SMO для настройки базы данных. Проект установщика .Net 4. При выполнении пользовательских действий, я получаю следующее сообщение об ошибке:vs2010 Сборки смешанного режима в пользовательских действиях установщика Windows
Mixed mode assembly is built against version 'v2.0.50727' of the runtime
and cannot be loaded in the 4.0 runtime without additional configuration information.
Я мог бы запустить код обновления базы данных в отдельном исполняемом файле или переписать пользовательское действие так SMO не используется, но я скорее всего, сохраните код как есть, если это возможно.
Я знаю, как исправить это в консольных приложениях Winforms, добавив следующее в файл app.config.
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
Вопрос в том, как я могу сделать это или что-то подобное с проектом установщика? Я все еще получаю эту проблему, когда все ссылочные сборки в пользовательском действии являются работой фрейма 2, поэтому это должно быть вызвано самой MSI, которая является .net4 в соответствии с программой просмотра журнала Fusion.