V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nikoo
V2EX  ›  问与答

Windows 的软件卸载是纯凭良心的吗?

  •  1
     
  •   nikoo · 2017-08-05 10:34:26 +08:00 · 6618 次点击
    这是一个创建于 2666 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在 WIN10 下,如果开发者在卸载功能中不卸载某系统服务,或启动项,那么是不是可以随意把程序永久驻留在用户系统?

    刚想同步一个配置文件,在我刚买的 SurfacePro 上装了 Dropbox,结果发现并不好用,卸载后 Dropbox 仍残留在程序列表,双击后说软件有问题问我是否从列表移除,移除后发现系统进程 DbxScv 仍然跑的欢,强制杀死该进程,并删除该文件(在 C:\Windows\System32\ 目录下),重启后发现 Dropbox Update 进程,还两个一起跑,杀掉进程,删除残留的 Dropbox 目录,发现在 C:\Windows\Tasks 仍然残留两个 Dropbox 的更新任务,此时我还没检查 msconfig 里 Dropbox 的启动项和注册表残留,我感觉是真清不干净了。。。

    因为是新买的 Surface 新的系统,实在是有点洁癖,于是开始系统恢复。。。

    系统恢复后,之前卸载了的 office 365 试用版又回来了,可以理解,继续卸载,结果发现卸载不了!出现错误信息 Error Code:30015-4(1006),一搜发现根本没有有效解决方案,微软甚至为卸载 Office 提供了一个专门的页面和一个专门的卸载工具 https://support.office.com/en-us/article/Uninstall-Office-from-a-PC-9dd49b83-264a-477a-8fcc-2fdf5dbf61d8 只得下载并执行该卸载工具,虽然最后蹦出未解决的问题信息,但还总算是把 Office 给卸了。。。


    Windows 的问题是,一旦安装某软件,该软件即在系统里四处开花,重要的系统目录下(例如 C:\Windows\System32\)随意增加该软件的执行程序,随意在系统服务中增加任意多的服务,随意在启动项里增加执行程序,而卸载功能形同虚设,卸载出错、失败屡见不鲜。

    真的是喜欢 iOS 的软件机制
    不太了解,Mac 系统是如何的呢?假设是将应用拖入 application 的方式安装后,再将该应用移动到垃圾箱,可能会存在残留吗?

    -------------
    PS:Dropbox 无法正常卸载我相信是技术问题导致而非有意而为之
    59 条回复    2017-08-06 23:25:15 +08:00
    Osk
        1
    Osk  
       2017-08-05 10:39:57 +08:00
    不管哪个系统,只要是开放的,授予了权限的话,不都是看开发人员良心的吗。。。
    ooxxcc
        2
    ooxxcc  
       2017-08-05 10:40:36 +08:00
    一直是这样的……
    340244120
        3
    340244120  
       2017-08-05 10:41:08 +08:00 via Android   ❤️ 1
    深度洁癖请使用 https://portableapps.com
    nikoo
        4
    nikoo  
    OP
       2017-08-05 10:42:44 +08:00
    @Osk iOS 会有 app 卸载失败的问题,或卸载后残留的问题吗?
    gouflv
        5
    gouflv  
       2017-08-05 10:44:00 +08:00 via iPhone   ❤️ 1
    用 windows 就该有觉悟,比如当个游戏机就不会太纠结这些了
    boboliu
        6
    boboliu  
       2017-08-05 10:44:18 +08:00
    @nikoo iOS 开放么?
    mooncakejs
        7
    mooncakejs  
       2017-08-05 10:46:49 +08:00   ❤️ 1
    @nikoo macos 照样会有,特别是 pkg 安装的
    littleylv
        8
    littleylv  
       2017-08-05 10:47:43 +08:00   ❤️ 1
    macOS 也没有拉入 Application 和扔进回收站那么简单。还是有很多地方比如用户文件夹很多东西的
    nikoo
        9
    nikoo  
    OP
       2017-08-05 10:50:15 +08:00
    @gouflv 是,我的 PC 就太纠结,用的也没毛病,主要新买的机器洁癖劲就上来了。。。

    @mooncakejs 谢谢,假设是在 Mac 自带的 Store 里安装的软件,有可能(或者说有权限)会残留吗?
    gdtv
        10
    gdtv  
       2017-08-05 10:57:29 +08:00   ❤️ 1
    所以我用 sandboxie
    hjc4869
        11
    hjc4869  
       2017-08-05 11:04:13 +08:00   ❤️ 3
    你可以选择只使用 Windows Store,这样就跟 iOS 一样了
    SuperMild
        12
    SuperMild  
       2017-08-05 11:09:57 +08:00   ❤️ 1
    试用的时候用 sandboxie,试好了可以真实安装,这是用一个叫什么 complete uninstall 之类的软件来安装(具体名字忘了),以后就可以干净卸载了。
    nikoo
        13
    nikoo  
    OP
       2017-08-05 11:11:45 +08:00
    @hjc4869 谢谢,请问在 Windows Store 里安装的软件,卸载仍然是在系统的控制面板卸载吗?
    pqee
        14
    pqee  
       2017-08-05 11:13:42 +08:00 via Android
    所以我们需要 360 …
    xiaopc
        15
    xiaopc  
       2017-08-05 11:18:57 +08:00 via Android
    @nikoo UWP 应用是在新版设置里卸载
    geelaw
        16
    geelaw  
       2017-08-05 11:19:34 +08:00 via iPhone
    @nikoo 开始菜单找到这个程序,右键,卸载,确认,就一干二净了; 30 天后云上的数据也会一并清除
    Mac
        17
    Mac  
       2017-08-05 11:21:25 +08:00
    讲道理,WINDOWS 下一半是 WINDOWS 乱七八糟的控件注册引用和注册机制自己的锅。早年间,一帮 install 制作软件里的 uninstall 自己都删不清自己装的东西。
    lfk0000
        18
    lfk0000  
       2017-08-05 11:31:01 +08:00
    GeekUninstaller
    RevoUninstaller
    flyz
        19
    flyz  
       2017-08-05 11:32:48 +08:00 via Android
    安卓也是,看来是通病,无所谓了
    heiyutian
        20
    heiyutian  
       2017-08-05 11:48:13 +08:00 via Android
    碰到流氓软件的确很难受,玩安卓倒是问题不大,折腾几年了,最近开始玩 windows 之后,被各种流氓软件折腾怕了,主要是很多东西不了解,估计以后慢慢熟悉了就好,不过这对普通用户来说的确很烦。
    Cavolo
        21
    Cavolo  
       2017-08-05 11:53:26 +08:00 via iPhone
    Mac 的 pkg 一样需要第三方软件清理
    Quaintjade
        22
    Quaintjade  
       2017-08-05 12:04:53 +08:00 via Android
    @pqee 然而 360 自己卸载后还会残留自启动的虚拟驱动。。。
    TubroRock
        23
    TubroRock  
       2017-08-05 12:08:29 +08:00 via iPhone
    所以巨硬现在力推 UWP 了啊
    anheiyouxia
        24
    anheiyouxia  
       2017-08-05 12:21:20 +08:00 via Android
    是凭良心的,人家给你一个假卸载都可以,告诉你卸载了,最后什么文件都没删都可以。哪怕是卸载过程中一直告诉你报错,删不了,你也没办法。
    Tink
        25
    Tink  
       2017-08-05 12:25:06 +08:00 via iPhone
    你需要 revouninstaller
    HavenZhu
        26
    HavenZhu  
       2017-08-05 12:27:40 +08:00
    @nikoo 有的! A.BIG.T 卸载后,设置-V.P.N 里面一直都还在,不知道怎么弄掉~
    Microi
        27
    Microi  
       2017-08-05 12:40:04 +08:00
    Mac 好像连添加或卸载程序都没有?还是我没找到。
    geeklian
        28
    geeklian  
       2017-08-05 12:56:50 +08:00 via Android   ❤️ 4
    开放系统都是这样,android,macos,linux 不例外。享受开放系统的便捷,就要付出相当的代价。

    macos 的 appstore,windows 的 uwp,移动端的 ios,都是沙盒环境,没这个问题,但代价就是沙盒环境限制了软件的功能。
    terence4444
        29
    terence4444  
       2017-08-05 12:57:07 +08:00 via iPhone
    @nikoo 我碰到过白板图标的问题,没有越狱。某些设置项里可能也没有清除干净。
    tyfulcrum
        30
    tyfulcrum  
       2017-08-05 12:58:39 +08:00
    @nikoo iOS9 的时候有个应用卸载不了,后来升到 10 才搞定。
    chanssl
        31
    chanssl  
       2017-08-05 13:03:26 +08:00
    是啊,之前弄电视盒子时装了个豌豆荚,结果卸载后还有开机自启的系统服务
    pq
        32
    pq  
       2017-08-05 13:06:37 +08:00   ❤️ 1
    @340244120 用这种东西的话,万一前门拒虎,后门却进狼,咋办?
    nikoo
        33
    nikoo  
    OP
       2017-08-05 13:09:50 +08:00
    @TubroRock @geeklian 谢谢!是不是 windows 10 的 store 里安装的就是 UWP app ?
    Domains
        34
    Domains  
       2017-08-05 13:50:33 +08:00
    软件卸载也是参考着 uninstall.ini 文档里的列表删文件或反注册,要是这文件不齐全,当然是这样。
    Wolfsin
        35
    Wolfsin  
       2017-08-05 13:50:41 +08:00 via iPhone   ❤️ 1
    @nikoo 是,然而 uwp 因为沙盒机制会导致比起 exe 有功能上的缺失。看你怎么用了
    akira
        36
    akira  
       2017-08-05 14:12:17 +08:00
    对的,就是凭良心的。而且国内的下载站,很多时候提供的安装包会带些别的东西。
    Afanyiyu
        37
    Afanyiyu  
       2017-08-05 17:51:02 +08:00 via Android
    @Osk 同意。
    ps:一般软件自带的 uninstall 都**
    但有 msi 的话可以用 msiexec /u
    这个应该很完全
    或者实在受不了你可以用 UWP )滑稽
    nVoxel
        38
    nVoxel  
       2017-08-05 18:52:16 +08:00 via Android
    同样推荐 RevoUninstaller
    liyvhg
        39
    liyvhg  
       2017-08-05 19:06:31 +08:00 via Android
    ( 359+1 )就是这么做的,装了之后别想轻易清理干净
    honeycomb
        40
    honeycomb  
       2017-08-05 19:10:38 +08:00 via Android
    是的,纯凭良心。
    所以 mas 也好 windows store 也罢都强制要求沙盒( windows 对应从完整性级别发展而来的 app container )
    ysc3839
        41
    ysc3839  
       2017-08-05 19:47:35 +08:00 via Android
    是这样的。不过这不能怪系统,系统没办法控制安装程序和卸载程序干了啥。三大平台上,那些要管理员权限安装的程序都有这个问题,macOS 甚至没有提供卸载 pkg 的方法,还得靠第三方软件卸载。
    macOS 的大部分程序我称作“半绿色”程序,这些程序可以做到删除=卸载,但是会残留程序的配置文件。Windows 也有这样的程序,只不过没 macOS 那么多罢了。
    至于 iOS 这种移动操作系统,跟传统的 PC 操作系统区别很大的,PC 系统更开放,而移动系统更封闭。移动操作系统会专门分一块空间给 app 存放数据,每个 app 独立,所以可以做到完全删除。Windows 10 UWP 应用也是类似这样。
    fline
        42
    fline  
       2017-08-05 21:02:27 +08:00
    洁癖?这个世界拥有洁癖最好的方法,是遮住自己的眼睛。
    hjc4869
        43
    hjc4869  
       2017-08-05 21:05:44 +08:00
    @honeycomb Windows Store 上架的桌面 app 完整性级别是 medium,实际上没有沙盒。(用户还可以手动以管理员权限运行)
    系统会在 API 层把所有文件 /注册表操作都重定向到 app 自己的 data 目录里。
    ryd994
        44
    ryd994  
       2017-08-05 22:46:42 +08:00
    所以就算我用 Linux,非官方源的也会全部进 Docker
    DingSoung
        45
    DingSoung  
       2017-08-05 22:52:48 +08:00
    iOS 也有很多地方,如果滥用 也会留下很多垃圾的
    典型的就是 iCloud(很多科学软件也在用吧), 还有钥匙串,证书,还有一些全局的属性配置

    不过即便如此,iOS 的严格限制,相比其他的,包括 macOS, 好太多了
    iOS >> macOS >> Android > Linux >> Windows
    ztxgeol
        46
    ztxgeol  
       2017-08-05 22:54:15 +08:00 via Android
    @nikoo mac app store 装的 app 卸载之后照样残留,以前装过锤子的某款 transfer。。
    ysc3839
        47
    ysc3839  
       2017-08-05 23:27:52 +08:00
    @dingsoung Android 再怎么说都没有 macOS 开放,macOS 可是提供 root 权限的。
    belleveinvis
        48
    belleveinvis  
       2017-08-05 23:30:38 +08:00
    @Mac 谁叫 20 年前硬盘太小
    DingSoung
        49
    DingSoung  
       2017-08-05 23:53:44 +08:00
    @ysc3839 Android 现在很多也 root 吧, 即便不 root,国内那么多哪一个不是把 android 改的乱糟糟,开发也不规矩,用起来烦心
    LancerComet
        50
    LancerComet  
       2017-08-05 23:58:01 +08:00
    Revo Uninstaller 卸载
    能用 UWP 就用 UWP
    或者找点绿色软件
    ysc3839
        51
    ysc3839  
       2017-08-06 00:42:47 +08:00
    @dingsoung 但是 Android 不是自带 root 的。就举一个例子,在 macOS 有 TeamViewer 这样的软件可以远程控制电脑,而 Android 下 TeamViewer 根本无法实现操控手机。
    JamesR
        52
    JamesR  
       2017-08-06 01:01:31 +08:00
    绝大部分非流氓的软件,都能基本卸载干净。
    正常开发者没人会蛋疼搞个常驻,因为开发者自己还要做测试呢,卸不干净干毛。
    实在不行,可以定期重装系统啊,不就行了。
    cxbig
        53
    cxbig  
       2017-08-06 01:28:14 +08:00 via iPad
    哪个操作系统都无所谓的,卸载残留问题多少都有。还是看开发者的良心。
    MacOS 里面删 App,简单的只是让你把 App 从 /Applications 里删掉,但是有很多 cfg、log 分散在:/Library, ~/Library, /private, /etc, /usr/lib 等等地方。
    ysc3839
        54
    ysc3839  
       2017-08-06 02:13:43 +08:00
    @cxbig macOS 应该只会残留在当前用户的文件夹内吧?系统文件夹要 root 权限才能写入的。
    340244120
        55
    340244120  
       2017-08-06 03:17:20 +08:00 via Android
    @pq 不用下那平台 直接进 apps 频道里找软件就好了
    cxbig
        56
    cxbig  
       2017-08-06 04:30:13 +08:00 via iPad
    @ysc3839 看情况的,不同的用户类型会放不同的地方。
    比方说 /Applications 和~/Applications、/Library 和~/Library
    RqPS6rhmP3Nyn3Tm
        57
    RqPS6rhmP3Nyn3Tm  
       2017-08-06 04:57:08 +08:00 via iPad
    Mac 卸载才是凭良心,如何卸掉命令行工具的 pkg 包?请开始你的表演
    ialva
        58
    ialva  
       2017-08-06 09:52:12 +08:00 via iPhone
    当工具而已,能发现就清理,没看到就算了。
    Khlieb
        59
    Khlieb  
       2017-08-06 23:25:15 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1464 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:19 · PVG 01:19 · LAX 09:19 · JFK 12:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.