380.68_4-x7.7 软件中心 离线安装_学个锤子 | 漫谈软件安装

本文详细介绍了软件安装过程中的注意事项,包括安装路径的选择、支持库的补充、开机启动项的管理等内容。此外,还对比了安装版与免安装版软件的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

408f2d15-8e1d-eb11-8da9-e4434bdf6706.gif

晚上好,同学们。 后台攒了好多没写完的稿子,每天又根据大家的留言,开了很多新的稿子,导致这篇文章搁置了好久了。今天记起来了,完善修正了一下放出来。 本篇文章是上一篇《漫谈软件下载》的姊妹篇。

418f2d15-8e1d-eb11-8da9-e4434bdf6706.png

所谓漫谈,就是我想到哪里写到哪里。因此以下内容为随笔,涉及大量个人理解,所用专业术语及各项描述均未经过严格审核,如有错误还请指出。 一样的,先交代一些名词: 安装路径 ,指的是软件安装后的工作路径,通常 不建议使用带有中文的路径 。原因是你所用的系统是老外开发的,你所用软件的开发语言也是老外写的,你用的软件甚至也可能用到了老外的技术。然而老外不一定会对中文路径做兼容,这会让你的软件在工作时出现某些神奇的问题。 支持库 ,提供软件运行所必要的功能环境,常用的支持库如 VC++ 系列,DX 系列等。缺失 DX 和 VC 的解决方案可以看我早期的文章,点下图跳转,其他支持库按需自己补足,嫌麻烦的直接下  3DM游戏运行库合集离线安装包 。 438f2d15-8e1d-eb11-8da9-e4434bdf6706.jpeg "由于找不到XINPUT1_3.dll"的解决方法

主程序,指的是运行后,会直接开始执行软件功能的程序。注意与启动器的区分,启动器间接运行了主程序。

启动器,指的是软件并不通过主程序来运行,而是通过其他程序间接运行主程序。常见用于各类学习版游戏,通过启动器让你看一波广告。

开机启动项,被添加到启动项的内容,在开机后会自动运行。Windows 默认情况下,在启动目录(C:\Users\你的用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)下的程序、注册表(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)下的程序,以及系统服务中的项目,会被开机自启动。

系统服务,按组合键 Win + R,输入 services.msc,确定,即可看到系统服务。你可以把它们看成是一些进程,只是他们没有窗口,并且用户进程在用户不登录的时候会停止运行,而服务依旧会运行。

448f2d15-8e1d-eb11-8da9-e4434bdf6706.png

注册表,这个我有讲哦,参见《漫谈注册表(Registry)》。

数据目录,指的是存放软件的一些设置等的目录,微软建议在 C:\ProgramData、C:\Users\用户名\AppData\Roaming 等目录存放它们。但注意,是建议不是必须,因为开发者都是一群随心所欲的人,因此数据目录是不固定的。

临时目录,指的是存放临时文件的目录,如下载、解压文件产生的碎片等,微软建议在 C:\Users\用户名\AppData\Local\Temp 存放它们。

那么,装一个软件,对我们的系统有什么影响呢?

一、安装版: 通常我们下的软件多是安装版,一个安装包双击运行然后选择安装位置,剩下的就交给安装包自己去完成。这种无脑操作,图的就是一个省事,为的就是一个字, 爽 。 我从官网下了一个 QQ,安装它。 458f2d15-8e1d-eb11-8da9-e4434bdf6706.png

一般人会去点立即安装,等你看完本文,我希望你以后先点自定义选项。

478f2d15-8e1d-eb11-8da9-e4434bdf6706.png

此时我们可以修改安装路径,我不建议你去点浏览按钮然后选择安装路径。因为你们经常会干这样一件蠢事,创建一个叫软件或者游戏的文件夹,然后把软件和游戏安装到下面。

488f2d15-8e1d-eb11-8da9-e4434bdf6706.png

请记住一句话,你所用的系统是老外开发的,你所用的软件的开发语言也是老外创造的,甚至你所用的软件也可能是老外设计的,不是每一个老外都认识中文。

那么安装路径怎么设置呢?我推荐的做法是把 C 直接改 D。大多数情况下,路径选择框是一个文本框,这使得你可以按退格键就把 C 删掉,然后手打一个 D 上去。

这样一来所安装的所有软件都会在 D 盘的这俩目录下。

4a8f2d15-8e1d-eb11-8da9-e4434bdf6706.png

打开以后也看着特别整齐,一个文件夹对应一个软件。

4d8f2d15-8e1d-eb11-8da9-e4434bdf6706.png 注意,安装完软件后, 千万不要返回来改这些文件夹的名字 ,不要觉得这个英文目录看着记不住,都不知道这是个什么软件了,为什么不能改,请继续往下看。 4e8f2d15-8e1d-eb11-8da9-e4434bdf6706.png 改好路径后,看下面几个设置,生成快捷方式,是指在桌面创建一个指向软件主程序的快捷方式,添加到快速启动栏,指的是添加一个快捷方式到开始按钮这一栏。 518f2d15-8e1d-eb11-8da9-e4434bdf6706.png 我系统做了一定程度的美化,所以是透明的并且居于正中。 开机自动启动,这就不用解释了吧。要注意的是开机启动项太多的话,开机速度会变慢的。 安装完以后,很多人会点完成安装。 528f2d15-8e1d-eb11-8da9-e4434bdf6706.png 你就没发现这还有三个打钩的项目么!!! 你需要取消掉他们的勾选,然后点完成安装,否则你会获得一大堆的 捆绑软件 。 到这里就算安装结束了,我们来看看安装 QQ 对我们的软件造成了哪些改动。
软件信息

显示名称: 腾讯QQ
出版商: 腾讯科技(深圳)有限公司
版本:9.2.5.26724
注册表项:269
文件:836
总大小:305.2 MB
安装日期:2020/4/11 22:40:11
安装包:C:\Users\muruoxi\Downloads\Programs\PCQQ2020.exe
目录:D:\Program Files (x86)\Tencent\QQ\
安装持续时间:64 seconds

注册表值

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Ext\Stats\{98F22D0A-B97F-4AF4-8E4C-A6596C8CDD4C}\iexplore\AllowedDomains\*
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\{98F22D0A-B97F-4AF4-8E4C-A6596C8CDD4C}\iexplore\AllowedDomains
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\{98F22D0A-B97F-4AF4-8E4C-A6596C8CDD4C}\iexplore
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QQPet\shell\open\command|Value|(Default)
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QQPet\shell\open\command
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QQPet\shell\open
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QQPet\shell
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QQPet|Value|URL Protocol
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QQPet
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Tencent\DefaultIcon|Value|(Default)
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Tencent\DefaultIcon
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Tencent\shell\open\command|Value|(Default)
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Tencent\shell\open\command
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Tencent\shell\open
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Tencent\shell
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Tencent|Value|(Default)
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Tencent|Value|URL Protocol
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Tencent
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\QPCore|Value|{6970596B-87AC-48de-893E-B9436C58CEA4}
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\QPCore|Value|{6970596B-87AC-48de-893E-B9436C58CEB5}
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\QPCore|Value|{6970596B-87AC-48de-893E-B9436C58CEC6}
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\QPCore|Value|InitErrorCode
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\QPCore|Value|PerfCounter
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\QPCore|Value|QQProtectDir

文件

C:\Program Files (x86)\Common Files\Tencent\*
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\腾讯软件\QQ
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\腾讯软件\QQ\腾讯QQ.lnk
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\腾讯软件\QQ\卸载腾讯QQ.lnk
C:\ProgramData\NVIDIA Corporation\Drs\nvdrsdb0.bin
C:\ProgramData\NVIDIA Corporation\Drs\nvdrssel.bin
C:\Users\muruoxi\AppData\Local\Temp\TXSSO_20200411_223948
C:\Users\muruoxi\AppData\Local\Temp\TXSSO_20200411_223948\TXSSO
C:\Users\muruoxi\AppData\Local\Temp\TXSSO_20200411_223948\TXSSO\I18N
C:\Users\muruoxi\AppData\Roaming\9A8vG7T7.tmp
C:\Users\muruoxi\AppData\Roaming\Tencent\*
C:\Users\Public\Desktop\腾讯QQ.lnk
C:\Users\Public\Documents\Tencent\QQ\UserDataInfo.ini
C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\Tencent\Logs\QQProtect.tlg
C:\Windows\Temp\43FB.tmp
C:\Windows\Temp\43FC.tmp
D:\Program Files (x86)\Tencent\QQ\*
我们可以看到,一共创建了 836 个文件,增加了 269 项注册表,上述注册表值和文件皆为节选的部分。 现在想想,如果没有卸载功能,你自己去手动删除这些文件来卸载 QQ,得多麻烦。 怎么卸载呢?按组合键 Win + X ,选择 应用和功能 。 找到 QQ, 卸载 。 548f2d15-8e1d-eb11-8da9-e4434bdf6706.png 卸载是万能的吗?不是的。 卸载程序和安装包的制作是一样的,都是由程序员人为规定,卸载过程中要删除哪些文件,清理哪些注册表信息。 因此难免会有 遗 漏 。 使用卸载功能来卸载 QQ,观察残留文件。 558f2d15-8e1d-eb11-8da9-e4434bdf6706.png 你能看到尚有 16 项注册表,以及 117 个文件。 注意,我才装上 QQ 就卸载了,如果在中途我还用 QQ 进行聊天,他还会有一些缓存文件和日志文件等。 因此 PC 上的卸载并不能完全解决安装产生的所有文件。 二、免安装版

一般而言免安装版都是基于安装版提取出来的,解压后就能用了,所以不需要添加额外的注册表。

当然如果你把 QQ 提取成免安装版,那也是需要写入一定的注册表的。

毕竟注册表中存放了一些 QQ 运行必须的配置信息,如消息文件的路径啊,缓存的位置啊等。没有这些配置数据的话,它就运行不起来。

还记着我那会儿说,不要在安装完软件了,再去改它的安装目录名字吗?

假如之前注册表里记录了,软件的某个重要文件在 D盘的 GuGuJing 文件夹,你把它改成了 咕咕精,但你没有改动注册表里的记录,那么这个软件工作还正常吗?

578f2d15-8e1d-eb11-8da9-e4434bdf6706.gif

来看一个免安装版的 MvBoxPlayer 吧,这个软件我之前提到过,参见《办公协同?远程教育?这一届的孩子太惨了》。

下载安装包解压来看看,如下图。

598f2d15-8e1d-eb11-8da9-e4434bdf6706.png

可以看到它附带有一个"!绿化.bat",.bat 是批处理文件的格式后缀,!在这里起的作用是将这个文件相对置顶,因为在资源管理器中,默认情况下,符号开头的文件是排在其他文件名前面的,这样一来 绿化.bat 就变得显眼了。

打开这个 bat 文件,观察其内容:

@ECHO OFF & CD /D %~DP0 & TITLE 绿化
>NUL 2>&1 REG.exe query "HKU\S-1-5-19" || (
    ECHO SET UAC = CreateObject^("Shell.Application"^) > "%TEMP%\Getadmin.vbs"
    ECHO UAC.ShellExecute "%~f0", "%1", "", "runas", 1 >> "%TEMP%\Getadmin.vbs"
    "%TEMP%\Getadmin.vbs"
    DEL /f /q "%TEMP%\Getadmin.vbs" 2>NUL
    Exit /b
)

taskkill /f /im MvBox* >NUL 2>NUL
rd/s/q "%AppData%\mvbox\PicAd" 2>NUL
del/q "%AppData%\mvbox\ad*">NUL 2>NUL
regsvr32 /s VCam.ax iVCam_inst.ax d3com.dll
regsvr32 /s qasf.dll qedit.dll quartz.dll WMADMOD.DLL
regsvr32 /s ffdshow\ffdshow.ax
regsvr32 /s Filters\DC-BASS\DCBassSource.ax
for %%a in (Filters\*.ax) do regsvr32 /s %%a
for %%a in (LAVFilters\*.ax) do regsvr32 /s %%a

reg add HKCU\Software\MvBox\LiveUpdate\Products\MvBoxPlayer /f /v InstallPath /d "%~dp0\" >NUL 2>NUL
reg add HKCU\Software\MvBox\LiveUpdate\Products\MvBoxPlayer /f /v Login /t REG_DWORD /d 1 >NUL 2>NUL
reg add HKCU\Software\MvBox\LiveUpdate\Products\MvBoxPlayer /f /v ProductID /t REG_DWORD /d 0 >NUL 2>NUL
reg add HKCU\Software\MvBox\LiveUpdate\Products\MvBoxPlayer /f /v IsInstalled /t REG_DWORD /d 0 >NUL 2>NUL
reg add HKCR\NETOK\shell\open\command /f /ve /d "\"%~dp0MvBoxPlayer.exe\" \"%%1\"" >NUL 2>NUL
reg add HKCR\MVBOXRS\shell\open\command /f /ve /d "\"%~dp0MvBoxPlayer.exe\" \"%%1\"" >NUL 2>NUL
reg add HKLM\SOFTWARE\Classes\NETOK\shell\open\command /f /ve /d "\"%~dp0MvBoxPlayer.exe\" \"%%1\"" >NUL 2>NUL
reg add HKLM\SOFTWARE\Classes\MVBOXRS\shell\open\command /f /ve /d "\"%~dp0MvBoxPlayer.exe\" \"%%1\"" >NUL 2>NUL
reg add HKLM\SOFTWARE\Classes\SOFTWARE\RealNetworks\Preferences\DT_Codecs /f /ve /d "%~dp0Filters\RealCodecs" >NUL 2>NUL
ECHO.&ECHO.绿化完成! 是否创建桌面快捷方式?
ECHO.&ECHO.是按任意键继续,否直接关闭窗口!&PAUSE >NUL 2>NUL
mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""Desktop"") & ""\MVBOX.lnk""):b.TargetPath=""%~dp0MvBoxPlayer.exe"":b.WorkingDirectory=""%~dp0"":b.Save:close")
CLS&ECHO.&ECHO.完成! &PAUSE >NUL 2>NUL&EXIT

可以发现,这个批注里文件如果被运行,也是会将一些必要的组件进行注册,然后添加一些必要的注册表信息。

但如果对比原版安装包,可以发现,通常情况下免安装版所注册的信息比原版少的多,只有必要的信息才会被添加到系统。

这也是我在上一节课中所说,优先使用免安装版软件的一个原因。但注意,如果制作者经验不足,可能导致免安装版稳定性低于原版。

推荐的一个排除法是,如果使用各类修改版发现无法运行,则下载原版软件安装并运行。如果安装版运行正常,则在此时检查修改版是否恢复正常工作了(缺少某些数据被原版安装包补足了),如果不正常,则可以联系原软件的开发者。

还是有点儿东西没写完,因此之后还会有一课,漫谈软件卸载,近期会更(可能)。

5a8f2d15-8e1d-eb11-8da9-e4434bdf6706.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值