标签: msix

如何创建Windows安装程序

基本上我们以手动安装程序(Windows powershell脚本)的形式发布我们的更改/修复.它将通过读取配置文件值在特定位置安装指定的.dll和SQL脚本文件(我们将在此文件中配置.dll和Sql脚本位置).相同的powershell脚本具有卸载代码以回滚特定的chage集.

是否有任何选项或机制来为上述要求创建Windows安装程序?

powershell windows-installer wix appx msix

10
推荐指数
3
解决办法
8521
查看次数

如何创建时间戳 url 或者在哪里可以找到 MSIX 应用程序包的免费时间戳 url

当我对应用程序包进行自签名时,Visual Studio 只允许我创建有效期为一年的安全证书。如何创建时间戳 url 或者在哪里可以找到免费的时间戳 url 以确保即使在使用的签名证书已过期后也可以安装 MSIX 包? 在此输入图像描述

更新:

我尝试了很多网上可以找到的网址,其中大多数都给了我错误:

SignTool 错误:无法到达指定的时间戳服务器或返回无效响应。

最后我找到了一个(http://timestamp.comodoca.com),可以从这篇文章中使用https://support.comodo.com/index.php?/Knowledgebase/Article/View/68/0/time-stamping-server

deployment code-signing visual-studio msix

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

msix 和多个目标框架不起作用

我有多个目标框架的 wpf 项目

<TargetFrameworks>netcoreapp3.0;net48</TargetFrameworks>

在 vs2019 中,我创建了Windows Application Packaging Project(MSIX 包)并添加了对我的项目的引用。

但是当我尝试构建打包项目时,出现此错误:

error MSB4057: The target "GetTargetPathWithTargetPlatformMoniker" does not exist in the project.
error MSB4057: The target "GetTargetPath" does not exist in the project.
error MSB4057: The target "GetDeployableContentReferenceOutputs" does not exist in the project. 
Run Code Online (Sandbox Code Playgroud)

当我使用单个目标时一切正常

<TargetFramework>netcoreapp3.0</TargetFramework>

.net .net-core msix visual-studio-2019

7
推荐指数
0
解决办法
907
查看次数

阅读 msix 包 appxmanifest 版本

我们有一个仅在内部使用的 .Net Core 应用程序。在从 WPF 切换到 .Net Core 的过程中,我们从 Click-Once 更改为 MSIX。在我们应用程序的窗口标题/标题中,我们还“输出”了当前版本(主要版本、次要版本……)。以前,我们采用了启动项目的版本(称为“视图”)。现在使用MSIX,这个项目已经得到了我们需要的版本号(启动项目引用“查看”)。我们现在怎样才能读到正确的版本?

使用Assembly.GetEntryAssemblyAssembly.GetCallingAssembly返回错误版本 - 启动项目的版本。该应用程序不在 Windows 应用商店中,它将作为包进行侧面加载。有什么想法可以在部署我们的包时获得我们“生产”的“正确”版本?

谢谢!

c# core msix

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

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

我正在使用 Visual Studio MSIX 打包项目在网络共享上为内部应用程序创建安装程序。

一个问题是它正在创建一个末尾带有“_Test”的目录。

为什么会这样以及我该如何摆脱它?我只想要“MyApp.MSIX_0.0.1.0”,或者理想情况下,“MyApp.0.0.1.0”。

 Directory of I:\

08/14/2020  09:44 AM    <DIR>          .
08/14/2020  09:44 AM    <DIR>          ..
08/14/2020  09:44 AM            21,312 index.html
08/14/2020  09:23 AM               601 MyApp.MSIX.appinstaller
08/14/2020  09:37 AM    <DIR>          MyApp.MSIX_0.0.1.0_Test
               2 File(s)         21,913 bytes
               3 Dir(s)  62,444,621,824 bytes free
Run Code Online (Sandbox Code Playgroud)

我一直在搜索文档,但找不到有关它创建的目录或它生成的 index.html 文件的任何信息。我想自定义所有这些,添加发行说明等。

如果这有什么区别的话,这是一个 WPF 应用程序。

packaging visual-studio msix

7
推荐指数
2
解决办法
1683
查看次数

无法安装 UWP 侧面加载版本

使用 Visual Studio 15.9.4,我们正在创建一个 UWP 侧面加载包。我们正在获得新的 msix/msixbundle 输出。

  1. Windows 中没有与右键单击并安装此扩展 (msix/msixbundle) 相关的关联。
  2. 尝试运行 Add-AppDevPackage.ps1 脚本时,我们收到“错误:包或捆绑包未经过数字签名或其签名已损坏”。
  3. 这才刚刚开始发生,我们正在使用与之前成功的侧面加载构建中使用的相同的官方 UWP 存储相关证书。

有人对如何让 UWP 侧面加载构建再次工作有任何意见吗?

uwp msix

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

当我创建 .msix 包时,为什么 VS 2019 将“_Test”附加到文件夹名称

我正在从 VS 2019 创建一个 .msix 包。正在打包的应用程序是 .NET Core 3.1 WFP 桌面应用程序。

包 (.msixbundle) 正确执行并且命名正确。

但是,放置包的文件夹始终在其所在文件夹的末尾附加“_Test”(后缀)。如果我将包发布到 Web 服务器或文件共享,则会累积以以下结尾的文件夹在“_测试”中。无论我是创建调试版本还是发布版本,都会发生这种情况。

我已在解决方案中搜索“测试”一词,但不存在。我创建了简单的通用应用程序,并且“_Test”后缀始终出现在包的文件夹名称中。

这是从哪里来的?

msix

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

如何让 MSIX 应用安装程序在每次生成/发布期间输出正确的设置?

问题:

如何让 MSIXappinstaller在每次生成/发布期间输出正确的设置?

语境:

这是“为什么在启用侧面加载时 MSIX 不会在每次应用程序运行时自动检查更新?”的后续问题。

我在跑步:

  • Windows 10 20H2,操作系统内部版本 19042.928
  • Visual Studio 2019 社区版,版本 16.9.4

MSIX Windows 目标设置如下:

  • 目标版本 = Windows 10 版本 2004
  • 最低版本 = Windows 10 版本 1809

MSIX 安装程序项目会创建无效appinstaller文件,这会阻止应用程序在每次运行时自动检查更新。我可以在每次构建/发布后手动更改文件,但我认为我不应该这样做,因为这似乎既弄巧成拙又错误。

一般来说,我几乎会忽略appinstaller每次创建,但文件会自动递增版本号。因此,我目前似乎陷入了某种形式的手动干预,要么更改 和schema version部分UpdateSettings,要么更新路径中的版本。这可能与运行 Visual Studio Community 版本有关吗?我需要专业人士才能让它发挥作用吗?

Visual Studio 创建的 Appinstaller,这是错误的:

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    Uri="https://<AppService>.azurewebsites.net/<AppName>.Setup.appinstaller"
    Version="<AppVersion>" xmlns="http://schemas.microsoft.com/appx/appinstaller/2017/2">
    <MainBundle
        Name="<SomeGuid>"
        Version="<AppVersion>"
        Publisher="CN=<CertificateName>"
        Uri="https://<AppService>.azurewebsites.net/<AppName>.Setup_<AppVersion>_Development_Test/<AppName>.Setup_<AppVersion>_x64_Development.msixbundle" />
    <UpdateSettings>
        <OnLaunch
            HoursBetweenUpdateChecks="0" />
    </UpdateSettings>
</AppInstaller>
Run Code Online (Sandbox Code Playgroud)

我需要 Visual Studio 创建的应用程序安装程序:

<?xml …
Run Code Online (Sandbox Code Playgroud)

wpf azure visual-studio msix .net-5

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

如何将Python项目打包到MSIX包中?

我目前正在开发一个 Python 项目,我希望将来将其上传到 Microsoft Store。

据我所知,为了将应用程序上传到Microsoft Store,必须将应用程序打包为MSIX格式。

现在的问题是 -是否可以将Python 项目打包为 MSIX 格式?

我已经尝试了两种可能的方法


  • 第一种方法

我认为将 .exe 文件打包到 MSIX 包中会容易得多。由于 .py 文件需要解释器才能运行,因此我设法将 Python 项目冻结为独立的 .exe 可运行文件 - 而且效果非常好。我发现了一个微软制作的有用的工具,它应该以 MSIX 格式打包 .exe 文件。该工具是MSIX Packaging Tool ,可从Microsoft Store获取。我确实设法创建了 .msix 文件,但无法运行,因为 Windows 要求我必须先对 .exe 进行签名。


  • 第二种方法

我发现可以使用 Visual Studio 2019 中的内置工具将项目打包到 MSIX 包中。因此,我设法将整个 python 项目移动到 Visual Studio 中,并按照以下步骤打包我的项目项目。问题是,在早期阶段,当添加对我的 python 项目的引用时,会出现下一个错误:

舞台号 5


我很想知道是否有其他可能的方法将 Python 项目打包到 MSIX 包中。

python windows package visual-studio msix

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

资产文件project.assets.json没有“net6.0-windows10.0.19041.0/win-x64”的目标

我有一个使用 MSIX 部署的 .NET 6 Windows 桌面应用程序。

我可以在自己的计算机上运行和调试它,但无法使用 Azure Pipelines YAML 进行构建。

我收到错误:

C:\Program Files\dotnet\sdk\6.0.101\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(267,5):错误NETSDK1047:资产文件'D:\a\1\s\ MyApp\obj\project.assets.json' 没有“net6.0-windows10.0.19041.0/win-x64”的目标。确保恢复已运行并且您已将“net6.0-windows10.0.19041.0”包含在项目的 TargetFrameworks 中。您可能还需要在项目的运行时标识符中包含“win-x64”。

应用程序项目文件:

<TargetFramework>net6.0-windows10.0.19041.0</TargetFramework>
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
<Platforms>x64</Platforms>
Run Code Online (Sandbox Code Playgroud)

安装程序项目文件:

<TargetPlatformVersion>10.0.19041.0</TargetPlatformVersion>
<TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion>
<TargetFramework>net6.0-windows10.0.19041.0</TargetFramework>
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
Run Code Online (Sandbox Code Playgroud)

管道任务是使用 Visual Studio 2022 (v. 17) 进行 VSBuild,Nuget 工具是使用 NugetToolInstaller 任务安装的 6.0 版。

Azure Windows 代理使用 vmImage:“windows-2022”

错误说:

确保您已在项目的 TargetFrameworks 中包含“net6.0-windows10.0.19041.0”。您可能还需要在项目的运行时标识符中包含“win-x64”。

我已在应用程序和安装程序项目的 TargetFramework 中添加了“net6.0-windows10.0.19041.0”。

如果我win10-x64win-x64它替换可以构建,但我需要使用win10-x64,因为其中一个包需要它(Microsoft.PowerShell.SDK 和 System.Management.Automation)。

新:添加/p:RestoreLockedMode=trueVS Build 任务后,我现在收到错误:

MyApp.Installer.wapproj:错误 NU1004:项目 MyApp 没有兼容的目标框架。包锁定文件与项目依赖项不一致,因此无法在锁定模式下运行恢复。禁用 RestoreLockedMode MSBuild 属性或传递显式 --force-evaluate 选项来运行还原以更新锁定文件。

新新:我升级到.NET 7,但遇到了同样的错误。

我该如何修复该错误?

msbuild nuget .net-core azure-pipelines msix

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