• 请不要在回答技术问题时复制粘贴 AI 生成的内容
mikewang
V2EX  ›  程序员

卸载软件的时候需要注意了,质量不好卸载程序会清空您的磁盘 :)

  •  2
     
  •   mikewang ·
    MikeWang000000 · Sep 28, 2023 · 10343 views
    This topic created in 1132 days ago, the information mentioned may be changed or developed.

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


    尊敬的指挥官:

    在今日 12:00 所发布的引力测试 PC 客户端,若进行“卸载游戏文件”操作,在执行游戏卸载时会根据所安装的游戏目录不同,出现将游戏安装盘符内所有文件删除的问题。
    我们在发现问题后,进行了多次重现测试,测试结果与上述一致,在执行“卸载游戏文件”操作时会根据游戏安装目录的不同,出现清空游戏客户端文件所在目录内所有文件的问题,包括根目录。

    会导致卸载时出现清空游戏客户端文件所在目录内所有文件的问题主要集中在安装游戏路径在根目录时,如:C:/
    在此,我们呼吁每一位看到此说明的指挥官,在游戏安装时如需要修改安装路径,请不要直接安装在根目录下,而是多设一层子目录,如:C:/GF2Exilium/GF2 Game

    若您此刻想进行“卸载游戏文件”操作,而安装时也直接安装至根目录时,烦请您不要使用启动器的“卸载游戏文件”功能,转由手动删除游戏文件进行。

    出现了这样的错误,我们诚恳、诚挚地向各位指挥官道歉,这样的品控问题也是不应该出现的,我们定将重视此次问题,对之后的品控管理进行加强与监管。
    此问题的应对我们正在紧急赶制中,会尽快进行问题修复。
    最后,对各位指挥官一直以来的包容与支持我们衷心表示感谢,感谢您们!

    《少女前线 2:追放》团队

    65 replies  •  2023-10-01 22:32:44 +08:00
    sduoduo233
    sduoduo233
    Sep 28, 2023
    1
    很正常吧,装软件的时候不应该选个空目录吗
    aisk
    aisk
    Sep 28, 2023
    2
    会有人把安装路径直接选在 C 盘根目录吗?
    Ketteiron
    Ketteiron
    Sep 28, 2023
    3
    @sduoduo233 2023 年了,我觉得很不正常。
    Eiden
    Eiden
    Sep 28, 2023❤️1
    4
    之前有个软件就是默认装 c 盘根目录的, 卸载的时候吓死我了直接断电
    zq11211277
    zq11211277
    Sep 28, 2023❤️17
    5
    但凡有一方正常 就不会出现这个问题
    ptaritsu
    ptaritsu
    Sep 28, 2023
    6
    少钱 2 这次态度太卑微了
    散包应该把这些乱改安装路径的用户批判一番
    (除非他们真的这么蠢的把默认安装路径放在磁盘根目录,这不可能吧)
    DefoliationM
    DefoliationM
    Sep 28, 2023
    7
    如果游戏是装在 C:/GF2 Game, 为什么卸载要把整个 C:删了,直接删 GF2 Game 不行吗?
    tyzandhr
    tyzandhr
    Sep 28, 2023 via Android❤️3
    8
    天哪,我的电脑在自动卸载原神!
    mikewang
    mikewang
    OP
    Sep 28, 2023
    9
    @sduoduo233 @zq11211277 @kumoilain
    其实软件的安装/卸载路径是有讲究的:

    - 如果指定路径不存在,那么可以直接使用安装;
    - 如果指定路径存在,是需要软件自己在下面建子目录安装的。

    比如用户 C 盘空间不足,填写安装路径为 D:\Software\ (已存在),不代表软件可以直接使用这个路径,是需要建子目录的,卸载时候也不能直接把 D:\Software\ 全部删除。

    用户没把路径填全是一个问题,开发团队有责任也是确实的。
    ljsh093
    ljsh093
    Sep 28, 2023❤️1
    10
    @DefoliationM #7 安装目标选根目录时不会自动建立子目录,so
    BeautifulSoap
    BeautifulSoap
    Sep 28, 2023
    11
    @sduoduo233
    @aisk
    @zq11211277
    你们这就是有点纯抬杠了。即便不装根目录,比如装在更常见的 C:\Program Files 这些目录下,卸载的时候也会直接把 C:\Program Files 给清空
    AV1
    AV1
    Sep 28, 2023
    12
    正常来说都不应该把应用程序安装在根目录下的
    MFWT
    MFWT
    Sep 28, 2023
    13
    @DefoliationM

    看样子可能还会是这样:

    1. 用户有一个 D:\game
    2. 用户选择把游戏安装在 D:\game 下
    3. 正常来讲软件应该要自己建一个子目录,比如 gf2 ,完整目录就是 D:\game\gf2
    4. 但是看样子 gf2 没这么干,直接把游戏本体和 unist.exe 装在了 D:\game 下
    5. 用户选择卸载,卸载程序看了一下安装目录,嗯,D:\game ,直接清空
    6. have fun !
    MFWT
    MFWT
    Sep 28, 2023
    14
    说白了,安装程序还是得自己创建下子目录
    比如我选择了 C:\,就给我装在 C:\GAME_NAME 下,我选择了 C:\yellow\game ,就给我装在 C:\yellow\game\GAME_NAME 下
    但是似乎不愿意这么干的安装程序,占比并不在小....
    kloudmuka
    kloudmuka
    Sep 28, 2023❤️5
    15
    楼上有几个给开发方洗地的是什么脑回路?即便用户指定根目录,难道常识不应该是安装程序创建一个专门的子目录吗?
    aliveyang
    aliveyang
    Sep 28, 2023
    16
    不会创建子目录就是软件的问题
    mauis
    mauis
    Sep 28, 2023
    17
    不好安装也会,之前的 nvidia linux 驱动 sudo rm -rf / 斜杠前没加点
    slowman
    slowman
    Sep 28, 2023
    18
    之前有见过弱智开发者 windows 安装程序直接按进程名 kill 的
    合着全宇宙这个进程名被他们家独占了
    admin13579
    admin13579
    Sep 28, 2023
    19
    我老早之前读本科的时候遇到过,当时是腾讯会议,我那个腾讯会议也是 N 久之前装的,忘了是默认路径还是啥,反正就是安装路径在桌面上。

    然后有次要参加会议,腾讯会议要求强制更新,我点了更新,然后就傻眼了,桌面上的文件开始以 0.5 秒/个的速度在我眼皮底下一个个自动消失,我只能眼睁睁看着没法做任何操作打断进程。就腾讯会议更新了这不到十秒钟的时间,桌面上文件全没了。我没再动过电脑,第一时间找了数据恢复的,结论都是无法恢复,因为字节都给粉碎干净了。损失包括大量放桌面文件夹里的实用软件、离提交期限还剩两个月的本科毕业论文和全部实验数据,以及大量快捷方式。

    后来问了别人才知道,应该是腾讯会议的原因。因为安装路径是桌面,腾讯会议更新时有一步会把自己路径下的旧版本过期文件清理掉,于是他就把桌面与自己无关的文件全部识别为不需要文件给粉碎了。
    从此以后再也没把任何程序的安装路径设置为桌面。
    abcdxe2v
    abcdxe2v
    Sep 28, 2023
    20
    所以我现在每隔几个月就把固态全盘备份一次到机械上
    abcdxe2v
    abcdxe2v
    Sep 28, 2023
    21
    我没遇到过卸载软件误删这种问题,但是遇到过一次浏览器网站数据( localstorage )更新被误删的问题
    ochatokori
    ochatokori
    Sep 28, 2023 via Android
    22
    我试过被 steam 清空过
    chenshaoju
    chenshaoju
    Sep 28, 2023❤️1
    23
    somehow ,想到著名的 'rm -rf /usr /something' 事件。

    https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/issues/123
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Sep 29, 2023 via Android
    24
    很多软件都是这个卸载逻辑,真要做防呆也应该是在安装的时候做
    XnEnokq9vkvVq4
    XnEnokq9vkvVq4
    Sep 29, 2023
    25
    这个真不怪用户好吧,确实有一小部分不守规矩的软件/游戏安装的时候不会自己创建目录,老手会特别注意一下安装程序的行为,普通用户(特别是这些在智能手机时代成长起来的手游玩家)未必有这种习惯
    vialon17
    vialon17
    Sep 29, 2023
    26
    软件安装两种方式:
    1 、选择目标目录后,软件会自己创建一个子目录来放置文件;
    2 、选择目标目录后,直接释放文件到目录里面。
    似乎没人规范这两种安装方式,
    不过最好还是不要直接装根目录好点。
    cosette
    cosette
    Sep 29, 2023
    27
    安装目录的选择没有统一的规范且相当混乱,很多安装程序会有一个默认的安装路径,比如 C:\Program Files (x86),在默认路径下,程序会自动创建一个文件夹,但如果选择了自定义路径,程序反而不会自动创建一个文件夹,而是直接释放在选择的路径的根目录。

    而有些程序在安装时不管什么情况都会自动创建一个新目录,这种情况下如果用户提前创建好目录会嵌套。
    DefoliationM
    DefoliationM
    Sep 29, 2023
    28
    @MFWT 即使是 D:\game 被删了,也不会导致整个 D:里面的文件被删除,看那那张图的说明是要用户去建两层目录去安装,如果是两层,他卸载的时候删除的是父目录的父目录,无法理解的逻辑
    shalingye
    shalingye
    Sep 29, 2023 via Android
    29
    卸载的规范做法明明是把自己程序的文件挨个删除,怎么到现在成了清空目录了呢
    israinbow
    israinbow
    Sep 29, 2023
    30
    其实以前 Phantasy Star Online 2 出过一次更新游戏的时候, 启动器删除 C 盘文件的神秘操作, 直接删到宕机.
    https://www.neogaf.com/threads/latest-phantasy-star-online-2-update-deletes-files-from-users-pcs.669129/

    比鹰脚的 rm -rf ./* 高到不知道哪里去了.
    jr55475f112iz2tu
    jr55475f112iz2tu
    Sep 29, 2023❤️3
    31
    如果哪个用户没分区,会不会把系统也扬了?
    mercury233
    mercury233
    Sep 29, 2023❤️1
    32
    安装程序占三成锅,卸载程序占七成。一般的卸载程序是根据安装时生成的文件列表删除文件,最多针对一下缓存目录和用户数据目录,而不是把安装目录下所有文件全扬了
    hs444
    hs444
    Sep 29, 2023 via Android
    33
    零几年刚用上电脑的时候就遇见过,具体是哪个软件记不清了,卸载时就是直接清除安装目录下的所有文件,后来也都会长个心眼。但是安装器的行为不统一确实是徒增心智负担,在修改安装目录后,有的会自动创建子目录,有的不会,为了放心还是会自己手动新建一个子目录,就导致一些软件的安装目录变成了 D:\abc\abc\
    mingl0280
    mingl0280
    Sep 29, 2023 via Android
    34
    当年 EVE 的卸载器也是同样的毛病,不奇怪了
    bt7vip
    bt7vip
    Sep 29, 2023 via Android
    35
    安装过很多工业软件,自己装也帮别人装,习惯是改软件默认目录的根,比如 c 盘改 d 盘,后面路径不改,因为软件会有很多二开的外挂,胡乱改路径外挂用不了。卸载也很方便,卸载程序卸载重启后直接目录删除,干净又健康。
    yigecaiji
    yigecaiji
    Sep 29, 2023 via Android
    36
    微软的锅吧(
    也不给个标准
    有些软件不改路径会自动创建文件夹
    有些软件改了路径不会自动创建文件夹
    有些根本就不会创建文件夹
    每次安装新软件的时候都要纠结要不要创建个文件夹给它
    创建了又怕到时候叠了两个文件夹
    不创建又怕到时候这软件的所有文件都散落在 program files 里🐶
    wonderfulcxm
    wonderfulcxm
    Sep 29, 2023 via iPhone
    37
    这个当然是开发方全责
    jackmod
    jackmod
    Sep 29, 2023
    38
    现成的开源工具不拿去换皮,非要自己玩,测试还不足,这下玩大了。
    devliu1
    devliu1
    Sep 29, 2023 via Android
    39
    以前很多软件的卸载程序会生存一个 uninsall.txt 按文件路径删
    geelaw
    geelaw
    Sep 29, 2023 via iPhone
    40
    @MFWT #14
    @aliveyang #16
    @hanqian #25

    我印象里大多数软件都是不额外建立目录的,但多数软件的安装程序的默认目录都是不存在的目录(比如目录是 C:\Program Files\ProductName )而且如果目标目录安装前已经存在且不是这个软件的旧版本(原地更新的话)会警告用户。

    @yigecaiji #36

    规范是默认安装在 %LOCALAPPDATA%\Programs (单用户)或者 %PROGRAMFILES%(整个系统)里面,并且建立 ProductName 或者 CompanyName\ProductName 子目录,以及 Windows 应用商店应用由 Windows 部署。
    qing18
    qing18
    Sep 29, 2023❤️3
    41
    把用户文件删了,就道个歉?
    DogBear
    DogBear
    Sep 29, 2023 via Android❤️1
    42
    你要找的是不是:JDK
    pioneerzxb
    pioneerzxb
    Sep 29, 2023 via iPhone
    43
    游戏开发和测试背大锅,毕竟不是每个游戏玩家都懂这些东西的。开发时需要替用户考虑到各方面问题
    iScout
    iScout
    Sep 29, 2023
    44
    哈哈哈,忘了是哪个软件了,当时把我 appdata 目录全干掉了,他大爷的
    y1y1
    y1y1
    Sep 29, 2023
    45
    技术太硬
    caiqichang
    caiqichang
    Sep 29, 2023
    46
    10 年前就被迅雷坑过
    ohwind
    ohwind
    Sep 29, 2023
    47
    想起来我程序删日志差点把客户配置目录删光......
    araraloren
    araraloren
    Sep 29, 2023
    48
    @devliu1 Yes, generate a uninstall.dat. That's the right way to do this.
    hefish
    hefish
    Sep 29, 2023
    49
    嗯嗯,OP 说的对,学习了。
    paradoxs
    paradoxs
    Sep 29, 2023
    50
    分享一个:

    同花顺 PC 客户端的卸载程序, 就是这种逻辑。 如果在根目录,那你整个磁盘就空了。
    snw
    snw
    Sep 29, 2023 via Android❤️2
    51
    楼上好多人都不知道 Windows 正常安装、卸载程序的逻辑吗???

    标准安装的 Windows 程序,安装和更新时都会记录创建了哪些文件夹、文件、注册表项、服务等。当使用 Windows 卸载软件功能时,会按照这个记录去删除每个当初安装的文件、文件夹(如果文件夹为空)等,而不是无脑地清空整个安装目录。

    这样做固然会导致残留部分目录,但是安全。如果你觉得用户可能对残留目录不满意,大可以询问用户是否进一步删除残留的文件(并警告可能删除这些目录里其他文件)。

    某些傻叉软件,既自作聪明搞自己的非标准安装包,又偷懒不记录每个创建的文件,最后不知道哪些是自己的文件,只能整个安装目录一删了之。
    snw
    snw
    Sep 29, 2023 via Android
    52
    另外见过不少金融类软件、政府类软件都是直接在 C: 根目录建个文件夹装在里面,根本不走 Windows 的 Program Files 那套目录标准,猜测可能是安全审计要求。
    wtdd
    wtdd
    Sep 29, 2023
    53
    某国产手机清理软件,就曾经在明明是自己选择清理了很少几个项目,大概 1G 左右吧,
    顺便帮我把几十 G 的钛备份文件清理掉了,跟谁说理去,几年收藏的各种 apk 就这么没了
    archxm
    archxm
    Sep 29, 2023 via Android
    54
    这得吃官司
    amon
    amon
    Sep 29, 2023
    55
    现在都是 SSD 盘有很多不分区的,何况大多数软件就是默认 C 盘,有什么问题?

    楼上几个评论给我看懵逼了,哪里来的傻狗死一边去。
    fzls
    fzls
    Sep 29, 2023
    56
    @admin13579 #19 好惨,你的毕业论文相关的东西有在云盘备份吗-。-没有的话好绝望
    admin13579
    admin13579
    Sep 29, 2023 via Android
    57
    @fzls 最后在一个外接硬盘里找到了好几个版本之前毕业论文的存档,实际损失约 40%的进度。基础数据也保留下来了,但图表需要重绘。
    trojancow
    trojancow
    Sep 29, 2023
    58
    把程序装到根目录并不能说少见,我见过不少装打印机驱动都给装到 c 盘根目录的情况,如果是逻辑不好的卸载程序真的有隐患,所以这个帖子是值得让人警醒的!
    lovelive1024
    lovelive1024
    Sep 29, 2023
    59
    @czfy 会的,已经试验过了
    aisk
    aisk
    Sep 29, 2023
    60
    @amon > 何况大多数软件就是默认 C 盘

    绝大多数软件默认选择的虽然是 C 盘,但不是 C 盘跟目录。

    > 哪里来的傻狗死一边去

    现在再来回味下你说的这句话。
    nullref
    nullref
    Sep 29, 2023
    61
    不仅仅可能会清空 c 盘,像阿里云盘这种脑残,甚至可以不管你原安装地址,只要更新升级,就给你装到 c 盘用户目录下
    wcnmm
    wcnmm
    Sep 30, 2023
    62
    @aisk 这种人无知且自大
    sariya
    sariya
    Sep 30, 2023 via Android
    63
    这种就是卸载程序的锅,要么是建专有目录再删,要么就是内置游戏的文件列表根据列表去删
    minamike
    minamike
    Oct 1, 2023 via iPhone
    64
    惊 我还以为 windows 卸载是根据一个列表逐项删除的 没想到是简单粗暴直接删除安装根目录
    ShelterLee
    ShelterLee
    Oct 1, 2023
    65
    我已经被整怕了,现在安装应用改目录必须要手动创建一个这个程序的目录,有的会自动创建有的不会 太哈人了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5195 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 1042ms · UTC 06:33 · PVG 14:33 · LAX 22:33 · JFK 01:33
    ♥ Do have faith in what you're doing.