省流:如果安装地址选在 C 盘根目录,卸载程序会把整个 C 盘全部删掉

尊敬的指挥官:
在今日 12:00 所发布的引力测试 PC 客户端,若进行“卸载游戏文件”操作,在执行游戏卸载时会根据所安装的游戏目录不同,出现将游戏安装盘符内所有文件删除的问题。
我们在发现问题后,进行了多次重现测试,测试结果与上述一致,在执行“卸载游戏文件”操作时会根据游戏安装目录的不同,出现清空游戏客户端文件所在目录内所有文件的问题,包括根目录。
会导致卸载时出现清空游戏客户端文件所在目录内所有文件的问题主要集中在安装游戏路径在根目录时,如:C:/
在此,我们呼吁每一位看到此说明的指挥官,在游戏安装时如需要修改安装路径,请不要直接安装在根目录下,而是多设一层子目录,如:C:/GF2Exilium/GF2 Game
若您此刻想进行“卸载游戏文件”操作,而安装时也直接安装至根目录时,烦请您不要使用启动器的“卸载游戏文件”功能,转由手动删除游戏文件进行。
出现了这样的错误,我们诚恳、诚挚地向各位指挥官道歉,这样的品控问题也是不应该出现的,我们定将重视此次问题,对之后的品控管理进行加强与监管。
此问题的应对我们正在紧急赶制中,会尽快进行问题修复。
最后,对各位指挥官一直以来的包容与支持我们衷心表示感谢,感谢您们!
《少女前线 2:追放》团队

很正常吧,装软件的时候不应该选个空目录吗

会有人把安装路径直接选在 C 盘根目录吗?

2023 年了,我觉得很不正常。

之前有个软件就是默认装 c 盘根目录的, 卸载的时候吓死我了直接断电

但凡有一方正常 就不会出现这个问题

少钱 2 这次态度太卑微了散包应该把这些乱改安装路径的用户批判一番(除非他们真的这么蠢的把默认安装路径放在磁盘根目录,这不可能吧)

如果游戏是装在 C:/GF2 Game, 为什么卸载要把整个 C:删了,直接删 GF2 Game 不行吗?

天哪,我的电脑在自动卸载原神!

其实软件的安装/卸载路径是有讲究的:- 如果指定路径不存在,那么可以直接使用安装;- 如果指定路径存在,是需要软件自己在下面建子目录安装的。比如用户 C 盘空间不足,填写安装路径为 D:\Software\ (已存在),不代表软件可以直接使用这个路径,是需要建子目录的,卸载时候也不能直接把 D:\Software\ 全部删除。用户没把路径填全是一个问题,开发团队有责任也是确实的。

#7 安装目标选根目录时不会自动建立子目录,so

你们这就是有点纯抬杠了。即便不装根目录,比如装在更常见的 C:\Program Files 这些目录下,卸载的时候也会直接把 C:\Program Files 给清空

正常来说都不应该把应用程序安装在根目录下的

看样子可能还会是这样:1. 用户有一个 D:\game2. 用户选择把游戏安装在 D:\game 下3. 正常来讲软件应该要自己建一个子目录,比如 gf2 ,完整目录就是 D:\game\gf24. 但是看样子 gf2 没这么干,直接把游戏本体和 unist.exe 装在了 D:\game 下5. 用户选择卸载,卸载程序看了一下安装目录,嗯,D:\game ,直接清空6. have fun !

说白了,安装程序还是得自己创建下子目录比如我选择了 C:\,就给我装在 C:\GAME_NAME 下,我选择了 C:\yellow\game ,就给我装在 C:\yellow\game\GAME_NAME 下但是似乎不愿意这么干的安装程序,占比并不在小....

楼上有几个给开发方洗地的是什么脑回路?即便用户指定根目录,难道常识不应该是安装程序创建一个专门的子目录吗?

不会创建子目录就是软件的问题

不好安装也会,之前的 nvidia linux 驱动 sudo rm -rf / 斜杠前没加点

之前有见过弱智开发者 windows 安装程序直接按进程名 kill 的合着全宇宙这个进程名被他们家独占了

我老早之前读本科的时候遇到过,当时是腾讯会议,我那个腾讯会议也是 N 久之前装的,忘了是默认路径还是啥,反正就是安装路径在桌面上。然后有次要参加会议,腾讯会议要求强制更新,我点了更新,然后就傻眼了,桌面上的文件开始以 0.5 秒/个的速度在我眼皮底下一个个自动消失,我只能眼睁睁看着没法做任何操作打断进程。就腾讯会议更新了这不到十秒钟的时间,桌面上文件全没了。我没再动过电脑,第一时间找了数据恢复的,结论都是无法恢复,因为字节都给粉碎干净了。损失包括大量放桌面文件夹里的实用软件、离提交期限还剩两个月的本科毕业论文和全部实验数据,以及大量快捷方式。后来问了别人才知道,应该是腾讯会议的原因。因为安装路径是桌面,腾讯会议更新时有一步会把自己路径下的旧版本过期文件清理掉,于是他就把桌面与自己无关的文件全部识别为不需要文件给粉碎了。从此以后再也没把任何程序的安装路径设置为桌面。

所以我现在每隔几个月就把固态全盘备份一次到机械上

我没遇到过卸载软件误删这种问题,但是遇到过一次浏览器网站数据( localstorage )更新被误删的问题

我试过被 steam 清空过

somehow ,想到著名的 'rm -rf /usr /something' 事件。 github.com/MrMEEE/bumblebee-Old-and-abbandoned/issues/123

很多软件都是这个卸载逻辑,真要做防呆也应该是在安装的时候做

这个真不怪用户好吧,确实有一小部分不守规矩的软件/游戏安装的时候不会自己创建目录,老手会特别注意一下安装程序的行为,普通用户(特别是这些在智能手机时代成长起来的手游玩家)未必有这种习惯

软件安装两种方式:1 、选择目标目录后,软件会自己创建一个子目录来放置文件;2 、选择目标目录后,直接释放文件到目录里面。似乎没人规范这两种安装方式,不过最好还是不要直接装根目录好点。

安装目录的选择没有统一的规范且相当混乱,很多安装程序会有一个默认的安装路径,比如 C:\Program Files (x86),在默认路径下,程序会自动创建一个文件夹,但如果选择了自定义路径,程序反而不会自动创建一个文件夹,而是直接释放在选择的路径的根目录。而有些程序在安装时不管什么情况都会自动创建一个新目录,这种情况下如果用户提前创建好目录会嵌套。

即使是 D:\game 被删了,也不会导致整个 D:里面的文件被删除,看那那张图的说明是要用户去建两层目录去安装,如果是两层,他卸载的时候删除的是父目录的父目录,无法理解的逻辑

卸载的规范做法明明是把自己程序的文件挨个删除,怎么到现在成了清空目录了呢

其实以前 Phantasy Star Online 2 出过一次更新游戏的时候, 启动器删除 C 盘文件的神秘操作, 直接删到宕机. www.neogaf.com/threads/latest-phantasy-star-online-2-update-deletes-files-from-users-pcs.669129/比鹰脚的 rm -rf ./* 高到不知道哪里去了.

如果哪个用户没分区,会不会把系统也扬了?

安装程序占三成锅,卸载程序占七成。一般的卸载程序是根据安装时生成的文件列表删除文件,最多针对一下缓存目录和用户数据目录,而不是把安装目录下所有文件全扬了

零几年刚用上电脑的时候就遇见过,具体是哪个软件记不清了,卸载时就是直接清除安装目录下的所有文件,后来也都会长个心眼。但是安装器的行为不统一确实是徒增心智负担,在修改安装目录后,有的会自动创建子目录,有的不会,为了放心还是会自己手动新建一个子目录,就导致一些软件的安装目录变成了 D:\abc\abc\

当年 EVE 的卸载器也是同样的毛病,不奇怪了

安装过很多工业软件,自己装也帮别人装,习惯是改软件默认目录的根,比如 c 盘改 d 盘,后面路径不改,因为软件会有很多二开的外挂,胡乱改路径外挂用不了。卸载也很方便,卸载程序卸载重启后直接目录删除,干净又健康。

微软的锅吧(也不给个标准有些软件不改路径会自动创建文件夹有些软件改了路径不会自动创建文件夹有些根本就不会创建文件夹每次安装新软件的时候都要纠结要不要创建个文件夹给它创建了又怕到时候叠了两个文件夹不创建又怕到时候这软件的所有文件都散落在 program files 里🐶

这个当然是开发方全责

现成的开源工具不拿去换皮,非要自己玩,测试还不足,这下玩大了。

以前很多软件的卸载程序会生存一个 uninsall.txt 按文件路径删

#14 #16 #25我印象里大多数软件都是不额外建立目录的,但多数软件的安装程序的默认目录都是不存在的目录(比如目录是 C:\Program Files\ProductName )而且如果目标目录安装前已经存在且不是这个软件的旧版本(原地更新的话)会警告用户。 #36规范是默认安装在 %LOCALAPPDATA%\Programs (单用户)或者 %PROGRAMFILES%(整个系统)里面,并且建立 ProductName 或者 CompanyName\ProductName 子目录,以及 Windows 应用商店应用由 Windows 部署。

把用户文件删了,就道个歉?

你要找的是不是:JDK

游戏开发和测试背大锅,毕竟不是每个游戏玩家都懂这些东西的。开发时需要替用户考虑到各方面问题

哈哈哈,忘了是哪个软件了,当时把我 appdata 目录全干掉了,他大爷的

技术太硬

10 年前就被迅雷坑过

想起来我程序删日志差点把客户配置目录删光......

Yes, generate a uninstall.dat. That's the right way to do this.

嗯嗯,OP 说的对,学习了。

分享一个:同花顺 PC 客户端的卸载程序, 就是这种逻辑。 如果在根目录,那你整个磁盘就空了。

楼上好多人都不知道 Windows 正常安装、卸载程序的逻辑吗???标准安装的 Windows 程序,安装和更新时都会记录创建了哪些文件夹、文件、注册表项、服务等。当使用 Windows 卸载软件功能时,会按照这个记录去删除每个当初安装的文件、文件夹(如果文件夹为空)等,而不是无脑地清空整个安装目录。这样做固然会导致残留部分目录,但是安全。如果你觉得用户可能对残留目录不满意,大可以询问用户是否进一步删除残留的文件(并警告可能删除这些目录里其他文件)。某些傻叉软件,既自作聪明搞自己的非标准安装包,又偷懒不记录每个创建的文件,最后不知道哪些是自己的文件,只能整个安装目录一删了之。

另外见过不少金融类软件、政府类软件都是直接在 C: 根目录建个文件夹装在里面,根本不走 Windows 的 Program Files 那套目录标准,猜测可能是安全审计要求。

某国产手机清理软件,就曾经在明明是自己选择清理了很少几个项目,大概 1G 左右吧,顺便帮我把几十 G 的钛备份文件清理掉了,跟谁说理去,几年收藏的各种 apk 就这么没了

这得吃官司

现在都是 SSD 盘有很多不分区的,何况大多数软件就是默认 C 盘,有什么问题?楼上几个评论给我看懵逼了,哪里来的傻狗死一边去。

#19 好惨,你的毕业论文相关的东西有在云盘备份吗-。-没有的话好绝望

最后在一个外接硬盘里找到了好几个版本之前毕业论文的存档,实际损失约 40%的进度。基础数据也保留下来了,但图表需要重绘。

把程序装到根目录并不能说少见,我见过不少装打印机驱动都给装到 c 盘根目录的情况,如果是逻辑不好的卸载程序真的有隐患,所以这个帖子是值得让人警醒的!

会的,已经试验过了

何况大多数软件就是默认 C 盘绝大多数软件默认选择的虽然是 C 盘,但不是 C 盘跟目录。> 哪里来的傻狗死一边去现在再来回味下你说的这句话。

不仅仅可能会清空 c 盘,像阿里云盘这种脑残,甚至可以不管你原安装地址,只要更新升级,就给你装到 c 盘用户目录下

这种人无知且自大