4

当我尝试从“选择目标位置”设置页面上的“浏览”按钮扩展网络驱动器时,出现“指的是不可用的位置”错误(请参见第一个屏幕截图),网络驱动器图标没有显示。

网络驱动器权限允许所有用户读/写驱动器访问,其他应用程序没有相同的问题(第二个屏幕截图中的对话框是由调用 SHBrowseForFolder API 的 32 位应用程序生成的)。

环境是 Windows 8(64 位),截至 2013 年 7 月 16 日的所有更新都作为 VirtualBox 4.2.16 客户端运行。该设置已使用最新版本的 Inno Setup (5.5.3 (a)) 进行编译。

Samba 和 Windows 共享都存在此问题。Windows 7 和 XP 没有同样的问题。我还没有在专用(非 VirtualBox)Win8 PC 上对其进行测试。

任何帮助将不胜感激。

截图 1

截图 2

4

2 回答 2

2

默认情况下,Windows 不会在提升和非提升进程之间缓存登录凭据。您登录服务器并将驱动器号映射为非提升用户;这不适用于安装程序等提升的进程。

您可以PrivilegesRequired=lowest在该[Setup]部分设置以防止提升并保持网络驱动器可用;但是请记住,这样做还会阻止访问本地计算机上的任何管理员所需的位置或功能。

如果您正在创建“纯”网络安装程序(不安装任何本地文件),您可能还希望使用Uninstallable=no. 或者,您可以重新设计安装程序以在服务器计算机上本地运行。

于 2013-08-06T04:58:22.857 回答
1

这个问题也困扰了我很长一段时间,直到我找到了一个简单的解决方案:

在注册表中只需设置 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System] "EnableLinkedConnections"=dword:00000001

重新启动,并完成它。

在此处此处阅读背景和可能的缺点

对于 Inno Setup,也可以采用这种方法: 使 Inno Setup 安装程序仅在需要时请求权限提升。特别是。当不想要求客户更改此注册表项时。我正在这样做,而且效果很好。

于 2016-10-01T00:12:36.147 回答