Windows 应用程序安装程序框架

2023-11-25

可下载的应用程序会提供多种类型的安装程序,这对我来说总是很奇怪。例如,有时您可以选择 .exe 或 .msi

某些类型的安装人员是否比其他类型有优势?你选择哪一个很重要吗?作为开发人员,为什么我要向我的用户提供不同的安装程序?


exe 和 msi 之间的一大区别: 你可以EDITMSI 文件。
您可以直接使用访问 MSI 数据库Orca-或者- 使用您最喜欢的 Windows 黑客方法通过 WindowsInstaller API 对其进行编码。

前任。我编写了一个基于 python 的构建器,除了许多其他任务外,它还定期编辑和更新 MSI 包。

对勇敢的灵魂的快速警告:

虽然 APIseem有据可查,很多 WI 功能都是微妙的,甚至是神秘的 - MS Office 团队确实做到了not他们在创建 Windows Installer 时选择了“最少意外”的原则。

IF你选择深入 WI 的神秘世界,准备好长时间的绞尽脑汁、繁琐的调试和大量的 MSI 日志文件

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 应用程序安装程序框架 的相关文章

随机推荐

  • Android:插入带有自动增量列的sqlite记录

    我在 android 上创建了一个 sqlite 数据库 如下所示 sqlite gt schema CREATE TABLE criterion id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
  • 在 Alamofire 中更改 timeoutIntervalForRequest 的正确方法

    我变了请求超时间隔 with let manager Alamofire SessionManager default manager session configuration timeoutIntervalForRequest 3 ma
  • 如何在没有 HTML 的情况下获得多行 JLabel(或看起来完全相同的 JTextArea)

    我不敢相信多行 JLabel 的最快解决方案是以下一个 文本来自 var 所以我不想每个 x 字符手动放置 HTML 代码 它太难看了 public class JMultilineLabel extends JTextArea priva
  • 是否可以使用 dotPeek 反编译的源代码来实际调试第 3 方代码?

    我用的是VS2012 我知道如何使用 NET Reflector 调试第 3 方代码 并且一直使用它 我想知道使用 JetBrains 的 dotPeek 或不使用 dotPeek 的 R 本身是否可以实现这一点 我能够导航到反编译的第 3
  • C# 中的 void** 是什么?

    我正在查看一个使用 C 编写的库的 C 程序的源代码 我遇到了这一行 但不确定它是什么 cvbimUNSAFE GetImageVPA cvbim IMG cvImg Image 0 void lpImageBits pVPAT 什么是类型
  • Highcharts 动态添加系列

    我想添加一些系列 我从网络服务获取系列数据作为 3dim 数组 并将其作为 json 返回 我不知道我将获得的系列数 所以我必须动态加载系列数据 在 javascript 中 我正在构建一个对象 就像这个 highstock 示例 http
  • 如何使用泛型创建一种从枚举生成 IEnumerable 的方法?

    给定一个这样的枚举 public enum City London 1 Liverpool 20 Leeds 25 public enum House OneFloor 1 TwoFloors 2 我使用以下代码给我一个 IEnumerab
  • Angular 5 html 模板中的时刻给了我错误

    我在 Angular 5 中使用 moment v2 22 0 这就是我将其导入模块的方式 import as moment from moment 并在组件中使用它作为 export class ChatComponent public
  • Selenium 2.53.1 不适用于 FireFox 48

    我正在使用 selenium 来测试我们的网站 当我构建项目时 出现异常 OpenQA Selenium WebDriverException 启动失败 45000 毫秒内完成套接字 尝试连接到 以下地址 127 0 0 1 7055 问题
  • 如何将 Expect data.index 作为 DatetimeIndex 处理?

    我计划从比特币数据中获取烛台图 这是我的代码 用于在加载 csv 文件后选择我想要的数据框 df Date pd to datetime df Date start date 2016 02 27 end date 2021 02 27 m
  • 如何卸载自制程序?

    我今天安装了 homebrew 但并不真正知道自己在做什么 现在我的 scikit learn 包坏了 我想通过卸载自制软件来撤消所做的一切 并尝试按照此处的提示进行操作 https github com Homebrew homebrew
  • 如何从具有以“|”分隔的字段的行中提取数据C++ 中的字符?

    我在文本文件中有以下格式的数据 文件名 empdata txt请注意 行与行之间没有空格 Sl 员工ID 姓名 部门 乐队 地点 1 327427 布罗克 麦克尼尔 研究与开发 U2 浦那 2 310456 Acton Golden 广告
  • PostgreSQL 中的 COPY 函数

    我想使用 PostgreSQL 中的 COPY 函数将 CSV 文件导入到 PostgreSQL 数据库中 其中显示文件名的地方文档 CSV 文件是否必须存储在特定位置 还是可以存储在任何位置 例如 copy data table from
  • 内联标记块不能嵌套。仅允许一级内联标记。 MVC 剃刀

    我一一模态窗口 里面有 Telerik 网格 但我需要在网格中渲染图像 因此据我所知 我不能使用 两次 这是关于这个问题的博客文章Link 有人可以帮助我吗 My Code Html Telerik Window Name images T
  • 在 Chrome 中自动打印/保存网页为 pdf - python 2.7

    我正在尝试在 Chrome 中自动打印保存网页为 pdf 我已经检查了网络浏览器模块 但它似乎并不是用于此目的 我探索了 wkhtmltopdf 作为替代方案 但下载文件时它似乎被病毒感染了 感谢你的建议 这对我在 Windows 7 x6
  • Kubernetes Pod 收到 SIGTERM 后还会收到请求吗?

    我想在 Kubernetes Pod 中实现正常关闭 我知道我需要监听 SIGTERM 它表示关闭过程的开始 但当我收到它时 我到底该怎么做呢 至少我必须等待所有正在运行的请求完成才能退出 但是pod收到SIGTERM后还能接收新的请求吗
  • 在多个 Android 设备上同步记录数据的时间

    这个问题可能有点冗长 但可以提供很多建议 问题陈述 我们有几个 API 级别 8 Android 2 2 MyTouch 设备 将用于记录游乐园 即过山车 的加速度数据 我们还有一个可视化功能 允许我们绘制和查看加速度计点作为记录时间的函数
  • 如何从地点选择器的地址获取国家、城市?

    我正在使用地点选择器的意图来获取该地点 现在我想以单独的形式保存地址 如国家 城市 密码 州 我如何从地点选择器的地址获取所有这些信息 Code public class NameOfBusinessFragment extends Fra
  • 具有映射诊断上下文的 Golang 日志记录

    我怎样才能实现MDC 日志记录 Java 在 Go 语言中 我需要在所有服务器日志中添加 UUID 以便能够跟踪并发请求 Java MDC 依赖于线程本地存储 这是 Go 所没有的 最接近的是线程aContext通过你的堆栈 这就是越来越多
  • Windows 应用程序安装程序框架

    可下载的应用程序会提供多种类型的安装程序 这对我来说总是很奇怪 例如 有时您可以选择 exe 或 msi 某些类型的安装人员是否比其他类型有优势 你选择哪一个很重要吗 作为开发人员 为什么我要向我的用户提供不同的安装程序 exe 和 msi