本文主要是介绍msi的简单使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
Windows Installer 使用安装包,其中包含 Windows Installer 需要安装、卸载或修复产品以及运行安装程序用户界面 (UI) 的信息。每个安装包都包含一个.msi文件,该文件包含安装数据库、摘要信息流和安装的各个部分的数据流。
msf
直接加载msf的msi上线
vs
下载扩展
搜索创建msi文件即可
利用文件系统和自定义操作选项,可以设置将在目标主机上释放的文件和执行的命令
点击项目输出
打包exe进msi
可以添加图标
创建快捷方式
在扩展中可以对安装包的属性进行设置,部分属性会在msi文件的详细信息中体现,所以可以对属性进行一些伪造欺骗
如果选择True时,在管理员权限下msiexec会使用SYSTEM权限执行安装:
启动条件
点击view->启动条件
可以设置硬件属性中的内存、分辨率来检测是否在虚拟机里启动
比如这里要求物理内存必须大于多少字节才启动安装包
可以通过orca.exe
来查看其他软件的启动条件设置,下载链接:https://learn.microsoft.com/en-us/windows/win32/msi/orca-exe
常见的判断条件可参考:https://community.flexera.com/t5/InstallShield-Knowledge-Base/Common-MSI-Conditions/ta-p/3854
在安装时可以使用msiexec /q /i MsiexecSetup.msi /log 123.log
方式输出日志文件,通过对比日志文件进行更详细的条件设置
打包exe/二进制文件
MSI安装包中可以添加exe、dll、vbs、js类型二进制文件或脚本。常用操作是通过文件系统管理添加要执行的文件,然后在自定义操作中设置在几个阶段要执行的文件,文件释放位置可以使用系统文件夹属性变量
打包安装
加载dll
导出函数
msiexec程序也可以加载DLL执行,前提是DLL文件在磁盘上存在并且是64位的。通过命令行调用DLL中的DllRegisterServer
或DllUnRegisterServer
这篇关于msi的简单使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!