Я использовал конвертер рабочего стола для преобразования моего приложения Win32 в .appx
.Фиксация масштабированных изображений в манифесте AppX, сгенерированном Destop App Converter
Конвертер не смог правильно преобразовать значки приложений. Значок прозрачности был потерян. Хотя я сообщил об этом (ошибка?) Microsoft, тем временем я хотел бы попытаться преобразовать значки вручную. И я хочу создать .appx
вручную (с использованием makeappx
) в конце концов в любом случае. Поэтому мне нужно создать AppxManifest.xml
.
Проблема заключается в том, что AppxManifest.xml
порождена Desktop App конвертер не является действительным. Все пути изображения указывают на несуществующие файлы:
<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">
Там нет файлов, как AppStoreLogo.png
(и т.д.) в Assets
папках есть файлы, такие как:
AppStoreLogo.scale-100.png
AppStoreLogo.scale-125.png
AppStoreLogo.scale-150.png
AppStoreLogo.scale-200.png
AppStoreLogo.scale-400.png
Так makeappx
терпит неудачу, чтобы генерировать .appx
с использованием сгенерированного манифеста.
Хотя я могу, очевидно, зафиксировать манифест, указав пути к варианту изображений scale-100
, я считаю, что это неправильный путь.
Масштабированные изображения по причине, конечно.
Я могу увидеть эти изображения и весы, связанные элементы:
Там в
<Resources>
элемент в манифесте, в котором перечислены все весы.Также имеются файлы
resources.*.pri
, которые ссылаются на масштабируемые изображения.resources.pri resources.scale-100.pri resources.scale-125.pri resources.scale-150.pri resources.scale-200.pri
Но я не понимаю, как все это идет вместе. Какие пути следует использовать в манифесте для сохранения масштабированных изображений?
Кстати Мартин, для ОСС у нас есть программа, которая дает вам доступ к бесплатной лицензии наших лучших коммерческих если вам интересно. http://www.advancedinstaller.com/free-license.html –
Makeappx может использовать переключатель/l для игнорирования содержимого .scale ... в каждом файле. Затем вы можете создать с помощью makeappx. – chris84948