在安装过程中,我将源文件的驱动器号({驱动器:src})写入{app}/userinfo.ini和{localappdata}/userinfo.ini文件,这在WinXP和Vista中运行良好,但在Win7和Win8中不起作用。在{app}/userinfo.ini中,如果源是映射的驱动器,它总是写"C:“,而在{app}/UserInfo.ini中,它写入源的完整网络路径。我读到Win7和Win8用户的权限是不同的。然后在这种情况下如何获取映射的驱动器号。
发布于 2014-02-01 14:59:31
您无法获取映射的驱动器号,因为安装程序是以管理员身份运行的,并且管理员和非管理员级别之间的驱动器映射是不同的(即使您认为它是同一个用户--但并不总是如此)。
当从常规升级到管理员时,Inno会自动将映射的驱动器号转换为“真正的”UNC路径,因为如果它尝试使用该盘符,它将根本无法运行。因此,{src}将始终是UNC路径,而{drive:src}将是根共享名称。
您无论如何都不应该尝试将此信息保存在管理员安装中,因为不同的用户可能具有不同的映射。您要么需要让您的应用程序自己弄清楚这一点(并将其保存在每个用户的设置中),要么需要进行每个用户的安装。
https://stackoverflow.com/questions/20604809
复制相似问题