我可以在 MSIX 包中打包预构建的二进制 exe 吗?

Posted

技术标签:

【中文标题】我可以在 MSIX 包中打包预构建的二进制 exe 吗?【英文标题】:Can I package prebuilt binary exe inside MSIX package? 【发布时间】:2021-11-17 15:01:04 【问题描述】:

我有一个用 C++ 编写的控制台应用程序,我想把它放在 MSIX 包中,以便能够将它分发给我的用户(并可能放在 Windows 应用商店)。我手动将应用程序编译为MyApp.exe 文件,现在我想创建包含此.exe 文件的MSIX 包。可以用 MSIX 做到这一点吗?到目前为止,我一直在 Visual Studio 中使用Windows Application Packaging,但似乎您必须添加对项目的引用才能打包它(我没有,因为我只有一个二进制文件MyApp.exe)。有什么想法可以将二进制文件添加到 MSIX 包中,或者如何将 C++ 应用程序打包到 MSIX 中?

到目前为止,我能看到的唯一选择是使用MSI 技术而不是MSIX,但我更喜欢使用更新的安装技术。

【问题讨论】:

嘿,你发现了吗?目前遇到了同样的问题。 @ThomasVos 不,我没有。这是一个教育项目,我懒得花太多时间在上面。也许你可以看看 Reilly Wood 提出的MakeAppx.exe 感谢您的回复。我目前正在研究MakeAppx.exe,这似乎对我有用。但是,打包资源和签名更加复杂,因为无法再为此使用 Visual Studio。但我想这是要走的路。 【参考方案1】:

Microsoft 的MakeAppx.exe 工具可以将任意文件打包成一个 MSIX 包,这可能是实现这一点的最简单方法。

不久前我尝试在 Visual Studio 中使用 Windows 应用程序打包做类似的事情并放弃了;根据我的经验,MSIX 的 VS 工具有缺陷且文档记录不充分。

【讨论】:

以上是关于我可以在 MSIX 包中打包预构建的二进制 exe 吗?的主要内容,如果未能解决你的问题,请参考以下文章

MSIX 未打包所有依赖项

MSIX 侧载应用在更新后启动缓慢

WPF 引用 UWP 控件 不打包为 MSIX 分发的方法

如何使用 MSIX 打包和部署注册表项

Visual Studio MSIX 应用创建:入口点 (.exe) 不正确

自定义 Visual Studio MSIX 打包项目输出