Wix Tool Эта сборка построена средой выполнения, более новой, чем текущая загруженная среда, и не может быть загружена - PullRequest
0 голосов
/ 25 апреля 2020

Я пытаюсь добавить c# настраиваемое действие (. net 4.5) для проекта wix (3.11.2), но проблема в том, что SFXCA всегда привязывается к v2.0.50727

Visua Studio 2015

Ниже один файл CustomAction.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">

    <!--
          Use supportedRuntime tags to explicitly specify the version(s) of the .NET Framework runtime that
          the custom action should run on. If no versions are specified, the chosen version of the runtime
          will be the "best" match to what Microsoft.Deployment.WindowsInstaller.dll was built against.

          WARNING: leaving the version unspecified is dangerous as it introduces a risk of compatibility
          problems with future versions of the .NET Framework runtime. It is highly recommended that you specify
          only the version(s) of the .NET Framework runtime that you have tested against.

          Note for .NET Framework v3.0 and v3.5, the runtime version is still v2.0.

          In order to enable .NET Framework version 2.0 runtime activation policy, which is to load all assemblies
          by using the latest supported runtime, @useLegacyV2RuntimeActivationPolicy="true".

          For more information, see http://msdn.microsoft.com/en-us/library/bbx34a2h.aspx
        -->

    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    <supportedRuntime version="v2.0.50727"/>

  </startup>

  <!--
      Add additional configuration settings here. For more information on application config files,
      see http://msdn.microsoft.com/en-us/library/kza1yk3a.aspx
    -->

</configuration>

Ниже один сообщения журнала

MSI (s) (90: E4) [20:33:28: 828]: выполнение действия: ReconfigurePushServiceConfig MSI (90: E4) [20: 33: 28: 828]: примечание: 1: 2205 2: 3: действие ActionText завершено 20:33:28: InstallInitialize. Возвращаемое значение 1. MSI (s) (90: E8) [20: 33: 28: 828]: запуск удаленного пользовательского действия. DLL: C: \ windows \ Installer \ MSIE995.tmp, точка входа: Reconfigure_PushServiceConfig MSI (90: E C) [20: 33: 28: 828]: генерация случайного приготовления ie. MSI (s) (90: E C) [20: 33: 28: 828]: создан сервер пользовательских действий с PID 7408 (0x1CF0). MSI (s) (90:80) [20: 33: 28: 859]: Запуск в качестве службы. MSI (s) (90:80) [20: 33: 28: 859]: Здравствуйте, я ваш 32-битный Олицетворенный сервер пользовательских действий. Начало действия 20:33:28: ReconfigurePushServiceConfig. SFXCA: извлечение настраиваемого действия во временный каталог: C: \ windows \ Installer \ MSIE995.tmp- \ SFXCA: привязка к версии CLR v2.0.50727 Вызов настраиваемого действия ReconfigureData! ReconfigureData.CustomActions.Reconfigure_PushServiceConfig Ошибка: не удалось загрузить класс настраиваемого действия ReconfigureData.CustomActions из сборки: ReconfigureData System.BadImageFormatException: Не удалось загрузить файл или сборку 'ReconfigureData' или одну из ее зависимостей. Эта сборка создается средой выполнения, более новой, чем текущая загруженная среда, и не может быть загружена. Имя файла: 'ReconfigureData' в System.Reflection.Assembly._nLoad (имя_файла_сборки, строковое codeBase, свидетельство AssemblySecurity, расположение сборкиHint, StackCrawlMark & ​​stackMark, логическое значение throwOnFileNotFound, логическое значение forIntrospection) в файле System.RefNameName. , Свидетельство AssemblySecurity, Место сборки, Подсказка, StackCrawlMark & ​​stackMark, Логическое значение throwOnFileNotFound, Логическое значение forIntrospection) в System.Reflection.Assembly.InternalLoad (AssemblyName assemblyRef, Свидетельство AssemblySecurity, StackCrawlMark & ​​Evence Evence. assemblySecurity, StackCrawlMark & ​​stackMark, Boolean forIntrospection) в System.AppDomain.Load (String assemblyString) в Microsoft.Deployment.WindowsInstaller.CustomActionProxy.GetCustomActionMethod (сеанс сеанса, строковое наименование_символа, строковое имя-класса

имя * * * * *): метод строки: регистрация привязки выключена , Чтобы включить ведение журнала ошибок привязки сборки, задайте для параметра реестра (DWORD) значение 1. Примечание. Существует некоторое снижение производительности, связанное с ведением журнала ошибок привязки сборки. Чтобы отключить эту функцию, удалите значение реестра.

CustomAction ReconfigurePushServiceConfig вернул фактический код ошибки 1603 (обратите внимание, что это может быть не на 100% точно, если перевод произошел внутри песочницы). : 33: 29: 172]: Примечание: 1: 2265 2: 3: -2147287035 MSI (90: E4) [20: 33: 29: 172]: значение политики компьютера «DisableRollback» равно 0 MSI (90: E4) [20: 33: 29: 172]: примечание: 1: 1402 2: HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Installer \ Rollback \ Scripts 3: 2 Действие завершено 20:33:29: ReconfigurePushServiceConfig. Возвращаемое значение 3. MSI (90: E4) [20: 33: 29: 172]: примечание: 1: 1402 2: HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Installer \ Rollback \ Scripts 3: 2 MSI ( s) (90: E4) [20: 33: 29: 172]: нет порядкового номера восстановления системы для этой установки. MSI (90: E4) [20: 33: 29: 172]: Операция разблокировки сервера завершена 20:33:29: УСТАНОВИТЬ. Возвращаемое значение 3.

...