错误1606.在IIS7上安装时无法访问网络位置%SystemDrive%\ inetpub\wwwroot \

8 installer windows-server-2008

我正在尝试将当前支持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.

这似乎是一个非常糟糕的黑客.我不想告诉我们的客户他们需要在他们能够安装我们的产品之前破解他们的注册表.另一种选择是在幕后更改注册表,进行安装,并在安装结束时将注册表项恢复为原始值,但显然我也不喜欢这种解决方案.

我发现很难相信微软会毫无理由地这样做,因此必须有一种替代方法来让这些安装程序在不修改注册表的情况下工作.

任何提示赞赏.

小智 14

我在Infragistics 2007安装期间遇到此错误.解决方案是修改注册表项值.问题在于安装程序.%SystemDrive%值的一部分应该替换C: 为关键的32位机器

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\PathWWWRoot. 
Run Code Online (Sandbox Code Playgroud)

对于64位机器,需要修改的密钥应该是

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\InetStp\PathWWWRoot.
Run Code Online (Sandbox Code Playgroud)

在此处找到了额外的64位详情


小智 -1

在添加任何 IIS 相关功能/角色之前尝试安装。第一次将 2k8R2 安装到我的电脑上时,我能够安装它,但重建失败了。初始构建和重建之间的唯一区别是,我在尝试安装出现有关无法找到 %systemdrive%\inetpub\wwwroot 的错误 1606 的软件包之前安装了 IIS 管理组件。我知道这对于解决已经构建的系统是不可接受的,但应该有助于未来的构建。

无论如何,如果您的安装程序在设置 IIS 相关角色/功能之前就可以工作,请确保您在自述文件中记录了这一点。