将 .msi 转换为 .exe 的最佳工具包是什么?

2024-01-11

我想将 .msi 封装到 .exe 中以便添加:

  1. 硬编码文件夹位置,例如 C:\Program Files (x86)\TEST\
  2. 添加安装版本文件
  3. 使用静默安装
  4. 使用命令行开关(安装/卸载)
  5. 日志生成
  6. 添加 Windows 注册表足迹

微星定制:用于安装的 MSI 文件的自定义是该技术的内置功能。自定义安装有两种主要方法:

  1. 轻的: 可以设置公共属性在命令行上作为轻量级的定制形式,样品在这里 https://stackoverflow.com/questions/54304773/how-to-build-msi-package-on-a-linux-server/54332468#54332468 and here https://stackoverflow.com/questions/49453205/how-to-tag-or-customize-the-a-binary-for-example-of-an-installer/49589427#49589427, or...

    msiexec.exe /i setup.msi ADDLOCAL="Core,Spell" SERIALKEY="1234-1234" /qn
    
  2. 重量级:使用转换(更改的数据库片段)对整个安装程序进行较大更改 - 您几乎可以更改整个包中的任何内容。

    msiexec.exe /i setup.msi TRANSFORMS="mytransform.mst" /qn
    

Tools: 主要 MSI 工具 https://stackoverflow.com/a/50229840/129130- 可用于制作和自定义 MSI 文件的主要工具。和一些(主要)免费的 MSI 工具 https://stackoverflow.com/questions/48482545/how-can-i-compare-the-content-of-two-or-more-msi-files/48482546#48482546。 Orca 可用于进行转换 - MSI 文件的自定义片段。请参阅最后一个链接,了解如何下载/安装它。


msiexec.exe 命令行:msiexec.exe 命令行很复杂并且有些不寻常:

  • msiexec.exe 命令行选项 https://learn.microsoft.com/nb-no/windows/win32/msi/command-line-options
  • Msiexec.exe 命令行 https://www.advancedinstaller.com/user-guide/msiexec.html (高级安装程序 https://www.advancedinstaller.com)

这个古老的工具 https://superuser.com/a/296512/11906这可以帮助构建命令行。不再正式提供,但可能从档案中获得。


Links:

  • 如何更好地利用 MSI 文件 https://stackoverflow.com/questions/458857/how-to-make-better-use-of-msi-files/1055861#1055861 (actual explanation of MSI customization via transforms)
  • 如何使用调整后的设置在 /silent 模式下运行安装 https://stackoverflow.com/questions/52327442/how-to-run-an-installation-in-silent-mode-with-adjusted-settings/52338626#52338626
  • MSI 重新打包 - 免费工具 https://stackoverflow.com/questions/54869537/msi-repackaging-free-tool/55034008#55034008

Further:进一步的链接 - 仅供参考,以上内容就足够了。

  • 运行 .msi 安装程序后能否确定生成的命令行? https://stackoverflow.com/questions/50455640/can-the-resulting-command-line-be-determined-after-running-an-msi-installer/50455886#50455886
  • 如何在Linux服务器上构建MSI包? https://stackoverflow.com/questions/54304773/how-to-build-msi-package-on-a-linux-server/54332468#54332468
  • 如何在命令行将MSM文件转换为MSI文件?使用 Windows Installer SDK 或 COM 执行此操作 https://stackoverflow.com/questions/52386592/how-to-convert-an-msm-file-into-an-msi-file-on-the-command-line-doing-this-with/52406296#52406296
  • 如何使用 SCCM 服务器推送带参数的 MSI https://stackoverflow.com/questions/47754283/how-to-push-msi-with-parameter-using-sccm-server/47782032#47782032
  • 如何卸载危险的 MSI 包 https://superuser.com/questions/783963/automatically-select-features-for-silent-msi-install/785825#785825
  • 如何标记或自定义二进制文件(例如安装程序) https://stackoverflow.com/questions/49453205/how-to-tag-or-customize-the-a-binary-for-example-of-an-installer/49589427#49589427
  • Microsoft 安装程序命令行字符串参数不起作用? https://stackoverflow.com/questions/53434089/microsoft-installer-command-line-string-parameter-not-working/53436779#53436779
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 .msi 转换为 .exe 的最佳工具包是什么? 的相关文章

  • MSI 安装程序错误 2810 中断安装,但仍然顺利完成

    我创建了一个安装应用程序的设置 并且仍然如此 但它最后开始突然发出奇怪的警告 因此 当安装过程完成时 会出现以下内容 安装程序在安装此软件包时遇到意外错误 这可能表明此包有问题 错误代码是2810 于是我查了2810 上面写着 在对话框 2
  • WiX:多个 MSI 文件?

    Visual Studio 的解决方案中是否可以有一个 WiX Installer 项目 但该项目输出多个安装程序文件 通过具有多个 wxs 文件或多个
  • 禁用先决条件按钮 - MSI 安装程序

    我创建了一个 msi 安装程序 我想进一步添加先决条件 例如 Net 但是当我转到 安装项目属性 时 先决条件 按钮被禁用 我该如何启用它 其他详情 我正在使用 VS 2015 SQL Server 2008 R2 Net 4 5 2 C
  • TrustedInstaller 正在阻止注册表写入 HKCR\DirectShow\MediaObjects\Categories

    我正在尝试安装需要我写入的 DMOHKCR DirectShow MediaObjects Categories 57f2db8b e6bb 4513 9d43 dcd2a6593125 此注册表路径受 TrustedInstaller 保
  • 如何根据自定义操作中设置的属性安装功能?

    我正在尝试根据应在自定义操作中设置的值安装两个功能之一 首先 我设置一个属性的值 UINT stdcall ConfigurationCheckAction MSIHANDLE hInstall HRESULT hr S OK UINT e
  • 在 Windows 7 中安装/卸载服务:“错误 1001。指定的服务已标记为删除”

    我目前正在 NET 4 0 Visual Studio 2010 Windows 7 32 位中开发 Windows 服务 我有一个安装程序项目可以为我进行安装 当我安装该服务 卸载它并尝试再次安装时 出现以下错误 错误1001 指定的服务
  • 使用WiX安装后是否可以提示重启机器?

    使用WiX安装后是否可以提示重启机器
  • 将清单嵌入到 exe 文件中

    我有一个 manifest链接到的文件 exe程序文件 以便在打开时要求管理员权限 现在它是一个单独的文件 名为program name exe manifest这是与以下相同的文件夹program name exe 有什么方法可以将清单文
  • 使用自定义操作卸载多个产品

    我正在为我们的产品开发基于 WIX 的安装程序 该产品有一个基础产品和许多插件 基础版和插件将作为单独的 MSI 提供 仅当底座可用时才能安装插件 基础和插件在根文件夹下共享公共文件夹树 例如 C Program files MyProdu
  • App.Config 应该是应用程序的伴随文件还是放在自己的组件中?

    当我创建 Windows Installer 程序包 例如使用 WiX 并安装该应用程序时App exe以及App exe config配置文件应该有自己的组件还是应该是应用程序可执行文件的伴随文件
  • 如何检测正在运行的 MSI 安装 [重复]

    这个问题在这里已经有答案了 我正在寻找一种方法来检测 Windows Installer 安装是否已在进行中 到目前为止我发现的是 检查注册表项 HKEY LOCAL MACHINE SOFTWARE Microsoft Windows C
  • 成功后动态改变EndDialog中的RTF内容

    多亏了这个question https stackoverflow com a 33679439 1076116 我能够执行自定义操作来临时更新和动态修改 MSI 数据库 简而言之 我正在做 CustomAction public stat
  • 如何使用自定义操作在 WiX 中运行脚本 - 最简单的示例?

    WiX新手问题 我该怎么办1 将一次性 shell 脚本与安装程序一起复制到 temp e g
  • 使用帮助库管理器和 WiX 安装帮助

    我试图通过使用 WiX 运行 Sandcastle 帮助文件生成器在构建我的 Sandcastle 项目后创建的 HelpLibraryManagerLauncher 将我自己的帮助文件添加到 Visual Studio 2010 的帮助库
  • WIX MSI 软件包卸载

    我正在使用 WIX 作为安装程序包 当我通过双击原始 msi 包卸载该包时 一切都很好 当我从控制面板卸载时 它会给我一个最小的用户界面卸载 我已在 MSI 中写入一个自定义操作 询问用户是否要卸载某些数据库等 最小 UI 卸载时不会发生这
  • 构建 jar 后无法运行 exe

    我制作了一个简单的实用应用程序 其中我有一个要运行的exe文件 我通过使用它来运行 Runtime getRuntime exec this getClass getResource filename exe getPath 当我从 ide
  • MATLAB 可执行文件太慢

    我使用以下命令将 MATLAB 程序转换为基于控制台的应用程序deploytool在 MATLAB 中 MATLAB m文件执行大约需要 2 秒 但在我将其转换为可执行文件并调用 exe 执行需要45秒 太长了 我想将 MATLAB 程序与
  • wix 3 安装程序:未解析的绑定时变量!(bind.fileVersion.Name.exe)

    我正在尝试使用 Wix3 中的绑定 bind fileVersion 即 3 11 1 由于某些原因 我收到以下错误消息 未解析的绑定时变量 bind fileVersion TestWix3 exe 我的目标是填写 产品 ID 行 特别是
  • 如何制作一个简单包装 EXE 文件的 MSI

    经过大量实验后 我得出的结论是 Windows Installer 是一种糟糕的技术 但客户需要 MSI 文件 那么 如何创建一个 MSI 文件 将 EXE 文件提取到临时目录 并使用与传递给 EXE 文件相同或相似的选项运行它 MSI 的
  • 如何使用 WiX 卸载时终止进程

    我正在使用 Wix 创建 msi 安装文件 当我卸载应用程序时 它仍然在工作 并且我可以在任务管理器中看到它 我已经尝试过自定义操作的延迟执行 如 Wix 文档中所述 https wixtoolset org documentation m

随机推荐

  • 使用阿姆达尔定律计算性能增益

    我对阿姆达尔定律来确定性能增益和串行应用程序部分感到困惑 但未能弄清楚这一点 已知的是以下内容 S N Speedup factor for N CPU s N Number of CPU s f The part of the progr
  • 使用 REST 服务上传文件

    我使用以下 REST 服务 来自本教程 https javatutorial net java file upload rest service 使用 jersey 多部分实现将文件从不同数量的客户端上传到我的 GlassFish 服务器
  • 使用 UIAppearance 设置 UITableView 的背景颜色

    我正在尝试普遍更改表格视图的背景颜色 它是 UINavigationController 和 TabBarController 应用程序的组合 我尝试将以下内容放入 AppDelegate applicationDidFinishLaunc
  • 是否有任何 EJB 迁移工具可用于将 EJB 2.1 迁移到 EJB 3.x

    最好的方法可能是手动完成 但在大型项目中 您需要一些工具来帮助您 正是这个想法促使我寻找一种工具 是否有任何 EJB 迁移工具可用于将 EJB 2 0 迁移到 3 x 它只开发了很短一段时间 但在一段时间内我们确实有一个 eclipse 插
  • 将 JPanel 保存为图像

    我正在开发一个应用程序 允许用户在图层中加载图像 用户可以在另一层上绘制一些图片并仅保存用户绘制的图像 这是我的代码 import java awt Dimension import java awt Graphics import jav
  • Nginx:stat() 失败(13:权限被拒绝)

    我使用默认配置 同时添加安装在我的 ubuntu 12 04 机器上的 nginx 的特定目录 server listen 80 listen for ipv4 this line is default and implied listen
  • 如何让Python除以-0.0和0.0分别得到-Inf和Inf?

    我遇到的情况是 除以 0 0 或 0 0 是合理的 我希望分别看到 Inf 和 Inf 作为结果 看起来Python很喜欢抛出一个 ZeroDivisionError float division by zero 在任一情况下 显然 我认为
  • 如何从Windows命令提示符修改Java控制面板选择(对应于deployment.properties文件)?

    如何从Windows命令提示符修改Java控制面板选择 对应于deployment properties文件 具体来说 我正在寻找可以影响更改的命令 Action for local applets 选择 在 Custom Security
  • 使用一些 Maven 插件重命名 jar 内的文件

    我有一个由 maven shade plugin 构建的 jar 它包含带有多个文件的 META INF services 这些文件的名称错误 因为错误https issues apache org jira browse MSHADE 1
  • 我可以在没有 Bluemix 的情况下使用 IBM Watson 服务吗?

    我一直在使用 AWS 来托管我的后端服务器 注册帐户的最佳方式是什么 这样我就可以直接从我的服务器调用 Watson 服务 而无需在 Bluemix 上拥有帐户 如果是 怎么办 我在 Watson 的网站上找不到这个 谢谢 您绝对可以从 B
  • 在两个屏幕上运行的 iOS 应用程序(无镜像)

    我创建了一个 iPad 应用程序 其中包含幻灯片 当用户点击该幻灯片时 他 她可以输入一些信息 我现在想做的是通过AirPlay 或电缆 如果可能的话 但这似乎只是镜像 连接电视和iPad时在电视上显示幻灯片内容 这可以做到吗 我们能否让幻
  • Spark 结构化流式传输多个 WriteStream 到同一接收器

    Two Writestream在 Spark Structured Streaming 2 2 1 中 到同一个数据库接收器的操作不会按顺序发生 请建议如何使它们按顺序执行 val deleteSink ds1 writestream ou
  • jquery跨域认证

    我将 Jetty 服务器配置为允许跨域 http 请求 allowedOrigins 并允许使用其 CrossOriginFilter 进行跨域身份验证 allowCredentials true 无需身份验证的跨域 http 请求可以正常
  • SQL - 插入一行并返回主键

    我已在存在主键的表中插入了包含一些数据的行 如何 SELECT 刚刚插入的行的主键 我应该更具体地提到我目前 使用 SQLite 对于 MS SQL Server SCOPE IDENTITY http msdn microsoft com
  • 如何在React typescript中读取xml文件(toolsbox.xml)

    我无法在 tsx 文件中导入 xml 文件 但在 jsx 文件中我可以访问该 xml 文件 您需要为打字稿定义一个模块来评估 否则它将尝试寻找类似的东西toolbox xml ts 名为 XML d ts 的文件中的一些内容 为此放置在 s
  • Vue 警告:未知的自定义元素: - 您是否正确注册了组件?

    我是一名新生 当我使用自定义组件时 它给了我这个错误 Vue warn Unknown custom element 您是否正确注册了组件 The ModalBase组件中使用的组件NoticeModal vue and NoticeMod
  • 实体框架支持的数据库

    我将制作一个最终用户桌面应用程序 因此我需要一个相对较小的数据库 例如 Firebird 或 SqlLite Entity Framework 4 是否支持 SQL Server 以外的其他数据库 ADO NET 数据提供程序 http m
  • ReactJS:我可以创建自己的 SyntheticEvent 吗?

    我正在使用 ReactJS 它是 SyntheticEvent 来跟踪事件及其目标 DOM 节点 我正在创建一些可变组件 我希望它们触发 SyntheticEvent 来跟踪 DOM 并使用以下命令跟踪更改的值e target and e
  • 使用 jQuery 插入 HTML

    如果我有一个 HTML 块 例如 div div div div
  • 将 .msi 转换为 .exe 的最佳工具包是什么?

    我想将 msi 封装到 exe 中以便添加 硬编码文件夹位置 例如 C Program Files x86 TEST 添加安装版本文件 使用静默安装 使用命令行开关 安装 卸载 日志生成 添加 Windows 注册表足迹 微星定制 用于安装