今天收到客户提交的一个BUG反馈,报告我们的客户端软件不支持文件拖放操作。鼠标在拖拽文件至软件窗口时显示“禁止”标志,尝试使用其他软件进行文件拖拽都没有此问题。
远程连接至客户电脑进行排查后,遗憾的是无法找到任何错误报告信息。一时间我陷入了僵局,不知如何下手诊断此问题。
后来无意间注意到软件快捷方式上的小盾牌图标,发现客户是在用管理员权限运行此程序,于是我想到了Windows的UAC机制。
UAC机制(从Windows Vista开始引入)将系统进程划分为不同的权限级别。文件夹资源管理器(Explorer)通常以标准用户权限运行,Electron应用也通常如此。UAC机制允许在相同或从高级至低级权限级别进程间进行文件拖拽。但是,如果以管理员权限运行Electron应用,由于资源管理器权限级别不及管理员级别高,文件拖拽操作将被禁止。
确认原因后,我重新安装了软件,修改了默认安装目录,并将运行权限更改为标准用户。
重新启动软件后,文件拖拽操作恢复正常。
不过,修改目录前若以标准用户权限启动软件会直接崩溃退出。使用默认目录重新安装后,软件会自动设定为管理员权限启动。
用户电脑仅有C盘一个分区,不知这是否与上述问题有关。
有没有大佬了解这个问题的原因,还希望不吝赐教。
版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除