两年前微软公布了 Windows 新的安装格式 MSIX,试图让软件安装和卸载流程更轻便,更安全。
这个项目经过两年的发展,已经基本可以使用,接任 EXE 也只是时间问题。
—
MSI,EXE 和 AppX
目前 Windows 系统常用的安装格式有三种,MSI,EXE 和 AppX。
下面,我们具体通过一个例子来介绍一下如何使用Discover生成一个MSI文件,假定我们的软件my的安装过程是:将my.exe文件安装到C:\programmeme files\myprog下,将run.dll放到windows\system里,在注册表的HKEY_LOCAL_MACHINE的sof。
MSI 是 Windows 最基本的安装格式,它使用微软提供的标准安装卸载界面,本质上 MSI 就是一个数据库,其中包含,其仅包含该软件的所有必要数据。
安装过程不会检测该软件是否已经存在于计算机,或者是否缺少什么必备组件。不管怎么它会直接覆盖安装路径中的所有文件。
正常情况msi是可以直接双击运行的。如果提示出错,那么这个由于安装的时候没有管理员权限导致的,按照下面的办法操作即可:按win+x,选择命令提示符(管理员); 输入msiexec /i xxx.msi(xxx.msi代表要安装的msi文件名称),。
这种简单粗暴的方式,非常适合无人值守的情况,驱动程序大多也是用 MSI 格式安装。
1、该文件已损坏,无法正常运行安装,需要重新下载;2、当前电脑的WINDOWS系统的Microsoft Installer服务被禁用;3、Microsoft Installer服务的系统文件被破坏;4、当前所见的“.MSI”并不是文件的真正扩展名,由于操作系统会默认。
EXE 格式大家最熟悉,EXE 安装文件本质上就是一个可执行程序,所有 Windows 程序都是EXE格式。
因为是程序,所以能实现更多功能,比如检测已安装项,允许自定义安装路径,检测安装缺失的必备运行库,更「花里胡哨」的安装界面等等。
因为EXE 格式功能更丰富,用户和开发者都喜欢用,反而比专门的安装格式 MSI 更常见。
AppX 是 Windows 8 后推出的新安装格式,大家可能没见过这种使用这种格式的程序,其实它就是 UWP 应用。
它继承了 MSI 的优点,就像手机软件的安装过程一样,几乎没有给用户任何选项,它允许直接覆盖升级,完全干净的卸载,Appx 程序运行在沙盒中,不能访问其他应用内存、文件。
这个安装格式之所以没有火起来,主要原因还是对开发者太不友好,限制了软件权限,封包AppX 格式还必须重写。
并且 Windows 8 之前的版本都不能使用这个格式,这种出力却没有好处的事情没人愿意做。
1、首先在搜索框输入CMD 然后以管理员身份打开;2、然后在命令提示符(CMD)下输入:msiexec /package "你的安装MSI文件的全路径".3、也就是说我要安装7-zip.msi 这个文件的话就是:msiexec /package "。
—
MSI + AppX = MSIX
正如大家知道的,EXE 程序功能强大,msi文件安装不了怎么办,但也因此被恶意程序和流氓软件甚至病毒、木马利用,EXE 在带来便利的同时也给我们带来极大的安全隐患。
APPX 相对 EXE 安全性有了质的提升,但又因为严苛的限制条件又伤害了开发者的利益,而无法传播开。
MSI 又过于简单,用户和开发者都不喜欢用。
而 MSIX 结合了 MSI 和APPX 的优点诞生。
从用户的角度来看,MSIX 的安装过程类似 MSI 文件,但在其背后的工作原理又类似 AppX 文件。
找到"始终以提升的权限进行安装",双击改为"已启用",2.win+x,选择"命令提示符(管理员)"3.在命令提示符窗口中输入: msiexec /package "你的安装文件的全路径"例:d盘下的a.msi msiexec /package "d:\a.msi"
MSIX安装器将支持所有的 Windows 文件格式,包括 Win32、WPF、WinForm 和 UWP。这样开发者只要遵循 MSIX 封装协议,将开发的应用程序封装为 .MSIX 格式后发布到Windows 10 应用商店,或其他网站,用户下载后就可以根据自己实际需要自行选择安装方式。
正常情况msi是可以直接双击运行的。如果提示出错,那么这个由于安装的时候没有管理员权限导致的,按照下面的办法操作即可:按win+x,选择命令提示符(管理员);输入msiexec /i xxx.msi(xxx.msi代表要安装的msi文件名称),。
另外,现在的软件有一个很大的毛病是「杂乱」,经常卸载软件后还留下文件夹和注册表。
使用 MSIX 安装的程序都被放在类似「沙盒」的环境中,所有文件、注册表都按规则存放(例如 AppData 文件夹),卸载时所有数据都会被删除不会有残留。
并且,MSIX 格式可以给用户带来前所未有的安全感。因为能够使用的 MSIX 文件都必须要有受信任的根签名,并且上传到应用商店的软件都需要经过微软的审核。
其中可能也有微软赚钱的「私心」,但确实为用户带来了不少好处。
不过,对于独立开发者或资金不足的工作室,大概还是会使用免费的 EXE 格式。
另外 MSIX 格式甚至可以在 Windows7,Linux 等平台上直接运行!