YehudaKremer / msix

Create Msix installer for flutter windows-build files.
https://pub.dev/packages/msix
MIT License
281 stars 70 forks source link

[BUG] cant create the installer #90

Closed abdelaziz-mahdy closed 2 years ago

abdelaziz-mahdy commented 2 years ago

:information_source: Info

Version: 2.8.15 and msix-3.0.0-dev.1

:speech_balloon: Description

using msix-3.0.0-dev.1 i get this

creating msix installer...             \Unhandled exception:
M
#0      MakePri.generatePRI (package:msix/src/makePri.dart:49:7)
<asynchronous suspension>
#1      Msix.createMsix (package:msix/msix.dart:55:5)
<asynchronous suspension>
#2      main (file:///C:/Users/zezo_/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/msix-3.0.0-dev.1/bin/create.dart:6:3)
<asynchronous suspension>
pub finished with exit code 255

using msix: ^2.8.15 i get

✓ parsing cli arguments
✓ validating config values
✓ cleaning temporary files
✓ creating app icons folder
✓ generating icons
✓ copying app icons
✓ copying VC libraries
✓ getting certificate publisher
✓ generate appx manifest
❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚ 64% generate package resource indexing files..
Microsoft (R) MakePRI Tool
Copyright (C) 2013 Microsoft. All rights reserved.

Usage:
------
    MakePri.exe new /pr <project root> /cf <config file> [options]

Example:
--------
    MakePri.exe new /pr C:\MyApp\src\ /cf C:\MyApp\priconfig.xml /mn
    C:\MyApp\AppXManifest.xml /of C:\MyApp\src\resources.pri /o

Description:
------------
    Creates a PRI file at [outputfile] by indexing all files in the
    [projectroot]and its subdirectories as directed by the [configxml]. The
    index will be assigned [indexname] to reference resources in the application

Required Parameters:
--------------------
    /ProjectRoot(pr)  : <FOLDERPATH> Root location of project files
    /ConfigXml(cf)    : <FILEPATH> Configuration file location. Use
                        'Makepri.exe createconfig' command to generate one

Options:
--------
    /OutputFile(of)   : <FILEPATH> Output location of PRI file, default is
                        [current directory]\resources.pri
    /Manifest(mn)     : <FILEPATH> Location of the application or component's
                        manifest. This parameter is ignored if [indexname]
                        is given. Default is [projectroot]\AppXManifest.xml
    /IndexName(in)    : <STRING> Name for the generated index of resources.
                        Typically matches the AppX package name, class library
                        simple name, etc. May be supplied via the
                        [manifest] parameter.
                        If IndexName is not specified and an AppX manifest
                        file is not present, the default name 'Application'
                        will be used.
    /VersionMajor(vma): <INTEGER> [Deprecated] Major version number for
                        index, default is 1
    /IndexLog(il)     : <FILEPATH> XML Log of indexed resources, no file
                        generated by default
    /AutoMerge(am)    : This flag is not recommended for normal use with AppX
                        packages. It causes Makepri.exe to set the auto
                        merge flag within the PRI file. Default is not set.
    /ReverseMap(rm)   : Generate a reverse mapping section in the PRI file
                        which can be used for debugging purposes.
    /MappingFile(mf)  : <MAPPINGFILETYPE> Generate a mapping file in the given
                        file format.
    /SchemaFile(sf)   : <FILEPATH> Output location of XML resource schema
                        description.
    /IndexOptions(io) : <OPTIONS> Options to provide detailed control over
                        behavior of resource indexers.
    /Overwrite(o)     : Overwrite an existing output file of the same name
                        without prompting
    /Verbose(v)       : Causes verbose messages to be output to the console
    /Help(h, ?)       : Display the usage help text
    /ExtensionDll(ex) : <FILEPATH> Location of the MRT environment extension
                        DLL. This DLL must be signed by a Microsoft-issued
                        certificate. Default is an empty path (no DLL
                        will be used).

    FOLDERPATH       - is a valid path to a folder
    FILEPATH         - is a path to a file, either relative to the current
                       directory or absolute
    MAPPINGFILETYPE  - Supported File type(s): 'AppX'

ERROR: PRI191: 0x80004005 - Appx manifest not found or is invalid. Please ensure well-formed manifest file is present. Or specify an index name with /in switch.
A name was started with an invalid character.

pub finished with exit code -1

:scroll: Pubspec.yaml

dev_dependencies:
  flutter_native_splash: ^2.0.1+1
  flutter_launcher_icons: ^0.9.0
  #msix: ^3.0.0-dev.1
  msix: ^2.8.15

  flutter_test:
    sdk: flutter
flutter_icons:
  android: "launcher_icon"
  windows: true
  ios: true
  image_path: "assets/icon.png"

msix_config:
  display_name: Anime_Here
  publisher_display_name: abdelaziz
  identity_name: com.zcreations.anime_here
  msix_version: 1.0.0.0
  logo_path:  G:\My Work HDD2\AndroidStudioProjects\anime_here\windows\runner\resources\app_icon.ico
  start_menu_icon_path: G:\My Work HDD2\AndroidStudioProjects\anime_here\windows\runner\resources\app_icon.ico
  tile_icon_path: G:\My Work HDD2\AndroidStudioProjects\anime_here\windows\runner\resources\app_icon.ico
YehudaKremer commented 2 years ago

Hello @zezo357

the identity_name is invalid, need to be a string between 3 and 50 characters in length that consists of alpha-numeric, period, and dash characters.

i publish new version (2.8.16) with new validation for that. please try this version.

Thank you for reporting this problem 👍