windows-installer - 将 .msi 转换为 .exe 的最佳工具包是什么?
问题描述
我想将 .msi 封装成 .exe 以添加:
- 硬编码文件夹位置,例如 C:\Program Files (x86)\TEST\
- 添加安装版本文件
- 使用静默安装
- 使用命令行开关(安装/卸载)
- 日志生成
- 添加 Windows 注册表脚印
解决方案
MSI 自定义:自定义安装的 MSI 文件是该技术的内置功能。自定义安装有两种主要方法:
轻量级:您可以在命令行上将PUBLIC 属性设置为轻量级的自定义形式,和此处进行示例,或者...
msiexec.exe /i setup.msi ADDLOCAL="Core,Spell" SERIALKEY="1234-1234" /qn
重量级:使用转换(更改的数据库片段)对整个安装程序进行重大更改 - 您几乎可以更改整个包中的任何内容。
msiexec.exe /i setup.msi TRANSFORMS="mytransform.mst" /qn
工具:主要 MSI 工具- 可用于制作和自定义 MSI 文件的主要工具。还有一些(主要)免费的 MSI 工具。Orca 可用于制作转换 - MSI 文件的自定义片段。有关如何下载/安装它的信息,请参阅最后一个链接。
msiexec.exe 命令行: msiexec.exe 命令行很复杂而且有些不寻常:
有一个古老的工具可以帮助构建命令行。不再正式可用,但可能从档案中获得。
链接:
- 如何更好地利用 MSI 文件(
actual explanation of MSI customization via transforms
)- 如何使用调整后的设置在 /silent 模式下运行安装
- MSI Repackaging - 免费工具
进一步:进一步的链接 - 仅供参考,以上就足够了。
推荐阅读
- android - Android Things 和 RXTX 库
- jquery - 获取 jQuery 中最近的评论节点?
- r - 如何将变量从一个数据帧添加到另一个数据帧(几个条件)
- kotlin - 具有多个“参数”的 Kotlin 枚举
- r - 如果它们在其中一列中有匹配的数字,如何从多个 (3) 数据帧中提取行并在第四个中输出它们?
- python-3.x - 无法在 sqlite3 中参数化 LIMIT 和 OFFSET
- api - 通过 API 将 Google Analytics 与 Gooddata 的 Cloudconnect 连接起来
- java - Maven 缺少 MySQL 依赖项
- powershell - 将字符串属性添加到现有 Powershell 对象的正确方法?
- typescript - 将无效类型传递给对象时,TypeScript 不应该抛出错误吗?