标签: msix

在没有 GUI 或 msi 安装程序的情况下手动创建 msix 包

谁能给我一个提示,我可以手动定义一个 msix 包吗?我的应用程序还没有 msi 包(还),所以我不能简单地转换它。有没有办法像配置文件一样创建,我手动定义哪些文件需要进入 msix 包?MSIX GUI Creator 也没有给我足够的控制权。非常感谢任何链接或帮助

windows installation windows-installer msix

6
推荐指数
1
解决办法
871
查看次数

WinUI3 使用外部 msi 创建安装程序

我正在尝试为 Winui3 应用程序创建安装程序并向其添加外部 msi 文件。

到目前为止,我已经尝试过 Wix 工具集和 Microsoft Visual Studio 安装程序项目,但两者都创建了一个包含不起作用的 exe 的 msi 文件。我设法创建具有工作启动器的安装程序的唯一方法是打包桌面应用程序,如下所示https://nicksnettravels.builttoroam.com/packaging-winui3-desktop/。输出是一个 msix 文件,用于安装并启动应用程序。但是,我仍然需要安装外部 msi 文件才能使我的应用程序正常工作。

是否有任何用于创建包含我的项目解决方案 msix 和其他 msi 的 exe 安装程序的解决方案,或者添加打包桌面应用程序的先决条件的方法?

windows-installer msix winui-3

6
推荐指数
0
解决办法
1214
查看次数

Windows Sandbox 上的 MSIX 包?

我正在尝试弄清楚如何在 MSIX 中打包 WinUI 桌面应用程序。我们不想上传到 Windows 应用商店或其他任何东西,只是为了能够为人们提供一个安装程序(很像 .msi 文件),并让他们自己将其安装在台式电脑上。

我使用VS2022来打包最基本的WinUI应用程序,即框架为您创建的应用程序。我已成功为其创建了 .msix 文件。但当我将其复制到 Windows Sanbox 实例时,它似乎不知道如何处理 .msix 扩展名。Windows Sandbox 是版本 2004,根据此页面,它应该足够好。

但是,双击 .msix 文件不起作用:

在此输入图像描述

谁能建议这是为什么?

另外,这篇文章似乎表明,即使我可以打开 msix,它仍然需要最终用户手动安装依赖项!这肯定是不对的吧?没有最终用户愿意这样做,不是吗?这篇文章现在有点旧了(事情进展很快),所以有人可以告诉我这是否仍然是 msix 软件包安装程序的状态。有没有一种好的方法来打包应用程序以便安装简单?

installation sandbox msix winui

6
推荐指数
1
解决办法
1026
查看次数

无法使用 powershell 安装 MSIX 包

问题

我正在尝试使用 msix 作为部署方法将 .net core 3.1 wpf 应用程序安装到 Windows 2019 服务器上。Windows 服务器是最新的并且应该支持 msix,但不会安装我使用 powershell 命令 Add-AppPackage 创建的任何 msix 包。如果您单击 .appinstaller 文件并使用 gui,这些软件包将安装在 Windows 10 计算机上,但如果您使用 powershell,它们将不会安装在同一台计算机上。

我尝试过的

  • 我已浏览此故障排除页面但无济于事。
  • 我尝试过不同的 msix 软件包
  • 我尝试过使用本地文件目录
  • 我尝试过以管理员身份运行

代码

这是我尝试安装的示例: 应用程序安装程序文件 运行 .appinstaller 文件将正确安装此 uwp 应用程序。但是,这是行不通的:

Add-AppPackage .\TestUwp.appinstaller
Run Code Online (Sandbox Code Playgroud)

错误信息

这是 powershell 脚本输出的错误消息:

Add-AppPackage : Deployment failed with HRESULT: 0x80073CF0, Package could not be opened.
error 0x8007000D: Opening the package from location TestUwp.appinstaller failed.
NOTE: For additional information, look for [ActivityId] 742e8080-11e2-0000-5f0b-3374e211d601 in the …
Run Code Online (Sandbox Code Playgroud)

deployment wpf powershell .net-core msix

5
推荐指数
1
解决办法
1万
查看次数

运行 Publish Vs2019 时缺少 project.assets.json

尝试在 VS 2019 WPF 打包项目中使用 Publish 命令创建 64 位 MSIX 包时,我们收到以下错误“wappublish\win-x64\project.assets.json”未找到...运行 NuGet 包还原生成此文件'。

打包项目本身构建良好并且可以调试。从包管理器控制台运行“dotnet Restore”没有帮助。我们注意到 wapppublish 下没有创建 win-x64 目录。

我们使用的是 VS 2019 16.7.4 社区版。任何人有什么想法可能会导致这种情况。

谢谢

wpf visual-studio msix

5
推荐指数
0
解决办法
339
查看次数

AppInstaller XML 问题

我正在尝试遵循 Microsoft 文档,但我对为什么我的 appinstaller 失败感到困惑:

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller xmlns="http://schemas.microsoft.com/appx/appinstaller/2018" Uri="https://xxxxxx.blob.core.windows.net/installer/Package.appinstaller" Version="1.0.0.0">
    <MainPackage Name="MyApp" Version="12.21.289.0" Publisher="CN=xxxxxx" ProcessorArchitecture="x64" Uri="https://xxxxxx.blob.core.windows.net/installer/MyApp.msix"/>
    <UpdateSettings> <OnLaunch HoursBetweenUpdateChecks="1" /> <AutomaticBackgroundTask/> </UpdateSettings>
</AppInstaller>
Run Code Online (Sandbox Code Playgroud)

如果我运行 MSIX 文件,它会按原样安装。我一直在尝试遵循这个:https : //docs.microsoft.com/en-us/windows/msix/desktop/azure-dev-ops 我收到此错误: 在此处输入图片说明 如果我删除 UpdateSettings 属性,它只会导致另一个错误:“应用程序安装失败并显示错误消息:Appinstaller 操作失败,错误代码为 0x80D05011。详细信息:未知错误 (0x80d05011)”

请帮忙。

xml windows azure-devops msix appinstaller

5
推荐指数
3
解决办法
857
查看次数

使用 MSIX 发布 .Net Maui 应用程序时未生成应用程序安装文件

尝试使用 MSIX 发布 .Net Maui 应用程序,但未生成“应用程序安装文件”(.appinstaller) 及其所有内容。我正在使用 Visual Studio 发布方法(包括 SideLoading),右键单击项目并按“发布”。

使用 Windows 10。我的应用程序的 TargetPlatformMinVersion:

<TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
Run Code Online (Sandbox Code Playgroud)

以下是我遵循的步骤:

右键单击该项目并选择发布,然后以下图像来自向导。

在此输入图像描述

在此输入图像描述

在此输入图像描述

在此输入图像描述

结果:

在此输入图像描述

在最后一张幻灯片中,捆绑设置为“否”,所需的操作系统为空白,我不知道这是否是问题,但如果是问题,我该如何解决这个问题。

然后我按“复制并关闭”,但 C:\Dev\Installer 中没有生成安装程序文件和 MSIX 捆绑文件。它是空的,但应该有一个捆绑包和一个安装程序文件,我可以使用它们将更新推送到用户已安装的应用程序。

我的项目中生成的设置:

<GenerateAppInstallerFile>True</GenerateAppInstallerFile>
        <AppxPackageSigningEnabled>True</AppxPackageSigningEnabled>
        <PackageCertificateKeyFile>..._TemporaryKey.pfx</PackageCertificateKeyFile>
        <AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
        <AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
        <AppxSymbolPackageEnabled>False</AppxSymbolPackageEnabled>
        <GenerateTestArtifacts>True</GenerateTestArtifacts>
        <AppInstallerUri>C:\Dev\Installer</AppInstallerUri>
        <HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
Run Code Online (Sandbox Code Playgroud)

visual-studio msix asp.net-blazor .net-maui

5
推荐指数
1
解决办法
1555
查看次数

“解析应用程序包时出错。” 从 Web (MSIX) 打开 Windows 10 .appinstaller 文件时

因此,我尝试使用Windows 10 Creators Update 的直接应用程序安装功能来允许从网络下载打包的现代应用程序。它的主要功能是,它会通过检查 .appinstaller 文件的相同 URL 来自动更新您的应用程序。

https://new-file-explorer.firebaseapp.com/(该页面完全由Visual Studio生成,我没有修改)

问题是,当我单击它时,我只是收到“解析应用程序包时出错”。

如果我手动下载 .appinstaller 文件中引用的 .msixbundle,它将起作用!然而应用程序安装程序本身无法“解析”这个包?

这是最奇怪的部分:如果我使用 Powershell 中的“Add-AppxPackage -Appinstaller”并将其指向 .appinstaller URL,它将完全起作用!

这里的其他答案不适用,因为它们都与在本地服务器上运行它有关(无论如何我都尝试过)。

我认为这与 MIME 类型有关,但我已经按照文档中的说明设置了 MIME 类型,但它仍然不起作用。我已经使用此 URL MIME 类型检查器验证了这一点。我不知道到底是什么原因造成的。

这是.appinstaller 文件

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller Uri="https://new-file-explorer.firebaseapp.com/InstallNFE.appinstaller" Version="1.0.9.0" xmlns="http://schemas.microsoft.com/appx/appinstaller/2017/2">
  <MainBundle Name="NewFileExplorer" Version="1.0.9.0" Publisher="CN=david" Uri="https://new-file-explorer.firebaseapp.com/InstallNFE_1.0.9.0_Test/InstallNFE_1.0.9.0_x86_x64.msixbundle" />
  <UpdateSettings>
    <OnLaunch HoursBetweenUpdateChecks="0" />
  </UpdateSettings>
</AppInstaller>
Run Code Online (Sandbox Code Playgroud)

这是.msixbundle 的链接,它似乎无法解析(如您所见,它可以手动下载它!)

visual-studio firebase-hosting windows-10 uwp msix

4
推荐指数
1
解决办法
9377
查看次数

如何使用自签名 .NET MAUI 应用程序旁加载到另一台 Windows 计算机上?

我使用 PFX 文件从 .NET MAUI Windows 应用程序和自签名证书中创建了带有 MSIX 的安装包。

\n

当我尝试在另一台 Windows 10 计算机上安装它时,收到以下消息:“无法验证此应用程序包\xe2\x80\x99s 发布者证书。请联系您的系统管理员或应用程序开发人员以获取经过验证的新应用程序包证书。必须验证应用程序包中签名的根证书和所有直接证书(0x800B010A)”。部署目录中包含 MyApp.msix 和 MyApp.cer。在我的开发计算机上,使用 MSIX 文件安装没有问题。

\n

如何使用这些文件安装到另一台未创建证书的计算机上?

\n

windows msix maui

4
推荐指数
1
解决办法
1418
查看次数

Azure DevOps 中的 .NET 8 给出“错误 NETSDK1112:未下载 Microsoft.NETCore.App.Runtime.win-x64 的运行时包”

我已将 MSIX WPF 应用程序从 .NET 7 升级到 .NET 8,并且它在我自己的计算机上运行良好。但是当我尝试在 Azure DevOps 中构建它时,我收到错误:

C:\agent\_work\_tool\dotnet\sdk\8.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(491,5): 
Error NETSDK1112: The runtime pack for Microsoft.NETCore.App.Runtime.win-x64 was not downloaded. Try running a NuGet restore with the RuntimeIdentifier 'win-x64'.

C:\agent\_work\_tool\dotnet\sdk\8.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(491,5): Error NETSDK1112: The runtime pack for Microsoft.WindowsDesktop.App.Runtime.win-x64 was not downloaded. Try running a NuGet restore with the RuntimeIdentifier 'win-x64'.
Run Code Online (Sandbox Code Playgroud)

我在本地构建服务器上和使用托管代理时都会遇到相同的错误。

我使用这些任务在计算机上安装和验证 .NET 8:

- task: UseDotNet@2
  inputs:
    version: '8.x'

- task: PowerShell@2
  displayName: 'Check .NET Version and SDKs'
  inputs:
    targetType: 'inline'
    script: |    
        dotnet --version
        dotnet --list-sdks …
Run Code Online (Sandbox Code Playgroud)

.net c# azure-pipelines msix

4
推荐指数
1
解决办法
1541
查看次数

清单文件中的 MSIX 多个应用程序

有关 MSIX 包及其清单文件的几个基本问​​题:

  1. MSIX 包可以包含多个应用程序。什么将某物标识为“应用程序”,而不仅仅是可执行文件?一个可执行文件本身就是一个组件?有自己的快捷方式/卸载吗?
  2. 清单文件是否主导软件包安装/部署或不安装/部署的内容?例如,假设我有一个 MSIX 包,其中包含并安装 2 个应用程序。如果我不做任何其他更改,而只是从清单文件中删除其中一个应用程序,重新签署软件包,那么该软件包现在只会安装另一个应用程序吗?

感谢您的帮助。

windows-store windows-store-apps appxmanifest wack msix

3
推荐指数
1
解决办法
1384
查看次数

我可以使用受信任的代码签名证书对 Windows 应用商店应用进行代码签名吗?

我们有一个 Windows UWP 应用程序,目前在 Microsoft 商店中。该项目包括一个商店关联文件,其中包含发布者属性,其中一个是通用名称。我们的商店帐户将 CN 显示为类似于 GUID 的字符串值。它将显示名称显示为我们的公司名称。在 Visual Studio 中,我们可以使用自签名证书构建用于旁加载和代码签名的应用程序,其中证书的 CN 与 Store CN(类似 GUID 的字符串)相同。这使我们能够在商店版本上加载新版本的应用程序,以便快速测试并为特定客户提供新功能。然后,侧载版本最终可以使用较新的已发布商店版本进行更新。

我的问题是:我们想用我们从受信任的证书颁发机构购买的代码签名证书对应用程序进行签名。问题是受信任的代码签名证书必须将通用名称作为公司名称。我们似乎只能使用通用名称与商店关联文件中的 CN 相同的证书(类似字符串的 GUID)对应用程序进行签名。这是存储关联应用程序的已知限制还是我们遗漏了什么?

code-signing windows-store-apps sideloading msix

2
推荐指数
1
解决办法
804
查看次数

如何更改 msix 包的安装位置?

我有一个 WPF 应用程序,我计划与 Visual Studio 中的 Windows 应用程序打包项目一起部署,该应用程序为安装和未来更新制作 MSIX 包。安装程序会自动将应用安装在 C:\Program Files\WindowsApps 中。这很好,直到程序需要缓存一些数据或需要修改 appsettings 文件,因为应用程序没有访问这些资源的权限。

有没有我可以在包装属性/清单中更改的设置,以便它可以安装在其他地方,这样我就可以避免这些问题?

windows packaging visual-studio appx msix

1
推荐指数
1
解决办法
938
查看次数