Установщик MSI завершается с ошибкой: Установка сборки [GAC] в RemoveDirectoryAndChildren, строка 393

#windows #installation #wix #windows-installer #gac

#Windows #установка #wix #установщик Windows #gac

Вопрос:

Я создал установщик, используя набор инструментов Wix, который работал нормально, пока я не открыл 2 экземпляра setup.exe. При установке не удается установить сборку в GAC:

 "Error 1935. An error occurred during the installation of an assembly 'MyAssembly,version="3.2.xxxx.xxxxx",culture="neutral",publicKeyToken="xxxxxxxxxxx",processorArchitecture="MSIL".  Please refer to Help and Support for more information. HRESULT: 0x80131043. assembly interface: IAssemblyCacheItem, function: Commit, component: {xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx}
Assembly Install:  Failing with hr=80070005 at RemoveDirectoryAndChildren, line 393".
  

Я думаю, что транзакция MSI осталась открытой, заблокировав каталог с поврежденным ACL.

Перезагрузка исправила эту проблему один раз, однако я запустил «Setup.exe «с»Setup.exe /?» открывается одновременно.

Итак, какая папка заблокирована? Это не из моего приложения. Это временная папка, созданная во время установки библиотеки dll в GAC?

Ответ №1:

Оказывается, это стечение ошибок (с моей стороны):

  1. В результате изменения системы была открыта транзакция, которая не была перезагружена. Установщик восстановился один раз, но не дважды.
  2. Порядок сборки запускал ранее созданный msi.
  3. Фактической ошибкой был неправильно настроенный атрибут компонента.