使用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从入门到精通,第一个例子就运行不了.因为刚开始学,搞不清楚原因,以为自己那写错了,在网上找了半天才知道,不是自己 ...
一周排行
  • MOSS2007的网站和工作区
    11.7 网站和工作区 在Microsoft Office Server 2007站点中, ...
  • 汽车才是主语,互联网只是定语阿里巴巴移动事业群总裁兼高德集团总裁 俞永福 最近两年,汽车领域诞生了很多时髦的词:智能汽车.互联网汽车.车联网,意味着这个产业正在经历一些深刻的变化.场面很热闹,但我们需要想想:哪些会变 ...
  • 在Area中使用RouteAttribute定义路由,并支持多语言
    业务上的一个需求, 同一页面, 两种不同的使用方法, 为了区分这两种需求, 需要加一个参数 ...
  • 部门多用户共享文件夹权限高级设置
    这几天公司质检部门要求按人员分配共享文件夹权限共享文件夹结构:质检---小李---小王质检 ...
  • 密码文件 /etc/shadow由:分割为9段1段:用户名2段:密码   *号代表此账号被锁定 !表示用户没有设置密码3段:上次更改密码时间  从1970年1月1日算起,单位:天4段:要过多久,才可以更改密码5段:密 ...
  • #分区类型要改为fd # mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}1         -C:创建raid /dev/md0         -l:raid等级 ...
  • 几个很有用的连接:1. windows 2008 R2 AD 森林.树.域创建http://wenku.baidu.com/link?url=vkt9_sfbrg2FJO5n_74DcWXJ64gT4GEzZt3to ...
  •  第一点也是最重要的一点,要知道当前安装LILO的版本,因为LILO2.21及早期版本对硬盘大小有限制,如果安装LILO到1023磁道以外即8G的空间以外,LILO就无法启动. 但一些BIOS较老的机器,LINUX仍 ...
  • 在VI的命令模式下输入":set nu"如果取消输入:set nonu或者修改vi配置文件"vi ~/.vimrc",在其中添加"set nu" 在VI的命 ...
  • windows 2003下修改telnet端口一.修改本地2003的telnet端口方法: c:\>tlntadmn config port=23(可以把23改为其它未使用的端口)二.修改远程2003的teln ...