我对Inno Setup FileExists函数有困惑。使用网络/共享资源的奇怪Inno安装行为
这里的情况。我有三台联网的计算机,具有类似WORKGROUP名称的计算机。 1)视窗7 32位 2)的Windows 7 64位 3)的Window XP服务包3
1)和3)已经设置为具有读写股,购自服务器。 ShareExe和ShareData
有问题的Inno Setup会在ShareExe文件夹中创建可执行文件的快捷方式。它要求用户输入服务器的ComputerName,然后使用FileExists验证正确的输入。
在XP(3)机器上运行此安装程序并指定1)的计算机名称工作得很好,但是,在Win7 64位PC上运行安装程序并指定与XP相同的ComputerName时,会导致FileExtsts测试失败。
奇怪的是,我可以去网上邻居并打开ShareExe文件夹并成功运行可执行文件。我的问题是,“为什么Inno FileExists仅在Win 7 64位机器上失败?”在参考资料中找不到任何与FileExists有任何版本差异的内容。 (我也尝试过使用相同的结果FileSearch)。
TIA
谢谢你这个深思熟虑的答案。由于这个应用程序是普遍可用的,用户是非专业人士,我希望你的GetOpenFileName建议是一个很好的解决方案。不幸的是,浏览文件夹对话框不接受默认的文件夹参数(\\ {computername} \ ...),因此用户必须找到共享的根文件夹并导航到可执行文件,我认为这会阻挡大部分目标用户。有没有验证服务器计算机名称的方法? (提示用户输入)。 – 2012-08-17 16:32:37
您需要使用文件浏览器,而不是文件夹浏览器。关于具体路径,我假定由于您只是提示计算机名称,所以您已经知道至少一个有趣文件的共享名称和路径。如果情况并非如此,那么还有其他一些方法来验证计算机名称,但是您应该选择类似于您的应用程序将如何使用它的东西 - 例如。如果你的应用程序连接到它作为数据库服务器,然后做同样的验证它。如果你的应用程序打开一个特定的端口套接字,然后做同样的事情。等等。 – Miral 2012-08-18 02:18:44