我已经使用桌面应用程序转换器将我的Win32应用程序转换为.appx
。修复由Destop App生成的AppX清单中的缩放图像转换器
转换器无法正确转换应用程序图标。图标透明度丢失。虽然我已经向Microsoft报告过这个错误,但同时我想尝试手动转换图标。无论如何,我想手动生成.appx
(使用makeappx
)。所以我需要创建AppxManifest.xml
。
问题是由Desktop App Converter生成的AppxManifest.xml
无效。所有图像路径指向不存在的文件:
<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">
有像Assets
文件夹AppStoreLogo.png
(等)没有文件,有喜欢的文件:
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
但我不明白这一切都在一起。 我应该在清单中使用哪些路径来维护缩放的图像?
由马丁方式,OSS我们有一个程序,让您访问我们的顶级商业的免费许可版,如果你有兴趣。 http://www.advancedinstaller.com/free-license.html –
Makeappx可以使用/ l开关忽略每个文件上的.scale ...内容。然后你可以用makeappx来构建。 – chris84948