我正在尝试将目前支持Windows 2000和Windows 2003的软件安装程序移植到Windows 2008环境中。目前,安装程序收到错误,显示“错误1606.无法访问网络位置%SystemDrive%\ inetpub \ wwwroot。”
%SystemDrive%毫无疑问是C:\,而C:\ inetpub \ wwwroot \具有正确的可访问性。
有趣的是,如果我将注册表中以下键中的路径硬编码到C:\ inetpub \ wwwroot \,而不使用环境变量,则安装程序可以正常工作。 •HKLM / Software / Wow6432Node / Microsoft / InetStp / PathWWWRoot •KHLM / Software / Microsoft / InetStp / PathWWWRoot。
这似乎是一个非常糟糕的黑客。我不想告诉我们的客户他们需要在他们能够安装我们的产品之前破解他们的注册表。另一个选择是在幕后更改注册表,进行安装,并在安装结束时将注册表项恢复为原始值,但显然我也不喜欢这个解决方案。
我发现很难相信微软会毫无理由地这样做,所以必须有另一种方法让这些安装程序在不修改注册表的情况下工作。
任何提示赞赏。
答案 0 :(得分:12)
我在Infragistics 2007安装期间遇到此错误。解决方案是修改注册表项值。问题在于安装程序。该值的%SystemDrive%
部分应替换为C:
对于32位机器,关键是
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\PathWWWRoot.
对于64位计算机,需要修改的密钥应为
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\InetStp\PathWWWRoot.
找到了额外的64位详细信息here
答案 1 :(得分:0)
尝试在之前安装,添加任何与IIS相关的功能/角色。我第一次将它放在我的电脑上并且在重建时失败了,我能够安装在2k8R2上。初始构建和重建之间的唯一区别是我在尝试安装错误1606的程序包之前安装了IIS管理组件,因为无法找到%systemdrive%\ inetpub \ wwwroot。我知道解决已经构建的系统是不可接受的,但是应帮助未来构建。
无论如何,如果您的安装程序在放置与IIS相关的角色/功能之前工作,请确保在首先阅读文档中记录该文档。