MSI安装程序失败并显示错误:RemoveDirectoryAndChildren,第393行中的程序集安装[GAC]

问题描述

我使用Wix工具集创建了一个运行良好的安装程序,直到我打开了两个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. 由于尚未重新引导的系统更改而打开了一个事务。安装程序恢复一次,但没有两次。
  2. 构建顺序正在运行先前构建的msi。
  3. 实际错误是组件属性配置错误。