uwpappxdesktop-bridgeappxmanifestdesktop-app-converter

Fixing scaled images in AppX manifest generated by Destop App Converter


I have used the Desktop App Converter to convert my Win32 application to .appx.

The converter failed to convert application icons correctly. Icon transparency was lost. While I have reported this (bug?) to Microsoft, meanwhile I'd like to try to convert the icons manually. And I want to generate the .appx manually (using the makeappx) in the end anyway. So I need to create the AppxManifest.xml.


Problem is that the AppxManifest.xml generated by the Desktop App Converter is not valid. All image paths point to non-existing files:

<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">
  ...
  <Properties>
    ...
    <Logo>Assets\AppStoreLogo.png</Logo>
  </Properties>
  <Resources>
    <Resource Language="en-us" />
    <Resource uap:Scale="100" />
    <Resource uap:Scale="125" />
    <Resource uap:Scale="150" />
    <Resource uap:Scale="200" />
    <Resource uap:Scale="400" />
  </Resources>
  ...
  <Applications>
    <Application Id="WinSCP" Executable="WinSCP.exe" EntryPoint="Windows.FullTrustApplication">
      <uap:VisualElements DisplayName="WinSCP" Description="WinSCP" BackgroundColor="transparent" Square150x150Logo="Assets\AppMedTile.png" Square44x44Logo="Assets\AppList.png">
        <uap:DefaultTile Wide310x150Logo="Assets\AppWideTile.png" Square310x310Logo="Assets\AppLargeTile.png" Square71x71Logo="Assets\AppSmallTile.png">

There are no files like AppStoreLogo.png (etc) in the Assets folders, there are files like:

AppStoreLogo.scale-100.png
AppStoreLogo.scale-125.png
AppStoreLogo.scale-150.png
AppStoreLogo.scale-200.png
AppStoreLogo.scale-400.png

So the makeappx fails to generate the .appx using the generated manifest.

While I can obviously fix the manifest by pointing the paths to the scale-100 variant of the images, I feel that this is not the correct way.

The scaled images are the for a reason, for sure.


I can see these image and scales related elements:

But I do not understand how this all goes together. What paths should I use in the manifest to maintain the scaled images?


Solution

  • It was probably some glitch in earlier versions of makeappx.

    When trying over a year later again, the makeappx can now compile the AppxManifest.xml generated by Desktop App Converter, even though it seems to be about the same as before.


    (Desktop App Converter still fails to generate application icons correctly).