使用PkgScn和TAP从一个已存在的设备中重新生成应答文件

根据设备上的WES系统反过来得到Answer File,很好。

这是Windows Embedded上的原文地址:http://blogs.msdn.com/b/embedded/archive/2011/03/10/regenerating-answer-file-from-an-existing-device-using-pkgscn-and-tap.aspx

以下是本人翻译过来的:

对于WES7,最典型的开发过程是这样的:首先在ICE中创建一个应答文件(Answer File),然后将它部署到设备中。然而将这个过程反过来也是可能的,即从一个存在的设备中生成应答文件。

适用于以下情况:
1.源应答文件丢失
2.设备上面直接安装了更新(通过WindowsUpdate或者是手动),而你想要复制这些配置(包括所有更新)并安装到其它设备上。

幸运的是,Standard7包含的工具允许您在3步中完成这个目标。
1.使用PkgScn.exe导出已安装包的列表
2.使用Tap.exe生成硬件配置
3.把以上成果导入到ICE中创建新的应答文件

现在看一下每步的详细过程:
第一步:使用PkgScn导出已安装包的列表
这个步骤可以在线或者离线进行。
在线情况下,首先使用CopyPkgScn.cmd脚本将PkgScn.exe和相关二进制文件复制到设备。可以在如下位置中找到CopyPkgScn.cmd:C:\Program Files\Windows Embedded Standard 7\Tools\Image Configuration Editor。如果您的设备运行一个64为的操作系统,在X64应用程序文件夹中使用这个脚本的64位版本复制64位二进制文件。
在PkgScn复制到设备后,运行如下命令得到包列表:PkgScn /Get-Packages /ConfigsetDir:
对于离线情况,需要增加一个参数以标记要加载镜像的位置。镜像(WIM文件)可以使用ImageX或Dism来加载:
PkgScn /Image: /Get-Packages /ConfigsetDir:
在这条命令成功完成后,包信息就会被存放在当前目录中的AutoUnattend.xml文件中。手动保存这个文件,第三步中会用到。
第二步:
使用Tap生成硬件和驱动配置
接下来我们在设备上运行Tap.exe以得到硬件和驱动信息。可以在如下目录中找到tap:C:\Program Files\Windows Embedded Standard 7\Tools\Image Configuration Editor,对64位版本的话应该是X64应用程序目录。Tap.exe只可以在设备自己上面运行。在设备上运行如下命令:Tap /o
在当前目录中会生成一个名为devices.pqm的硬件和驱动信息文件。
第三步:导入文件至ICE中
运行ICE然后选择File - Open Answer File
选择在第一步中生成的AutoUnattend.xml文件
应该能看到一个由设备中的包构成的应答文件(确切的包依赖于已经安装了什么)。
接下来我们添加从第二步中提取到的硬件和驱动信息。从菜单里选择File -> Import -> Import PMQ,选择devices.pmq文件。现在,在应答文件面板中可以看到驱动了。


【可选的】从IBW安装时额外的设置信息
如果您使用IBW安装原设备,你可以在那时恢复任何配置或设置。数据在这个设备的文件中:C:\Windows\panther\cbs_unattend.xml。要在在ICE中使用设个数据,从设备上复制这个文件到File -> Import -> Template,然后选择这个文件。现在出现在模版文件夹的DS面板中,可以通过拖动它到你的应答文件中。
要注意的一点是,如果你使用cbs_unattend.xml文件,任何敏感的用户数据比如用户名和密码在安装之后就失效了,所以必须在ICE中重新键入这些值。

结论:
这个时候,你可以创建一个配置集以部署这个应答文件到另一个设备上,或者继续修改应答文件以满足需求。
在打包之前,我有一些警告:
限制:
在设备上安装的更新但是没有在DS中的将会在“Unknown Packages”中显示。你可以通过ECEMOO或WEDU下载更新来修复。
直接安装到设备上的第三方驱动或应用程序不会被复制到应答文件中。
设置不能被从设备上恢复(除了上面描述的IBW的设置)
如果将Service Pack作为更新安装到设备上,这将会在“Unknown Packages”中出现,因为Service Pack不能被DS导入。
希望这篇文章对您是有用的,如果有任何问题可以到这里:Windows Embedded Standard forums.

Matthew
2011-03-10

更多相关文章
  •  前些天在写一个项目的时候,使用cookie来存储一些用户数据,在用户登出时需要清理以往的数据,对于一个初学者来说,我需要学习如何清除一个已知的cookie. 首先,引入两个js文件: 1.jquery-1.12.0.min.js 这是编辑这篇文章时最新的jQuery: 2.carhartl-jqu ...
  • 如何恢复一个已破坏的Word文档  如果文档打开不正常,可以使用如下几种办法来恢复其中保存的所有或者大部分信息:(1). 复制到新的文档.可以拷贝文档中除了最后一个段落标志之外的所有对象至一个新的文档.Word在段落标志中保存大量信息,而文档中的最后一个段落标志包含更多信息,包括关键节和样式数据.在 ...
  • svncan‘treadfromsvnconnection您的主机中的软件中止了一个已建立的连接
    原文:http://www.weiruoyu.cn/?p=595一个郁闷我三天的错误svn can't read from svn connection 您的主机中的软件中止了一个已建立的连接在网上查了很久:最多的就是防火墙没有关闭,和端口重复.防火墙肯定是开了,端口重复,也没有涉及到什么端口.此问 ...
  • android studio 导入一个已有的android studio project作为lib使用 新项目来了. 需要搭建框架. android studio对我来说还是很陌生,之前一个项目在同事的帮助下搭建了环境,完全蒙查查, 所以准备将这次搭建过程尽可能描述的详细一些,以备以后不时之需. 1 ...
  • 我已无法形容此刻我的心情.. 本来是已经写好的netty5的demo程序,server和client之间创建tcp长连接的..然后随便传点数据的简单demo..然后今天试了一下tcp粘包的例子,用到了System.getProperty()方法,悲剧就从此产生了..改好了程序一运行,服务器端正常启动 ...
  • java.io.IOException:您的主机中的软件中止了一个已建立的连接解决办法
      问题现象和http://hi.baidu.com/cara_cloud/item/193a3ee327546d395a2d64be描述的一样,就是在eclipse的console栏中一直显示java.io.IOException: 您的主机中的软件中止了一个已建立错误.具体如下. [2013-0 ...
  • 返回一个二维整数数组中最大联通子数组的和
    题目:返回一个二维整数数组中最大联通子数组的和.要求:输入一个二维整形数组,数组里有正数也有负数.求所有子数组的和的最大值.要求时间复杂度为O(n). 程序要使用的数组放在一个叫 input.txt 的文件中, 文件格式是:数组的行数,数组的列数,每一行的元素, (用逗号分开)每一个数字都是有符号3 ...
  • 分析器错误信息:由于先前已在此页中指定了另一种语言(或者由CodeFile属性暗示),因此无法使用javascript▼转载▼魂斗罗的博客 这是一个被坑的例子,刚买了清华出的asp.net从入门到精通,第一个例子就运行不了.因为刚开始学,搞不清楚原因,以为自己那写错了,在网上找了半天才知道,不是自己 ...
一周排行
  • Linux上的free命令详解 解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free Output).例如 ...
  • 又到了一周一总结的时候了,说实话,这周与课程有关的事情并没有做多少,可能是上周末出去放松了一下,心还没收回来吧.不过,旅行也算是一种学习吧,因为增加了自己的阅历与体验,接触到的新的环境,新的人,对我来说影响都蛮大的, ...
  • 在对某个Query优化过程中,须要不断地使用explain来验证各种调整是否有效.  MySQL explain功能展示的各种信息的解释如下:id: MySQL Query Optimizer 选定的执行计划中查询的 ...
  • Corosync/Openais+Pacemaker架构的高可用集群
    基于Corosync/Openais + Pacemaker架构的高可用web集群的配置过 ...
  • AgileEAS.NET敏捷开发平台案例-药店系统-项目说明
    开篇          我们都知道开发一个软件必须要有开发的背景和特殊的需求等等,我们就来 ...
  • 2012年对于中国云主机来说犹如蛟龙飞腾直上,从亚马逊.阿里.盛大到万网.华夏名网及其它中小服务商,纷纷发布云计算主机产品,一派欣欣向荣,非常热闹,但参差不齐让用户眼花缭乱. 在我们普通人看来云计算似乎深不可莫,但华 ...
  •  1.示例一:Declare  v_ival number;  i number;  error_message exception;  --声明一个出错处理Begin   for t in 1..10 loop  ...
  •           iPhone 4S的推出或许让很多用户感到失望,毕竟大家更期待崭新一代的iPhone 5(姑且这样称呼)的诞生.近日,来自于Boy Genius的消息,称下一代iPhone将在2012年八月份发布 ...
  • .进入/mnt/cdrom/RedHat/RPMS.  2.执行rpm -ivh squid-2.2.STABLE.I386.rpm..将该文件拷贝到/usr/local目录.  3.解开该文件tar xvzf ...
  • 看大话设计模式中大牛对小菜的精辟点评,也写了一个计算器程序,并跟着点评一路改良,还是不过瘾,应用了类模板和异常捕捉机制重写了程序.本文不能算干货,恰当的比方是饭前甜点,吃一口有点味.有点意思,总归太小不管饱. #in ...