重装系统 Win 后如何快速批量安装软件?

2023-04-29 08:48:11 +08:00
 j717273419
windows 下重装系统后快速批量安装软件,配置开发环境?
每次都要重新弄各种开发工具安装,配置,还有常用软件,比如 7z ,chrome ,vs code ,source tree ,vmware 。都要浪费很多时间。

有没有什么办法能自动化这个过程?脚本之类的?早年用 windows xp 使用过 ghost ,感觉现在用这个是不是过时了?
8759 次点击
所在节点    Windows
68 条回复
Bob0800
2023-04-29 22:17:39 +08:00
Scoop/Chocolatey/Winget 大抵上是比较方便的。
ghostwwg
2023-04-29 22:32:07 +08:00
虚拟机装完后用 Sysprep 处理制作成初始化镜像,以后重装用 pe 指定这个镜像文件来安装。
7RTDKSAK
2023-04-29 22:47:53 +08:00
42 楼正解,企业批量部署都是这样操作,也是微软推荐地标准流程
Sakura0Tears
2023-04-29 23:12:19 +08:00
@ghostwwg 就是封装系统嘛
huangsen365
2023-04-29 23:38:52 +08:00
首先要问一下:为何是“每次”重装系统?
documentzhangx66
2023-04-30 02:57:38 +08:00
不好意思打脸楼上所有提自动化的。

Windows 常用软件的逻辑,和 Linux 系完全不一样,倒是更像安卓。

这类软件,更新很频繁,那些便携版本、winget 版本,根本跟不上官方更新速度。

而且 Windows 常用软件,主要用户,是普通人,因此安装包与安装过程,大多是做成 UI + 按钮 的逻辑,进行安装的,而且不同版本,安装过程、按钮数量与位置,很容易发生变化,用键鼠自动化工具,适配工作量也巨大。

所以:

如果想把 Windows 常用软件,做成 winget 或便携版本,那就注定更新不会很及时。

如果要及时更新,那就无法完全自动化,最多也就是用 360 软件管家,进行一键更新,但仍然有很多软件,因为适配不当,会弹出安装界面。

最后,对于自动党来说,如果你仔细观察,会发现,linux 那种 yum install 或 apt install ,安装的也不一定是官网最新版。甚至,在 yum install 或 apt install 时,如果你不带版本号,默认安装的版本,甚至会是很旧的版本。而且,如果你用一些比较特殊的 CPU 或网卡,yum 或 apt 安装的版本,甚至有可能无法兼容,导致无法运行。
abc8678
2023-04-30 07:51:56 +08:00
十几年前用的是云端软件平台,后来改用 sandboxie 沙盒应付一部分软件。刚刚看到楼上的 scoop ,准备去试试看
Sakura0Tears
2023-04-30 10:18:24 +08:00
傲梅行吗
SpecterShell
2023-04-30 13:07:47 +08:00
@documentzhangx66 #46 Scoop 的仓库可以每几个小时自动更新里面的软件包,便携化是通过直接解包安装程序实现的,所以里面的软件几乎都是新的。
对于 WinGet ,仓库内的所有软件包都能一键安装(不想要软件安装时的进度界面在 WinGet 后面加个`--silent`即可)。国内外大部分常用软件都适配了一键 /静默安装,问题不大。
testcaoy7
2023-04-30 13:10:34 +08:00
我已经很厌倦重装系统后的各种工作了

所以我现在刚刚把电脑装好,打完驱动之后就用 Clonezilla 做个镜像……
icaolei
2023-04-30 17:32:00 +08:00
@abc8678 #47 云端软件平台真的是个好东西,我一直是它的忠实簇拥,可惜了,无法规避盗版问题。直到现在我都还在寻找替代品,也看过 sandboxie ,但无法完全实现云端的功能。
abc8678
2023-04-30 18:09:21 +08:00
@icaolei 听说云端软件平台是沙盒加商店。当时不太懂电脑,后来已经凉了
documentzhangx66
2023-04-30 18:23:12 +08:00
@SpecterShell

我不是说这些自动化工具的仓库的更新频率慢,我是说,当一款软件,在其官网更新了新版本后,这些仓库不可能及时收录官网最新的包。

原因很简单,需要进行多平台测试 + 自动安装适配。Linux 的 yum 与 apt 也有这个问题。

这个问题之所以无解,是因为要做好这件事,成本太高了,需要养一个团队进行测试与适配工作。
SpecterShell
2023-04-30 20:17:57 +08:00
@documentzhangx66 #53
Linux 主要是碎片化的问题,即便是同一套源码在不同发行版都可能会出现不同的 bug 。Windows 的软件如果能在旧系统正常运行,之后的系统几乎也可以跑得动,出问题也是软件开发商的事不是自动化工具的事。
另外 Windows 软件的开发商提供的都是编译好的 EXE 或 MSI 安装程序,只要能解压或安装就可以用了,开发商没事也不会对安装程序瞎折腾。
Scoop 仓库、部分 Chocolatey 软件包和一些 WinGet 自动化项目都在用 GitHub Actions 进行自动化测试,即便在用户端出问题也可以通过 Issues 进行反馈。Scoop 的反馈(例如哈希不对)都做到自动化了。
documentzhangx66
2023-04-30 20:44:42 +08:00
@SpecterShell

Windows 类的软件,每次更新,UI 与安装流程,容易发生变动,所以自动化测试的成本,非常高。

我一直觉得,如果某款自动化安装的软件体系,没有收入来源,那么它可能比 yum 与 apt 的适配情况还要糟糕。毕竟不可能有人会用爱发电。
SpecterShell
2023-05-01 05:36:57 +08:00
@documentzhangx66 #55 市面上的软件的安装程序基本都是用 NSIS 、Inno 、WiX 等安装包制作工具生成的,直接在命令行传对应的静默安装参数就行了,不需要自动化点击。
documentzhangx66
2023-05-01 13:43:09 +08:00
@SpecterShell

如果是这样,那我之前就说对了,更新速度必然极低。

因为某软件官网出了新版本后,这种仓库要分析安装包 ->
NSIS 、Inno 、WiX 等安装包,进行重新打包 ->
各平台进行测试。

对于海量的软件,这套流程需要大量人力。

如果用爱发电,这套流程必然低效。
SpecterShell
2023-05-01 16:55:16 +08:00
@documentzhangx66 #57
> 开发商没事也不会对安装程序瞎折腾
另外软件也不用重新打包,这又不是制作单独的便携版软件。

还是建议您使用一下上面提过的包管理软件并且观察一下软件和软件包仓库的工作原理吧。Windows 的软件生态和 Linux 的完全不同,生搬硬套不可取。
documentzhangx66
2023-05-02 01:00:10 +08:00
@SpecterShell

打算试一下 Scoop 。

https://scoop.sh/

官方写的安装方式是,打开 PowerShell ,然后:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Optional: Needed to run a remote script the first time
irm get.scoop.sh | iex

接着报错:
irm : 未能解析此远程名称: 'raw.githubusercontent.com'

我觉得奇怪,拿 raw.githubusercontent.com 去电信、联通、移动解析,结果都没解析出来。

拿去站长工具解析:
https://tool.chinaz.com/dns?type=a&host=raw.githubusercontent.com&ip=

全都解析不出,或解析为 0.0.0.0

请问我哪一步的姿势不对?
IV16SL
2023-05-02 03:30:55 +08:00
@documentzhangx66 科学上网就行。

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

https://www.v2ex.com/t/936376

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

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

© 2021 V2EX