社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 1555阅读
  • 4回复

关于手工整合

楼层直达
级别: 光盘见习
发帖
21
飞翔币
335
威望
13
飞扬币
1362
信誉值
0
— 本帖被 霸王硬上弓 从 光盘 DIY 中心 移动到本区(2008-01-12) —
我以深度5.8为母版,想整合一个PDF 浏览器,共3个文件:foxitreader.exe,FRPkey.txt,pdf.reg,其中pdf.reg为foxitreader.exe的注册表键值,全部用makecab压缩放在i386下,在txtsetup.sif中添加了

foxitreader.exe=100,,,,,,,2,0,0
FRPkey.txt=100,,,,,,,2,0,0
pdf.reg=100,,,,,,,2,0,0

三行

在dosnet.inf中添加了

d1,foxitreader.exe
d1,FRPkey.txt
d1,pdf.reg

三行

可是在pe下安装时这三个文件不能复制到 $WIN_NT$.~LS\I386 下边,需手动复制,是什么原因?请教各位大侠了
 
级别: 光盘见习
发帖
21
飞翔币
335
威望
13
飞扬币
1362
信誉值
0
只看该作者 1 发表于: 2007-12-13
怎么没人理我啊,自已顶一下
级别: 光盘见习
发帖
21
飞翔币
335
威望
13
飞扬币
1362
信誉值
0
只看该作者 2 发表于: 2007-12-14
高手啊,大侠啊,99我啊
级别: 管理员
发帖
27815
飞翔币
1567
威望
888
飞扬币
129967
信誉值
0

只看该作者 3 发表于: 2007-12-15
你的文件添加应该有问题,这是搜集于百度空间的一篇文章,可以参考。

其实关于txtsetup.sif和dosnet.inf中有很多深奥的东西,不过我们没必要熟悉它们其中的每一个字符,我们只用最好用和最简单的。掌握这些最好用和最简单的已经可以让我们关于安装版光盘的制作技术上一个台阶了!
Txtsetup.sif是控制安装过程中要从哪个位置读取哪个文件复制到何许位置,简单的说,就是文件复制控制。
Dosnet.inf则是控制在DOS或Windows环境下安装系统时预先复制到硬盘上的文件。
基本而言,txtsetup.sif和dosnet.inf中的文件应该是一一对应,不过如果不需要DOS或Windows环境下安装系统,则无需修改dosnet.inf只修改txtsetup.sif就可以了。

Txtsetup

首先要看的是[SourceDisksNames.x86]段
[SourceDisksNames.x86]
1  = %cdname%,%cdtagfilei%,,\i386
2 = "%cd2name%","%cd2tagfilei%",,\cmpnents\tabletpc\i386
3 = "%cd2name%","%cd2tagfilei%",,\cmpnents\mediactr\i386
4 = "%cd2name%","%cd2tagfilei%",,\cmpnents\netfx\i386
……
这里规定了复制文件时的源位置,例如1代表光盘根目录下的i386文件夹。

其次我们要注意的是“[WinntDirectories]”段
[WinntDirectories]
1  = "\"
2  = system32
3  = system32\config
4  = system32\drivers
5  = system
7  = system32\ras
9  = system32\spool
10 = system32\spool\drivers
……
这里规定了复制文件时的目标位置,默认根目录是Windows文件夹,1代表Windows文件夹根目录,2代表Windows\System32文件夹。

最后要看的是[SourceDisksFiles]段,这一段控制我们从源位置读取什么文件复制到什么位置。
例如我们想集成OEM信息和图片,这就需要把oeminfo.ini和oemlogo.bmp复制到Windows\System32文件夹下,我们可以在[SourceDisksFiles]段下添加
oeminfo.ini = 1,,,,,,,2,0,0
oemlogo.bmp = 1,,,,,,,2,0,0
oeminfo.ini和oemlogo.bmp代表我们要复制的文件的文件名。
1这个位置是用来填写源文件位置,即[SourceDisksNames.x86]段中规定好的位置,以上两行中的源位置都是1,那么系统在复制文件时就会去i386根目录下去寻找这个文件。
1和2之间的“,”,其实每个“,”间都有相应参数,不过这些参数我们用不上,所以就不用写了。
2这个位置用来填写目标文件位置,也就是[WinntDirectories]段中预先规定的位置,例如2代表Windows\System32文件夹,那么系统在复制文件时就会把这个文件复制到Windows\System32文件夹下。
随后的两个“0”也是参数,不过意义不必了解,但是一定要写。
0后其实还可以跟一个参数,就是用来重命名文件的,例如:
Sky.jpg = 1,,,,,,,1981,0,0,Skyfree.jpg
这个就代表从i386文件夹中复制Sky.jpg文件到Windows\Web\Wallpaper下,并改名为Skyfree.jpg。

这样我们就可以随心的控制文件的复制和改名了,但是如果我们想复制到一个[SourceDisksFiles]段下没有的位置怎么办?例如想把Sky.jpg复制到Windows\Skyfree目录并改名为Skyfree.jpg怎么办?
首先,在[SourceDisksFiles]段下添加:
5000  = Skyfree
5000这个数是可以随意指定的,但是要注意不要和系统原来规定好的相冲突。
然后,在[WinntDirectories]段下添加:
Sky.jpg = 1,,,,,,,5000,0,0,Skyfree.jpg
这样即可。

文件名是支持压缩后自动解压复制的,例如上例中的Sky.jpg,如果用CBin或者Makecab压缩成Sky.jp_再复制到i386文件夹下,系统会先自行解压Sky.jp_为Sky.jpg然后再进行复制的。


Dosnet

Dosnet中相应要修改的东西就简单的多。

先看[Directories]段,这段代表文件复制的源位置
[Directories]
d1 = \I386
d2 = \cmpnents\tabletpc\I386

再看[Files]段
[Files]
d1,2gmgsmt.sf2
d1,3cwmcru.sys
d1,3dfxvs2k.inf
d1,3dfxvs.dll
……
这段代表要从源位置去复制哪些文件。

如果在txtsetup.sif中添加了:
Sky.jpg = 1,,,,,,,1981,0,0,Skyfree.jpg
那么dosnet中要相应添加:
d1,Sky.jpg
这样即可。
级别: 光盘见习
发帖
21
飞翔币
335
威望
13
飞扬币
1362
信誉值
0
只看该作者 4 发表于: 2007-12-15
谢谢楼上的,我试试看