HOWTO: 使用预配置包为 Windows 10 设置默认应用关联
前段时间 gOxiA 与大家分享了一篇“HOWTO: 统一设置 Windows 10 的文件默认关联”的文章,文末提到可以使用 WICD 生成配置包供 Windows 10 用户使用。其中截图里的设置方式有误,gOxiA 表示由衷的歉意,实在对不住大家了!!!也为此,决定单独写一篇文章再与大家详细分享一下 WICD 制作默认应用关联预配置包的过程,希望能够将功补过!
要使用 ICD 通过预配置包来设置 Windows 10 的默认应用关联需要使用 Poilcy CSP ,借助 ApplicationDefaults/DefaultAssociationsConfiguration 进行预配置。但是该项的值需要使用 Base64 编码来填充,之前截图环境的服务器不能访问外网,也没有留意上一级的说明,导致犯下错误!DefaultAssociationsConfiguration 的说明如下:
DefaultAssociationsConfiguration
This setting specifies the XML file content (base64 encoded) thar contains file type and protocol default application associations. This file can be created using the DISM tool.
gOxiA 之前的错误也正是因为这个原因!我们需要将导出的默认应用关联文件 defaultappassoc.xml 内容借助 Base64 encoder 工具编码后再填写到配置中。例如配置IE为默认应用的 XML 内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<DefaultAssociations>
<Association Identifier=".htm" ProgId="htmlfile" ApplicationName="Internet Explorer" />
<Association Identifier=".html" ProgId="htmlfile" ApplicationName="Internet Explorer" />
<Association Identifier=".url" ProgId="IE.AssocFile.URL" ApplicationName="Internet 浏览器" />
<Association Identifier=".website" ProgId="IE.AssocFile.WEBSITE" ApplicationName="Internet Explorer" />
<Association Identifier="http" ProgId="IE.HTTP" ApplicationName="Internet Explorer" />
<Association Identifier="https" ProgId="IE.HTTPS" ApplicationName="Internet Explorer" />
</DefaultAssociations>
在使用 Base64 encoder 编码后得到的值则如下示例,在这里推荐个网站真的很不错http://www.ofmonkey.com/
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPERlZmF1bHRBc3
NvY2lhdGlvbnM+CiAgPEFzc29jaWF0aW9uIElkZW50aWZpZXI9Ii5odG0iIFByb2dJZD0iaHRtbGZp
bGUiIEFwcGxpY2F0aW9uTmFtZT0iSW50ZXJuZXQgRXhwbG9yZXIiIC8+CiAgPEFzc29jaWF0aW9
uIElkZW50aWZpZXI9Ii5odG1sIiBQcm9nSWQ9Imh0bWxmaWxlIiBBcHBsaWNhdGlvbk5hbWU9Ikl
udGVybmV0IEV4cGxvcmVyIiAvPgogIDxBc3NvY2lhdGlvbiBJZGVudGlmaWVyPSIudXJsIiBQcm9nS
WQ9IklFLkFzc29jRmlsZS5VUkwiIEFwcGxpY2F0aW9uTmFtZT0iSW50ZXJuZXQg5rWP6KeI5ZmoIi
AvPgogIDxBc3NvY2lhdGlvbiBJZGVudGlmaWVyPSIud2Vic2l0ZSIgUHJvZ0lkPSJJRS5Bc3NvY0Zpb
GUuV0VCU0lURSIgQXBwbGljYXRpb25OYW1lPSJJbnRlcm5ldCBFeHBsb3JlciIgLz4KICA8QXNzb2N
pYXRpb24gSWRlbnRpZmllcj0iaHR0cCIgUHJvZ0lkPSJJRS5IVFRQIiBBcHBsaWNhdGlvbk5hbWU9I
kludGVybmV0IEV4cGxvcmVyIiAvPgogIDxBc3NvY2lhdGlvbiBJZGVudGlmaWVyPSJodHRwcyIgUH
JvZ0lkPSJJRS5IVFRQUyIgQXBwbGljYXRpb25OYW1lPSJJbnRlcm5ldCBFeHBsb3JlciIgLz4KPC9EZ
WZhdWx0QXNzb2NpYXRpb25zPg==
下面就跟随 gOxiA 参考截图实践一次,首先启动 Windows 配置设计器(WICD,貌似现在叫 Windows Configuration Designer,这里姑且简称 ICD),友情提示该工具已经提供 UWP 版,可以直接从 Windows 应用商店安装,访问地址是:https://www.microsoft.com/store/apps/9nblggh4tx22。
在 ICD 起始页选择“高级预配”,并确认为“预配桌面设备”,输入个便于识别的名称,默认情况下 ICD 预配相关文件存储在文档的 WICD 目录下。
在“可用自定义项”列表中定位到 Polices | ApplicationDefaults | DefaultAssociationsConfiguration,将之前通过 Base64 encoder 取得的数据填写到数值框中。
最后通过工具导航栏导出预配包,在“描述预配包”步骤中,版本号会根据修改次数自动添加,所有者可以根据要实施的优先级别进行选择,等级保持 0 即可,如果预配包包含敏感数据应当对其进行加密,最后将生成的 ppkg 格式文件发给用户执行即可。如果预配包安装时发生错误,可以在事件查看器的“应用和服务日志”-“Microsoft”-“Windows”-“DeviceManagement-Enterprise-Diagnostics-Provider”-“Admin”下找到记录。