如果用户电脑上没有.NET 运行库(或者 VC++,只是举个例子),我程序安装过程中给用户电脑自动安装.NET 运行库,卸载的时候应该把.NET 运行库一起卸载掉吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
drymonfidelia
V2EX    程序员

如果用户电脑上没有.NET 运行库(或者 VC++,只是举个例子),我程序安装过程中给用户电脑自动安装.NET 运行库,卸载的时候应该把.NET 运行库一起卸载掉吗?

  •  
  •   drymonfidelia 314 天前 2315 次点击
    这是一个创建于 314 天前的主题,其中的信息可能已经有所发展或是发生改变。
    14 条回复    2024-12-01 21:07:25 +08:00
    YGHMXFAL
        1
    YGHMXFAL  
       314 天前 via Android
    如果在安装你的程序之后,用户又安装了另外一款依赖.NET 的程序呢

    你把运行库删了,TA 后安装的程序也炸了,或者你卸载时提示一下用户?
    bruce0
        2
    bruce0  
       314 天前
    不能卸载吧, 你的安装程序安装了一个 VC++库, 我的程序也需要用到, 你的程序先安装的, 我的程序在安装的时候检测到电脑上有了,就跳过安装, 你卸载的时候把 VC++ 库删了, 那我的程序不是也跟着崩了

    理想状态下,Windows 系统应该有个规范(我不清楚现在有没有,还是已经有了,但是没人遵守) 每个程序在安装的时候,在注册表的一个位置写一下自己依赖哪些库,在删除的时候把对应的记录删了,这样系统就能知道某个库当前有几个程序依赖,对于那些没有使用的库就可以放心的删除了
    fbichijing
        3
    fbichijing  
       314 天前
    我觉得不用。如果不会影响到他原来的程序运行。新装上的中间层也方便自己后续给对方提供程序。对于用户的电脑来说,应该不算什么太大的负担。

    .NET 运行库是指 .NET CORE 吗?
    flyqie
        4
    flyqie  
       314 天前 via Android
    删了你放心,用户绝对会骂你的。。

    这种基础 runtime 一般装上了就没有再卸载的了,因为很难判断是否有其他程序依赖。
    lizhengbo
        5
    lizhengbo  
       314 天前 via Android
    这东西肯定不能卸,打比方别人安装过 vc++ 2022 1.x 版本,你给安了个 vc++ 2022 2.x 版本。

    卸载就炸了,.NET 也是一样,除非你判断电脑之前没安过这个依赖,问题读取注册表、目录,还要兼容不同版本系统等等一系列代码,直接不卸载不久完事了。
    lizhengbo
        6
    lizhengbo  
       314 天前 via Android   3
    网上冲浪♂二十年,总之没见过安了 vc++ .net 依赖还卸载的
    crysislinux
        7
    crysislinux  
       314 天前 via Android
    没必要,这些运行库加一块儿也没多大。
    Hanyoking
        8
    Hanyoking  
       314 天前
    装都装了,没必要卸了吧,有些程序还是会需要用到运行库的
    beginor
        9
    beginor  
       313 天前
    .NET 的话可以单文件发布啊,自带运行时就没有这个问题了。 如果是 C++的话,可以编译为静态依赖库, 做成绿色版
    PrinceofInj
        10
    PrinceofInj  
       313 天前
    不卸,也没必要,只是库文件,留在电脑上最大的影响也就是卸载程序列表里面有几条信息。
    thinkershare
        11
    thinkershare  
       313 天前
    .NET Core 后,你担心这个问题,直接不要依赖系统的 runtime 好了,自己将运行时捆绑到自己的目录。
    Domado data-uid=
        12
    Domado  
       313 天前
    肯定不能卸载啊,这些是运行库,必要文件,属于基础系统组件的,你卸载了用户其他的程序要运行怎么办?
    spediacn
        13
    spediacn  
       313 天前 via iPhone
    为啥要装呢,集成进 app 里不是更好吗?
    会多占一点空间,但兼容性更好
    zhuangzhuang1988
        14
    zhuangzhuang1988  
       313 天前
    自带 runtime 发布
    甚至可以单文件发布。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     976 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 19:14 PVG 03:14 LAX 12:14 JFK 15:14
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86