如何从命令行构建 MSIX [关闭]

2023-12-01

我们已经了解,MSIX 是 ClickOnce 的一个有趣的现代替代品。 与 GUI 一起使用运行流畅。我们还希望将其与 Powershell/CMD 脚本一起使用。 (我们只想要 msix 包,no存储上传。)

这是我们的问题。我看过 MS 的文档(https://learn.microsoft.com/en-us/windows/msix/package/manual-packaging-root)但它是非常片面的。我没有什么特别要做的,我只想通过脚本而不是 GUI 进行标准导出。

请问有人可以给我更好的说明/教程来通过命令行轻松创建 msix-Package 吗?

这是我发现的步骤 - 和部分问题:

  1. 创建 Manifest.xml - 内容的良好文档,但将其保存在哪里?我使用带有 *.sln 的文件夹
  2. 生成包资源索引 - 我找到了 MakePRI.exe,但是很难使用?
  3. 使用 MakeAppx 创建包 - 谁以及在哪里使用?即使在标准情况下我也需要一个mapping.txt。它必须包含哪些文件?全部来自清单?我必须将文件放置在哪里 - 在线服务器还是本地 PC?只有图标的图片吗?我必须在哪里运行它?必须是*.sln的地方还是可以是子文件夹?我的程序的二进制文件在哪里?
  4. 创建应用程序包 - 当我创建适用于 x86 和 x64 的应用程序时,此处的映射文件中必须包含哪些内容?
  5. 签署 msix - 听起来很简单 - 将 msix 文件和签名作为参数并运行

你看,我很困惑。使用 GUI - MSIX 创建非常简单。但如何实现自动化呢?有人能帮我吗?


在我看来,您在这里走错了路,基本上,您正在尝试重新发明轮子并创建自己的工具来构建 MSIX 包。

这对我来说听起来不太有效。我们(Advanced Installer)和包括 Microsoft 在内的其他供应商多年来一直致力于构建可靠的 MSIX 打包工具,这不是一个您可以在没有任何先前领域知识的情况下从头开始的 1 个月项目任务。

我怀疑您实际上需要的是一种从命令行构建使用 Visual Studio、高级安装程序、InstallShield 或任何其他可以构建 MSIX 包的工具创建的项目的方法。

因此,基本上,您需要使用 GUI 来初始构建将生成 MSIX 的项目,然后可以继续使用以下选项,通过命令行从该项目构建 MSIX。

如果我错了,并且您实际上需要一种从命令行从头开始构建 MSIX 包的方法,请使用更多详细信息更新问题,以便社区可以更好地了解您想要完成的任务,以便为您提供有用的指导。

TLDR 解决方案:

  1. 因此,第一步是使用您喜欢的工具构建 MSIX 项目。从你的问题来看,你似乎只使用VS,所以你需要使用Windows应用程序打包项目.

  2. 现在您已经获得了 .SLN,其中包含应用程序的源代码以及 MSIX 项目,您所需要做的就是从命令行触发构建,使用 msbuild.

笔记。如果您使用第三方工具来构建 MSIX,请搜索其文档,所有专业工具都有命令行界面。例如,您可以这样做使用高级安装程序的 CLI 构建项目.

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

如何从命令行构建 MSIX [关闭] 的相关文章

  • EntityState.Deleted 不起作用,Remove(entity) 起作用吗?

    当我尝试读取记录 然后在同一事务中删除这些记录时 我一直在与 EF 作斗争 我最初使用 EntityState Deleted 方法 这会给出错误 操作失败 无法更改关系 因为一个或多个外键属性不可为空 当关系发生更改时 相关的外键属性将设
  • Java 8 Date API - 获取一个月中的总周数

    我有一个 Kotlin 函数来获取一个月中的总周数 Code fun getTotalWeeksInMonth instant Instant Int val calendar Calendar getInstance calendar t
  • 如何在 Visual Studio 中调试 Windows 服务?

    是否可以在 Visual Studio 中调试 Windows 服务 我用过类似的代码 System Diagnostics Debugger Break 但它给出了一些代码错误 例如 我收到两个事件错误 eventID 4096 VsJI
  • 为什么重新分配 Object.prototype 不起作用?

    为什么这不起作用 this one works as I expected when objSayHello Object prototype objSayHello function alert Hello from OBJECT pro
  • mysql 中的逗号分隔值和通配符

    我的数据库中有一个值 其中包含逗号分隔的数据 例如 11 223 343 123 我想获取数据 如果它与某个数字匹配 在本例中为数字 223 WHERE wp postmeta meta value IN 223 223 223 223 我
  • 如何从 qcombobox 获取 itemdata?

    当我单击 QtWidgets QPushButton 以显示 QtWidgets QComboBox 中的 itemData 时 出现问题 我用以下代码填充我的组合框 self comboBox addItem Sandro 1 self
  • 从适用于 Android 应用 API 17+ 的 CellSignalStrengthLte 获取 RSRP

    在过去的十年里 有一些人问过类似的问题 但没有人有任何答案 我需要编写一个 Android 应用程序来收集和存储 RSRP RSRQ CINR 和 Cell ID 答案需要在手机硬件允许的范围内尽可能准确 我正在三星 Galaxy S5 上
  • 如何创建只读 ng-repeat?

    初始渲染速度非常慢ng repeat 如何创建只读版本ng repeat 这样当您迭代的数组发生更改时 呈现的 HTML 不会更改 双冒号使 Angular 中的内容成为只读 使用以下语法 ul li item name li ul
  • 图像无拉伸或裁剪

    我的问题很简单 假设我有两个矩形图像 第一个宽 200 像素 高 100 像素 第二个宽 100 像素 高 200 像素 我想以恒定的宽度 高度显示图像 例如150 像素 x 150 像素 无需拉伸图像以适应 我不介意图像周围有空白 填充
  • 如何向 JScrollPane 添加多个元素

    因此 我试图向 JScrollPane 元素添加多个元素 但到目前为止我还无法将其拉出 我可以使第一个元素显示出来 在我的例子中是一张图片 但是在向 JScrollPane 添加额外的面板后 第一个元素消失了 甚至第二个元素 新面板 也没有
  • .Net Standard 上的 Log4Net 没有用于在没有存储库的情况下获取记录器的版本

    我正在尝试将一个项目转移到 net 标准 它基本上是一个类库 我正在使用 log4net 进行日志记录 并且我正在使用该方法 public static ILog GetLogger string name 由于这是一个被多个项目引用的库
  • Mysql 的 WHERE in 子句问题

    mysql 中的 where in 子句有什么问题 我的两张桌子SEATS and REGISTERS看起来像这样 SEATS REGISTERS seat id int register id int seat id varchar 10
  • 更改 Android 上另一个应用程序的权限(已 root)

    我看到了一些关于此的主题 但没有一个真正谈到我想做的事情 我正在尝试编写一个应用程序 该应用程序将拒绝另一个应用程序连接到互联网 IE 防火墙 的能力 根据我创建的算法 它将确定该应用程序是恶意的 该应用程序将安装在已root的手机上 然后
  • C# 只读字段是否允许在类外部修改?

    我有一个readonly我通过构造函数参数设置的对象字段 如果我修改对象 类内的字段也会改变 我猜这是通过引用调用 有什么办法可以更好地做到这一点 防止它吗 private void Form1 Load object sender Eve
  • 打开关闭 GPS android [重复]

    这个问题在这里已经有答案了 可能的重复 如何以编程方式在 Android Cupcake 中启用 GPS 我目前正在 Android 中编写一个与 GPS 配合使用的应用程序 目前我可以确定 GPS 是否启用 我的问题是 如果禁用了 GPS

随机推荐

  • 减少 iTextSharp 上的段落换行高度

    当段落长度对于 ColumnText 的宽度来说太长时 如何减少换行符的高度 我尝试了以下方法 因为我看到了其他问题的答案 p Leading 0 但这并没有产生任何影响 我也尝试过增加Leading to 100看看是否添加了更大的换行符
  • 事件委托,Event.target 与 Event.currentTarget

    In MDN Event target 参考有一个关于实现事件委托的示例 事件委托示例 Assuming there is a list variable containing an instance of an HTML ul eleme
  • 使用提升日期的工作日持续时间

    有没有办法只得到没有 2 个提升日期之间的工作日 在下文中 我只获取日历日 date begin dt 2011 Aug 3 date end dt day clock local day days duration end dt begi
  • Asp.NET MVC 3 项目模板未显示

    我安装了 Async CTP 但不知道它会导致 Asp NET MVC 3 出现问题 因此 我按照所有可能的卸载说明重新安装了 SP1 和 MVC 3 但是 MVC 3 模板不会显示在新项目对话框中 我已确保对话框中的目标平台是 NET 4
  • 使用 shell 脚本仅从 sftp 获取最新文件

    我只需要按照日期从 sftp 获取最新文件 例如 yyyy mm dd 我尝试了较低的命令 但它将获取目录中的所有文件 latest file ls ltr tail 1 awk print 9 scp r latest file user
  • 依赖于私有 AZ 存储库的 Azure 构建管道

    我们在 Azure 存储库中有一个 Angular 项目 它引用依赖项下的 packages json 文件中的另一个私有 Azure 项目 存储库 该项目在本地为所有开发人员构建良好 但在 Azure Pipeline 中失败 身份验证失
  • oracle程序创建并运行ora-00900错误

    我在 dbeaver 中做了这样的 oracle 程序 CREATE OR REPLACE PROCEDURE p test IS I MESSAGE VARCHAR2 100 test BEGIN dbms output put line
  • C++ - 最佳实践:“使用 std::cout” 与“std::cout” [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我知道 在 C 中 我们永远不应该使用 using namespace std 两种可能的替代方案是 1 添加using std cout 在文件的开头 然后输入cout每当需要时 2 t
  • 是否可以在 PHP 中创建静态类(就像在 C# 中一样)?

    我想在 PHP 中创建一个静态类 并让它像在 C 中一样运行 所以 第一次调用类时会自动调用构造函数 无需实例化 诸如此类的东西 static class Hello private static greeting Hello privat
  • 在 cakephp 2 的行为中读取会话变量

    我有一种行为可以根据会话中存储的用户 ID 来隔离用户数据 在 CakePHP 1 3 中你可以这样做 App import Component Session session new SessionComponent session gt
  • 验证在单元测试中调用了一种方法或另一种方法

    Example public bool Save MyObj instance if instance IsNew this repository Create instance else this repository Update in
  • 带有 nginx ssl 直通的反向代理

    我有多个 ISS Web 服务器 在每个 IIS 服务器上托管多个 Web 应用程序 每个系统上都有一个公共证书 每个 IIS 都有一个唯一的 IP 所有IIS服务器都放置在同一个DMZ中 我在另一个 DMZ 中设置了 nginx 系统 我
  • R 中显示的摘要很短,许多术语显示为“其他”

    如何显示完整的输出摘要 而不将任何值分类为 其他 summary d Date of Sale City Department Product 1 18 2015 149 A 5290 Footwear Mens 538 13245 255
  • 如何使用 Vertx JDBC Client 使用列表作为 SQL 查询的参数源?

    我有一个 Vert x Web 应用程序 需要查询运行 Postgres 10 7 的 AWS RDS 实例 Vert x JDBC 客户端是io vertx vertx jdbc client 3 8 4 我想查询一个表 其约束条件是某个
  • 清算意图

    我的 Android 应用程序被传递信息的意图 状态栏中的待定意图 调用 当我按下主页按钮并按住主页按钮重新打开我的应用程序时 它会再次调用意图 并 且相同的附加功能仍然存在 Override public void onSaveInsta
  • android Volley如何发布多个参数

    如何发布多个参数android Volley 发布多个数组 如 101 102 103 params put sessionid 101 102 103 就像 任何其他方式 public void postCompanyArticle St
  • 没有选择 emacs ido 所建议的内容? [复制]

    这个问题在这里已经有答案了 在我当前的工作目录中 WD有一个abc txt文件 现在我想做另一个abc txt子目录下 WD NEW 当我打字时C x C f和目录 WD NEW abc txt ido 正在将字符串更改为 WD abc t
  • 如何为 scikit-learn 提供随机数生成器的种子?

    我正在尝试为一些使用 scikit learn 的代码编写单元测试 然而 我的单元测试似乎是不确定的 AFAIK 我的代码中 scikit learn 使用随机性的唯一地方是它的LogisticRegression模型及其train tes
  • 如何将两个不同的域名指向同一个网站? [关闭]

    Closed 这个问题是无关 目前不接受答案 我有一个网站 但这个网站没有完整的域名 但在互联网上排名很好 我想让这个网站由两个不同的域名指向 请建议我该怎么做 请给我简单的步骤来做到这一点 Thanks 在每个域下 您应该有 DNS 设置
  • 如何从命令行构建 MSIX [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我们已经了解 MSIX 是 ClickOnce 的一个有趣的现代替代品 与 GUI 一起使用运行流畅 我们还希望将其与 Powershell CMD 脚本一起使用 我们只想要 m