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

2024 年 11 月 30 日
 drymonfidelia
3183 次点击
所在节点    程序员
14 条回复
YGHMXFAL
2024 年 11 月 30 日
如果在安装你的程序之后,用户又安装了另外一款依赖.NET 的程序呢

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

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

.NET 运行库是指 .NET CORE 吗?
flyqie
2024 年 11 月 30 日
删了你放心,用户绝对会骂你的。。

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

卸载就炸了,.NET 也是一样,除非你判断电脑之前没安过这个依赖,问题读取注册表、目录,还要兼容不同版本系统等等一系列代码,直接不卸载不久完事了。
lizhengbo
2024 年 11 月 30 日
网上冲浪🏄‍♂️二十年,总之没见过安了 vc++ .net 依赖还卸载的😂
crysislinux
2024 年 11 月 30 日
没必要,这些运行库加一块儿也没多大。
Hanyoking
2024 年 12 月 1 日
装都装了,没必要卸了吧,有些程序还是会需要用到运行库的
beginor
2024 年 12 月 1 日
.NET 的话可以单文件发布啊,自带运行时就没有这个问题了。 如果是 C++的话,可以编译为静态依赖库, 做成绿色版
PrinceofInj
2024 年 12 月 1 日
不卸,也没必要,只是库文件,留在电脑上最大的影响也就是卸载程序列表里面有几条信息。
thinkershare
2024 年 12 月 1 日
.NET Core 后,你担心这个问题,直接不要依赖系统的 runtime 好了,自己将运行时捆绑到自己的目录。
Domado
2024 年 12 月 1 日
肯定不能卸载啊,这些是运行库,必要文件,属于基础系统组件的,你卸载了用户其他的程序要运行怎么办?
spediacn
2024 年 12 月 1 日
为啥要装呢,集成进 app 里不是更好吗?
会多占一点空间,但兼容性更好
zhuangzhuang1988
2024 年 12 月 1 日
自带 runtime 发布
甚至可以单文件发布。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1094009

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX