看到微软商店里面的主题,生出了想模仿的想法,那么,开干!
前提要求:
- 你要有一个桌面主题包文件(
.deskthemepack
)
- 安装了 Windows 10 SDK
1. 准备打包文件
我们这里用一个比较简单的方法来打包,即创建文件夹,并在文件夹中准备好打包所需的文件后,使用 AppxManifest.xml 来进行打包。
目录结构如下:
├─Assets
├─Theme
└─AppxManifest.xml
在 Assets 文件夹中,我们需要放置包需要的图像文件。
我们至少需要三张大小的图,其中的两张大小固定,分别是 75x75 和 44x44。
另一张用于包显示图像,参考了微软官方的主题包,这张图大小为 50x50,不过我试了 200x200 的图也行。
在 Theme 文件夹中,只需要放置桌面主题包文件就行了。
之后是 AppxManifest.xml,这里我给出了一个例子,各位可以参考:
<?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:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" IgnorableNamespaces="uap3"
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest">
<Identity Name="Theme.ThemeName" Publisher="CN=Publisher" Version="1.0.0.0" />
<Properties>
<DisplayName>主题名称</DisplayName>
<PublisherDisplayName>Publisher</PublisherDisplayName>
<Logo>Assets\50x50.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14951.0" MaxVersionTested="10.0.14951.0" />
</Dependencies>
<Resources>
<Resource Language="en-us" />
</Resources>
<Applications>
<Application Id="App">
<!-- All of these attributes are required; however, none of them are actually used as AppsListEntry="none" which means this won't appear in the start menu (These assests are for the start menu only).-->
<uap:VisualElements AppListEntry="none" DisplayName="主题名称" Square150x150Logo="Assets\75x75.png" Square44x44Logo="Assets\44x44.png" Description="包描述" BackgroundColor="transparent"></uap:VisualElements>
<Extensions>
<uap3:Extension Category="windows.appExtension">
<uap3:AppExtension Name="com.microsoft.windows.deskthemepack" Id="1.0" PublicFolder="Theme" DisplayName="主题名称"></uap3:AppExtension>
</uap3:Extension>
</Extensions>
</Application>
</Applications>
<!-- 下面的是 PhoneProductId 是个 GUID,随便填一个就可以了 -->
<mp:PhoneIdentity PhoneProductId="13ACE1BB-A884-4CC1-B607-CCAB2CD9473D" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
</Package>
完成上面的步骤后,就可以进行打包了。
2. 打包
请使用以下命令来打包:
makeappx pack /d "我们先前准备文件的目录" /p "包输出的位置"
(可以参考这个文档:应用包生成工具 (MakeAppx.exe))
打包完毕后,进行以下命令进行签名:
signtool.exe sign /a /v /fd SHA256 /f "PFX 文件位置" /p PFX 文件密码 "包文件位置"
3. 结果
安装包的样子:
安装后,主题会出现在主题设置中:
以上。