Inno设置“您选择的驱动器或UNC共享不存在或无法访问”,为什么?

时间:2012-11-04 11:52:57

标签: inno-setup

我在Inno Setup中编写了一个应用程序,用于在用户PC上安装文件。当我在Mac上运行的Parallels上的XP上测试时,该应用程序运行良好。但是当用户尝试在Xp和7中安装时,他们会进入向导并开始安装,然后收到消息:

  

Error. The drive or UNC share you selected does not exist or is not accessible

我现在设法获取程序生成的日志文件:

2012-11-11 14:09:21.992   Log opened. (Time zone: UTC+00:00)

2012-11-11 14:09:21.992   Setup version: Inno Setup version 5.5.2 (a)

2012-11-11 14:09:21.992   Original Setup EXE: C:\Users\Ali\Documents\rninstaller.exe

2012-11-11 14:09:21.992   Setup command line: /SL5="$9049C,86159698,54272,C:\Users\Ali\Documents\rninstaller.exe" /SPAWNWND=$D049A /NOTIFYWND=$140476 /log="rnlog"

2012-11-11 14:09:21.992   Windows version: 6.1.7601 SP1  (NT platform: Yes)

2012-11-11 14:09:21.992   64-bit Windows: Yes

2012-11-11 14:09:21.992   Processor architecture: x64

2012-11-11 14:09:21.992   User privileges: Administrative

2012-11-11 14:09:21.992   64-bit install mode: No

2012-11-11 14:09:21.992   Created temporary directory: C:\Users\Ali\AppData\Local\Temp\is-MQ2FF.tmp

2012-11-11 14:09:28.201   RestartManager found an application using one of our files: ?O?O?O?I?O?O?O?I?O?O?O?O?O?O?O?O?O?O?O?O?O?O?O?O?O?O?O?ODO?O?O?O?O?I?I?I?I?I?I?I?I?I?I?I?I?I?I?I?I?I?I?I?I?I?I?I?I?I?O?O?O?O?O?O?O?O?O?I?I?i

2012-11-11 14:09:28.201   RestartManager found an application using one of our files: 

2012-11-11 14:09:28.201   RestartManager found an application using one of our files: 

2012-11-11 14:09:28.201   RestartManager found an application using one of our files: 

2012-11-11 14:09:28.201   RestartManager found an application using one of our files: 

2012-11-11 14:09:28.201   Can use RestartManager to avoid reboot? No (262758)

2012-11-11 14:09:28.201   Message box (OK):
                          The drive or UNC share you selected does not exist or is not accessible. Please select another.

2012-11-11 14:09:31.592   User chose OK.

2012-11-11 14:09:31.592   Deinitializing Setup.

2012-11-11 14:09:31.592   Log closed.

我看不出这里发生了什么。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

由于其他原因,我收到此错误。我的脚本没有UNC或其他任何硬编码的路径。这是在Windows 10计算机上。我已经在闪存驱动器上安装了该应用程序,但是稍后在尝试将另一版本安装到PC时,该闪存驱动器不存在。安装失败,因为Windows无法卸载以前的版本,并且Inno安装程序正在尝试更新已安装的版本。要进行检查,请打开控制面板,然后选择程序和功能。如果已经安装了应用程序的版本,请尝试将其卸载。如果失败,则您的设置将给出OP记录的相同错误。

我希望这对遇到此问题的其他人有所帮助。

答案 1 :(得分:0)

正如问题评论中所解决的那样,问题中的设置脚本有一个硬编码DefaultDirName,其中包含客户端站点上不存在的服务器名称。这导致“您选择的驱动器或UNC共享不存在或无法访问”错误。这就是为什么DefaultDirName,通常情况下,“以目录常量”为前缀。

答案 2 :(得分:0)

对于在这篇文章中寻找“驱动程序或 UNC 共享不存在”问题的解决方案的其他任何人,我发现问题可以追溯到上次安装的剩余部分,特别是卸载可执行文件。

如果您不再有卸载可执行文件,并且 Windows 10“添加或删除程序”无法卸载(可能是由于缺少 uninst.exe),您可以尝试进行一些注册表黑客攻击它安装。

继续 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ 并扫描引用您的软件的卸载可执行文件的条目。 Zap它死了,整个关键。然后 - 再次尝试安装您的程序。

还有另一个用于卸载密钥的位置:

  • Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\
  • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
  • Computer\HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Uninstall
  • Computer\HKEY_USERS\S....\Software\Microsoft\Windows\CurrentVersion\Uninstall

您可能还想在这些地方查找条目。