Flutter MSIX打包插件msix的使用

发布于 1周前 作者 h691938207 来自 Flutter

Flutter MSIX打包插件msix的使用

Flutter应用可以通过msix插件打包成MSIX格式,从而方便地发布到Microsoft Store或托管在网站上。本文将详细介绍如何安装和配置msix插件,并提供完整的示例代码。

📋 安装

首先,在你的pubspec.yaml文件中添加msix作为开发依赖项:

PS c:\src\flutter_project> flutter pub add --dev msix

📦 创建MSIX安装包

要创建一个MSIX安装包,运行以下命令:

PS c:\src\flutter_project> dart run msix:create

⚙️ 配置安装包

你可能需要自定义MSIX安装包的各种设置,如应用程序名称、默认图标以及应用程序所需的Windows功能等。你可以通过在pubspec.yaml文件中添加msix_config节点来配置这些设置。

基本配置

msix_config:
  display_name: Flutter App
  msix_version: 1.0.0.0
  logo_path: C:\path\to\logo.png

发布到Windows商店

msix_config:
  display_name: Flutter App
  publisher_display_name: Company Name
  identity_name: 48434MySoftware.MyFlutterApp
  publisher: CN=BF212345-5644-46DF-8668-012044C1B138
  msix_version: 1.0.1.0
  store: true

使用自己的证书

msix_config:
  display_name: Flutter App
  msix_version: 1.0.0.0
  certificate_path: C:\path\to\myCertificate.pfx
  certificate_password: 1234

CI/CD配置

name: flutter_app
version: 1.3.2

msix_config:
  display_name: Flutter App
  install_certificate: false

注意:主应用程序版本将作为MSIX版本的基础(例如,1.3.2转换为1.3.2.0)。

不签名

msix_config:
  publisher: CN=PublisherName, O=Msix Testing... # 必须
  sign_msix: false

包含元数据

msix_config:
  display_name: Flutter App
  publisher_display_name: Company Name
  identity_name: company.suite.flutterapp
  msix_version: 1.0.0.0
  languages: en-us, de-de
  capabilities: "internetClient,location,microphone,webcam"

使用已安装的证书签名(SignTool)

按主题签名

msix_config:
  display_name: Flutter App
  msix_version: 1.0.0.0
  signtool_options: /v /debug /sm /fd sha256 /n "Msix Testing" /tr http://timestamp.digicert.com

按颁发者签名

msix_config:
  display_name: Flutter App
  msix_version: 1.0.0.0
  signtool_options: /fd sha256 /i "Msix Testing" /tr http://timestamp.digicert.com

按指纹签名

msix_config:
  display_name: Flutter App
  msix_version: 1.0.0.0
  signtool_options: /fd sha256 /sha1 028bc9922d198ee83d776aa19cb8e82897691e0c /tr http://timestamp.digicert.com

使用.crt文件签名

msix_config:
  display_name: Flutter App
  msix_version: 1.0.0.0
  signtool_options: /fd SHA256 /f "<path_to>\test_certificate.crt"

使用.pfx文件签名

msix_config:
  display_name: Flutter App
  msix_version: 1.0.0.0
  signtool_options: /fd SHA256 /f "<path_to>\test_certificate.pfx" /p 1234

🖊️ 签名选项

发布的MSIX安装包应使用证书进行签名,以确保安装和更新来自可信来源。默认情况下,此包会自动使用自签名测试证书对应用进行签名,以便于发布前的测试。

如果你需要使用自己的签名证书,可以使用certificate_pathcertificate_password字段配置证书。

你还可以通过signtool_options提供自定义签名工具选项。

📱 发布到Microsoft Store

要生成用于发布到Microsoft Store的MSIX文件,请使用--store标志,或在YAML配置中添加store: true

注意:对于发布到Microsoft Store的应用,必须配置publisher_display_nameidentity_namemsix_versionpublisher,并且应与Microsoft Store仪表板中的注册信息匹配。

🌐 在线发布

你可以使用App Installer文件使用户从本地文件共享安装和更新应用程序。

要创建App Installer文件,首先设置publish_folder_path配置,然后运行以下命令:

PS c:\src\flutter_project> dart run msix:publish

⚠️ 不支持的功能

如果需要添加或编辑当前不支持的功能,可以手动编辑生成的MSIX文件。首先,使用以下命令创建未打包的MSIX文件:

PS c:\src\flutter_project> dart run msix:build

然后编辑生成的文件夹中的文件。最后,使用以下命令从这些文件创建MSIX安装包:

PS c:\src\flutter_project> dart run msix:pack

以上就是使用msix插件打包Flutter应用为MSIX格式的详细步骤和示例代码。希望对你有所帮助!


更多关于Flutter MSIX打包插件msix的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter MSIX打包插件msix的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter项目中,使用MSIX打包插件可以将你的应用打包成MSIX格式,这对于需要在Windows平台上分发应用非常有用。MSIX是一种现代的Windows应用打包格式,它提供了更好的安装、更新和卸载体验。

下面是一个使用Flutter MSIX打包插件(msix)的示例代码和配置步骤。假设你已经在Flutter项目中完成了基本的开发,现在需要将应用打包成MSIX格式。

1. 添加依赖

首先,在你的pubspec.yaml文件中添加msix插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  msix: ^x.y.z  # 替换为最新的版本号

然后运行flutter pub get来安装依赖。

2. 配置MSIX打包

接下来,你需要在项目的根目录下创建一个msix_config.yaml文件,用于配置MSIX打包的参数。以下是一个示例配置文件:

name: MyFlutterApp
publisher: CN=MyCompany
version: 1.0.0.0
displayName: My Flutter App
description: A Flutter app packaged as an MSIX.
logo: assets/logo.png  # 替换为你的应用图标路径
capabilities:
  fullTrustProcess: false
identity:
  name: MyFlutterApp
  publisher: CN=MyCompany
  version: 1.0.0.0
resources:
  assets:
    - assets/**
  files:
    - "**/*.dll"
    - "**/*.exe"  # 根据需要添加其他文件类型
installer:
  visible: true
  license: assets/license.txt  # 替换为你的许可证文件路径
shortcuts:
  - name: My Flutter App
    desktop:
      startMenu: true
      primaryTile: true

在这个配置文件中,你需要根据你的应用需求调整各个字段的值,特别是publisherversionlogoinstaller等。

3. 执行MSIX打包命令

配置完成后,你可以使用以下Flutter命令来打包你的应用到MSIX格式:

flutter pub run msix:create

这个命令会根据msix_config.yaml文件中的配置生成MSIX包。生成的文件通常会位于项目的build/windows/msix目录下。

4. 安装和测试MSIX包

你可以使用Windows设备或模拟器来安装和测试生成的MSIX包。双击MSIX文件即可开始安装过程。

注意事项

  • 确保你的Flutter项目已经成功编译和运行在Windows平台上。
  • 根据你的应用需求调整msix_config.yaml文件中的配置。
  • 如果在打包过程中遇到任何问题,请检查msix_config.yaml文件的语法和配置的正确性。

通过上述步骤,你应该能够成功地将你的Flutter应用打包成MSIX格式,并在Windows平台上进行分发和安装。

回到顶部