Windows安装程序失败并显示错误“写入文件时出错:System.Web.Extensions.dll。验证您是否有权访问该目录。”

时间:2011-04-13 20:18:09

标签: windows-installer gac

我创建了一个简单的Windows安装程序包。它所做的就是将2.dll安装到GAC中。这是一台生产机器,据我了解,最好以这种方式安装到GAC(而不是使用gacutil.exe等)。

此安装程序在我用于测试的另一台服务器上正常工作。然而,它所使用的服务器只是Win2k3的简单安装,没有安装任何其他东西。这个安装程序失败的生产服务器是一个带有Service Pack的Win2k3盒子,还有一大堆其他软件。

我不确定如何解决这个问题。偶数日志中没有抛出任何事件等。没有任何错误的迹象。 This question on MSDN有一些提示,但我似乎无法找到任何真正的答案。

enter image description here

1 个答案:

答案 0 :(得分:2)

这是我的猜测而不查看任何日志文件:

1)您甚至不应该安装此程序集,因为它是.NET 3.5的一部分。您也可能没有告诉安装人员安装它。这只是Visual Studio部署项目的一个很棒的功能,好吧,“特殊”它喜欢检测依赖项,然后由你来“排除”它们(右键单击|排除)

2)它“工作”的机器可能有.NET 3.5,并且由于该版本的程序集已经在GAC中,MSI只是跳过它。

3)不工作的机器(你说它是W2K3没有别的)可能只有.NET 1.1(它预装了),当MSI尝试安装.NET 3.5程序集(CLR 2.0)时它不会有一个线索如何做到这一点所以抛出(误导)错误。

再一次,只是一个猜测,因为你没有提供windows installer log

最后还有一个可能的领导:

MSI: "Error writing to file: **.dll. Verify that you have access to that directory. GAC problem?

无论我怀疑我的预感是否正确,你应该排除.NET 3.5已经规定的程序集。

PS-Installers是一个利基空间,所以14小时并不像C#那样真正的风滚草时间,其中有500人尝试在5分钟内回答问题。