inf如何设置目标目录??? --- 急 ---(200分)

L

lxv

Unregistered / Unconfirmed
GUEST, unregistred user!
下面是我在用iexpress的资料学习inf时写的一个inf,但是文件安装后老是出现在windows目录,如何设置????
---------------1.inf--------------------
[Version]
Signature="$Chicago$"

[DefaultInstall] ;Application Name要使右键单击会安装,则必须命名为[DefaultInstall]
Copyfiles=filelist1 ;file lists or file, 它可以使用文件名搭配 "@" 字符
;来复制单个文件,而不用指定节名。使用该符号复制文
;件的目标目录为 DefaultDestDir,该目录在 ;DestinationDirs 节中定义。使用这种方法复制单个文
;件稍微有点限制,因为在这种情况下源文件名和目标文
;件名必须相同,并且不能使用临时文件。


[filelist1] ;file list section 1, the reference in the install section
wh.exe,winhelp.exe
wf.exe,winfile.exe
;destination-file-name[, source-file-name][,temporary-file-name][,flag]
;temporary-file-name
;文件复制操作的临时文件名。安装程序使用临时文件名复制源文件,下一次操作系
;统启动时,它将临时文件名重命名为目标文件名。在将文件复制到已打开或Windows
;正在使用的目标文件时,该功能十分有用。
;flag
;在安装过程中用于执行特殊操作的可选参数。通过添加标志值创建组合标志,可以
;使用多个标志。可以使用以下有效标志:
;1 在 CopyFiles 上:用户企图跳过文件时,发出警告。
;1 在 DelFiles 上:如果文件正在使用,则在 Wininit.ini 中删除排队延迟,否则 ;不能删除当前使用的文件。
;2 关键安装程序:不允许用户跳过文件。
;4 忽略版本检查及始终复制文件。这将会覆盖较新的文件。
;8 强制重命名。安装程序将该文件作为正在使用的文件进行处理。只有文件已经存 ;在于用户的计算机上时才会发生这种情况。
;16 如果文件已存在于目标计算机上,则不会复制。
;32 抑制版本冲突对话框,并且不会覆盖较新的文件。

[DistinationDirs]
filelist1=00,winfile_INF_TEST
DefaultDestDir=24,bin_INF_TEST
;file-list-section =ldid[, subdir ] 或DefaultDestDir=ldid[, subdir ]
;ldid
;逻辑磁盘标识符 (LDID) 可以是以下值之一:
;00 Null LDID - 可用于创建新的 LDID
;01 Source Drive:/pathname
;10 Machine 文件夹(在基于服务器的安装时,映射 Windows 文件夹)
;11 System 文件夹
;12 IOSubsys 文件夹
;13 Command 文件夹
;17 Inffolder
;18 Help 文件夹
;20 Fonts
;21 Viewers
;22 VMM32
;23 Color 文件夹
;24 包含 Windows 文件夹的驱动器根目录
;25 Windows 文件夹
;26 Windows 的约定引导设备 (Winboot)
;28 Host Winboot
;30 启动盘的根文件夹
;31 虚拟启动盘的主驱动器根文件夹
;如果在 DestinationDirs 节中没有使用 DefaultDestDir,则将默认文件夹设置为
;LDID_WIN。

[SourceDisksNames]
1="installation disk 1",inst_1,0
;disk-ordinal(>=1)="disk-description",disk-label(格式化原盘时使用的磁盘label),disk-serial-number(没有则为0)

[SourceDisksFiles]
winfile.exe=1 ;file name=disk-number[,subdir] [,file-size]
Winhelp.exe=1

[Strings]
version="test inf" ;strings-key=value
-----------------------------------end 1.inf------------------------
怎么设置目标目录?您有更好的inf资料吗?iexpress的那个太菜了。
 
网上没有现成的资料,我搜索了好几个星期都没如愿!
但我最终还是做出来了,而且程序是在全国发布的。
以下是我的inf文件,默认安装目录 “party”,安装时提示修改:
你依样画一下就可以了。

[Version]
signature="$chicago$"

[defaultinstall]
BeginPrompt = InstallPrompt
copyfiles=copyit
CustomDestination=My-path
UpdateInis = Add.Links
RunPostSetupCommands = PostSetupCommands.Add

[PostSetupCommands.Add]
%49005%/QtDp.exe

[Add.Links]
setup.ini, progman.groups,, "group1="问卷调查数据处理系统""
setup.ini, group1,, """问卷调查数据处理"",%49005%/QtDp.exe,,,,%49005%/,"
setup.ini, group1,, """问卷调查数据处理帮助"",%49005%/QtDp.chm,,,,%49005%/,"


[InstallPrompt]
Title =安装问卷调查数据处理系统

[SourceDisksNames]
55="",,0

[SourceDisksFiles]
QtDp.exe=55
QtDp.Chm=55
party2.bmp=55
partyPrv=55
party.qes=55
party.rul=55
survey.ini=55
sumDq.txt=55
sumx.txt=55
shortcut.aaa=55


[copyit]
QtDp.exe
QtDp.Chm
party2.bmp
partyPrv
party.qes
party.rul
survey.ini
sumDq.txt
sumx.txt

[DestinationDirs]
copyit=49005

[My-path]

49005=index-again,1
[index-again]
,,,"请指定安装路径:","%30%Party"
 
[:(]兄弟,我依样画葫芦还是出现了同样的问题:文件跑到windows目录里去了,怎么办?
 
像inf-tool这样的东西生成的程序好像有一些公共的对话框,是不是放在inf里面然后直接用windows来运行还是说那个生成的setup.exe的功劳呢???
 
我这可是成功的代码,在全国发布的程序,都没有出现这一问题,
你在用 IExpress 时有没有要注意的。

出现在提示输入 目录名吗?
你用的 IExpress 是什么版本?
你把我的几个文件名改一下,先简单地试一下。
 
我知道错在哪儿了,我把[DestinationDirs]写成[DistinationDirs]了。
不过还是有问题,那个(例如输入目录的对话框)的实现是不是inf可以的?还是说要自己写代码?
 
目录会自动建立。
 
接受答案了.
 

Similar threads

D
回复
0
查看
728
DelphiTeacher的专栏
D
D
回复
0
查看
757
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
顶部