windows 软件在 “安装”的过程中做了什么事情?
最近在学习c# wpf。生成软件是可以直接执行的。那那些需要安装的软件,安装的过程是在做什么呢?什么场景下 软件需要 “安装” 的过程。
windows 软件在 “安装”的过程中做了什么事情?
最近在学习c# wpf。生成软件是可以直接执行的。那那些需要安装的软件,安装的过程是在做什么呢?什么场景下 软件需要 “安装” 的过程。
一般意义上的安装其实主要做如下工作:
这里除了第1个是必选的外,其它其实都是可选的。这里的2改写配置其实有和3有时是关联的,因为有些配置是写到注册信息中的,主要看程序如何管理配置。此外这里改写配置还有2层含义,第一是程序本身涉及的配置信息改写,第二层是系统关联性配置改写,比如改写系统中对某种文件默认打开方式等。
没有标准,安装程序本身也是个程序,这个程序能干啥要看写程序的人让它干了啥。
但大体上会有一些相似的地方。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall
、
HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
、
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
、
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
这几个地方写注册表。或者有一些程序本身运行时需要的信息,也可以写在注册表里。P.S.1 其实 Windows 下安装程序也是有标准格式的,即 MSI,可因为 Windows 过于“开放”的缘故,除了微软自家的某些玩意儿外很少有第三方弄个 .msi 安装程序出来。
P.S.2 .NET 也有自己的标准安装部署方式,叫 ClickOne。