J'essaie de convertir mon application Win32 en une application UWP en utilisant le convertisseur Project Centennial (ie Desktop Bridge).Comment structurer correctement les icônes de l'application UWP dans le fichier AppxManifest.xml pour une application Win32 convertie en utilisant Desktop Bridge (Project Centennial)
Après l'application est converti, je dois ajuster AppxManifest.xml
fichier pour vérifier les points suivants:
Que tous les formats d'icônes sont correctement configurés.
Que j'ai correctement spécifié les ressources de l'application pour: l'anglais (US), l'allemand, le français et le russe.
Je suivis this Windows 10 icon guide et a créé les .png
images suivantes qui ont tous été placés dans le dossier Assets
. Je suis arrivé ces:
Et mon AppxManifest.xml
était structuré comme tel:
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10">
<Identity Name="MyApp.Name" ProcessorArchitecture="x86" Publisher="CN=My Name, O=My Name, STREET="Street Address", L=City, S=State, PostalCode=12345, C=US" Version="1.2.3.4" />
<Properties>
<DisplayName>MyApp.Name</DisplayName>
<PublisherDisplayName>PublisherName</PublisherDisplayName>
<Logo>Assets\StoreLogo-50x50.png</Logo>
</Properties>
<Resources>
<Resource Language="en-us" />
<Resource Language="de-DE" />
<Resource Language="fr-FR" />
<Resource Language="ru-RU" />
</Resources>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14342.0" MaxVersionTested="10.0.14342.0" />
</Dependencies>
<Capabilities>
<rescap:Capability Name="runFullTrust" />
</Capabilities>
<Applications>
<Application Id="MyApp.Name" Executable="VFS\Users\ContainerAdministrator\AppData\Local\PublisherName\App Name\RunFile.exe" EntryPoint="Windows.FullTrustApplication">
<uap:VisualElements DisplayName="My App Name" Description="My app does this ... and this ..."
BackgroundColor="#aabbcc"
Square71x71Logo="Assets\AppNameSmallTile.png"
Square150x150Logo="Assets\AppNameMedTile.png"
Square310x150Logo="Assets\AppNameWideTile.png"
Square310x310Logo="Assets\AppNameLargeTile.png"
Square44x44Logo="Assets\AppNameAppList.png"
>
<uap:DefaultTile>
<uap:ShowNameOnTiles>
<uap:ShowOn Tile="square150x150Logo" />
<uap:ShowOn Tile="Square310x150Logo" />
<uap:ShowOn Tile="Square310x310Logo" />
</uap:ShowNameOnTiles>
</uap:DefaultTile>
</uap:VisualElements>
<Extensions />
</Application>
</Applications>
</Package>
Alors quelqu'un peut-il répondre à ces questions:
Je suis un peu confus sur la spécification des icônes pour les tailles et la mise à l'échelle correctes. Est-ce que je l'ai fait correctement?
Ai-je besoin de spécifier la mise à l'échelle pour l'icône
Assets\StoreLogo-50x50.png
? Et enfin, ai-je spécifié correctement les ressources pour 4 langues différentes?
EDIT: En attendant, j'ai essayé de compiler mon AppxManifest.xml
ci-dessus avec les actifs que je montrais. Mais l'outil makeappx.exe
me donne l'erreur suivante:
MakeAppx : error: Error info: error C00CE015: App manifest validation error: The app manifest must be valid as per schema: Line 22, Column 27, Reason: The attribute 'Square71x71Logo' on the element '{ http://schemas.microsoft.com/appx/manifest/uap/windows10 }VisualElements' is not defined in the DTD/Schema.
Il ne évidemment pas comme les tailles d'icônes suivantes:
Square71x71Logo
Square310x150Logo
Square310x310Logo
Mais même si je supprime les tailles d'icônes ci-dessus de AppxManifest.xml
, lorsque je tente de l'emballer avec la commande suivante:
"C:\Program Files (x86)\Windows Kits\10\bin\x64\makeappx.exe" pack /d "path-to-folder-to-pack" /p "path-to\MyAppxPackage.appx"
Je reçois les erreurs suivantes sur les noms actifs pour mise à l'échelle:
MakeAppx : error: Manifest validation error: Line 22, Column 27, Reason: The file name "Assets\AppNameMedTile.png" declared for element "[local-name()='Applications']/[local-name()='Application']/[local-name()='VisualElements']" doesn't exist in the package. If this file has multiple variations or resource versions for language, scale, contrast, etc., use the /l command line option to disable this validation. MakeAppx : error: Manifest validation error: Line 23, Column 27, Reason: The file name "Assets\AppNameAppList.png" declared for element "[local-name()='Applications']/[local-name()='Application']/[local-name()='VisualElements']" doesn't exist in the package. If this file has multiple variations or resource versions for language, scale, contrast, etc., use the /l command line option to disable this validation. MakeAppx : error: Package creation failed. MakeAppx : error: 0x80080204 - The specified package format is not valid: The package manifest is not valid.
suggéré commande /l
Utilisation en tant que tel:
"C:\Program Files (x86)\Windows Kits\10\bin\x64\makeappx.exe" pack /l /d "path-to-folder-to-pack" /p "path-to\MyAppxPackage.appx"
construit le paquet avec beaucoup d'avertissements. Mais quand je l'installerai plus tard, toutes les icônes semblent vides.
Il doit y avoir quelque chose qui me manque ici?
Je m'intéresse à la question # 3 ... – m02ph3u5