Board logo

标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装 [打印本页]

作者: lucky0504    时间: 2005-2-28 06:34     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

[这个贴子最后由lucky0504在 2005/02/28 10:26am 第 1 次编辑]

    添加RunOnceEx注册表键值(HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx)可以使系统第一次登陆时自动运行程序,利用这个特点可以完成软件的自动安装过程.我们可以利用cmdlines.txt来调用批处理在系统安装剩下12分钟(T-12)时添加,这样的话安装完成后进入系统时会先弹出一个窗口完成自动安装过程.这样制作的集成安装会显的更加专业.我简单介绍一下批处理添加的方法.
截图:


cmdlines.txt可以这样编写:
[COMMANDS]
"RunOnceEx.cmd"

例如批处理这样编写:
===============================================================================
cmdow @ /HID
@echo off
IF EXIST D:\WIN51IP set CDROM=D:
IF EXIST E:\WIN51IP set CDROM=E:
IF EXIST F:\WIN51IP set CDROM=F:
IF EXIST G:\WIN51IP set CDROM=G:
IF EXIST H:\WIN51IP set CDROM=H:
IF EXIST I:\WIN51IP set CDROM=I:
IF EXIST J:\WIN51IP set CDROM=J:
IF EXIST K:\WIN51IP set CDROM=K:
IF EXIST L:\WIN51IP set CDROM=L:
IF EXIST M:\WIN51IP set CDROM=M:
IF EXIST N:\WIN51IP set CDROM=N:
IF EXIST O:\WIN51IP set CDROM=O:
IF EXIST P:\WIN51IP set CDROM=P:
IF EXIST Q:\WIN51IP set CDROM=Q:
IF EXIST R:\WIN51IP set CDROM=R:
IF EXIST S:\WIN51IP set CDROM=S:
IF EXIST T:\WIN51IP set CDROM=T:
IF EXIST U:\WIN51IP set CDROM=U:
IF EXIST V:\WIN51IP set CDROM=V:
IF EXIST W:\WIN51IP set CDROM=W:
IF EXIST X:\WIN51IP set CDROM=X:
IF EXIST Y:\WIN51IP set CDROM=Y:
IF EXIST Z:\WIN51IP set CDROM=Z:
net user lucky /add
net localgroup Administrators lucky /add
REGEDIT /S %CDROM%\Winxp\$OEM$\AutoLogon.reg
SET KEY=HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
REG ADD %KEY% /V TITLE /D "安装常用软件和系统更新" /f
REG ADD %KEY%\015 /VE /D "安装 影音风暴 V5" /f
REG ADD %KEY%\015 /V 1 /D "%CDROM%\Tools\MY_MPC\StormCodec50029.exe /quickasso /skipcheck /skipcnnic /S" /f
REG ADD %KEY%\020 /VE /D "安装 FlashGet V1.65" /f
REG ADD %KEY%\020 /V 1 /D "%CDROM%\Tools\Flashget\FG165B1.EXE /S" /f
REG ADD %KEY%\025 /VE /D "安装 WinRAR V3.3" /f
REG ADD %KEY%\025 /V 1 /D "%CDROM%\Tools\WinRAR\winrar.exe /s" /f
REG ADD %KEY%\030 /VE /D "安装 ACDSee V3.1" /f
REG ADD %KEY%\030 /V 1 /D "%CDROM%\Tools\ACDSee\AutoSetup.exe" /f
REG ADD %KEY%\035 /VE /D "安装 QQ2004 II" /f
REG ADD %KEY%\035 /V 1 /D "%CDROM%\Tools\QQ\Setup.exe" /f
REG ADD %KEY%\040 /VE /D "安装 系统安全更新" /f
REG ADD %KEY%\040 /V 01 /D "%CDROM%\Tools\Hotfixs\WindowsXP-KB834707-x86-chs.exe /quiet /norestart" /f
REG ADD %KEY%\040 /V 02 /D "%CDROM%\Tools\Hotfixs\WindowsXP-KB873339-x86-CHS.exe /quiet /norestart" /f
REG ADD %KEY%\040 /V 03 /D "%CDROM%\Tools\Hotfixs\WindowsXP-KB885835-x86-CHS.exe /quiet /norestart" /f
REG ADD %KEY%\040 /V 04 /D "%CDROM%\Tools\Hotfixs\WindowsXP-KB885836-x86-CHS.exe /quiet /norestart" /f
REG ADD %KEY%\040 /V 05 /D "%CDROM%\Tools\Hotfixs\WindowsXP-KB885884-x86-chs.exe /quiet /norestart" /f
REG ADD %KEY%\040 /V 06 /D "%CDROM%\Tools\Hotfixs\WindowsXP-KB886185-x86-chs.exe /quiet /norestart" /f
REG ADD %KEY%\040 /V 07 /D "%CDROM%\Tools\Hotfixs\WindowsXP-KB886677-x86-chs.exe /quiet /norestart" /f
REG ADD %KEY%\040 /V 08 /D "%CDROM%\Tools\Hotfixs\WindowsXP-KB890830-x86-CHS.exe /Q" /f
REG ADD %KEY%\040 /V 09 /D "%CDROM%\Tools\Hotfixs\WindowsXP-KB885222-x86-CHS.exe /quiet /norestart" /f
REG ADD %KEY%\040 /V 10 /D "%CDROM%\Tools\Hotfixs\WindowsXP-KB890175-x86-CHS.exe /quiet /norestart" /f
REG ADD %KEY%\040 /V 11 /D "%CDROM%\Tools\Hotfixs\WindowsXP-KB887797-x86-chs.exe  /quiet /norestart" /f
REG ADD %KEY%\045 /VE /D "安装 Microsoft .NET Framework 1.1 组件" /f
REG ADD %KEY%\045 /V 01 /D "%CDROM%\Tools\Hotfixs\DOTNETFW.EXE" /f
REG ADD %KEY%\045 /V 02 /D "%CDROM%\Tools\Hotfixs\LANGPACK.EXE" /f
REG ADD %KEY%\045 /V 03 /D "%CDROM%\Tools\Hotfixs\NDP1.1sp1-KB867460-X86.exe /Q" /f
REG ADD %KEY%\050 /VE /D "删除 临时文件" /f
REG ADD %KEY%\050 /V 1 /D "%CDROM%\Winxp\$OEM$\xplode\XPlode.exe" /f
REGEDIT /S %CDROM%\Winxp\$OEM$\RegTweaks.reg
RD /S /Q %systemdrive%\install\
EXIT
===============================================================================
我简单解释一下上面的批处理,
IF EXIST D:\WIN51IP set CDROM=D:
IF EXIST E:\WIN51IP set CDROM=E:
IF EXIST F:\WIN51IP set CDROM=F:
...
以上是利用循环来判断光驱的盘符,并将它付给CDROM变量.这样我们以后利用它可以不用将软件拷贝到硬盘上就可以直接执行光盘上的文件了.

net user lucky /add
net localgroup Administrators lucky /add
REGEDIT /S %CDROM%\Winxp\$OEM$\AutoLogon.reg
以上是建立一个叫lucky的用户,然后将它加入到Administrators(管理员组),最后导入一个注册表文件,这个注册表的内容就是让lucky第一次自动登陆系统.要确保该操作顺利进行,请确保你的winnt.sif文件[GuiUnattended]字段下最多只有两个和管理员有关的项目:
AdminPassword=*
EncryptedAdminPassword=No
AutoLogon.reg注册表的内容是:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"DefaultUserName"="lucky"
"AutoAdminLogon"="1"

SET KEY=HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
以上是设置一个变量KEY,内容是HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx,以便我们以后可以使用%KEY%来引用他.

REG ADD %KEY% /V TITLE /D "安装常用软件和系统更新" /f
REG ADD %KEY%\015 /VE /D "安装 影音风暴 V5" /f
REG ADD %KEY%\015 /V 1 /D "%CDROM%\Tools\MY_MPC\StormCodec50029.exe /quickasso /skipcheck /skipcnnic /S" /f
以上是注册表添加过程,这里主要用到REG这个命令,这个命令的格式是(以下内容源自网络):
================================================================================
REG ADD[\\Machine\]Keyname[/v ValueName|/ve][/t Type][/s Separator][/d Data][/f]
Machine用来指定远程计算机名称,如果操作的是本地计算机则此参数省略。如果要远程操作名为Server的计算机,其Machine参数表示为"\\Server"。
Keyname用来指定在注册表的哪个项下新建注册表值,这个参数必须用注册表项的全路径表示,不过注册表的4个根键一般用缩写表示例如希望操作的注册表项是"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon",则Keyname参数表示为"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"。注意:如果操作的是远程计算机的注册表,只能使用HKLM和HKCU这2个根键。


参数部分:
/v Valuename | /ve用来指定要添加的注册表值的名称,参数/ve表示在指定的注册表项下创建键值名称为"默认"的注册表值。
/t Type用来指定创建的注册表值的数据类型,如果不指定,系统默认使用REG_SZ数据类型
/s Separator的作用是当数据类型为REG_MULTI_SZ时,利用参数来指定分隔字符串的字符。
/d Data用来指定创建的注册表值的数据。
/f用来指定当要添加的注册表值存在时是否覆盖。


================================================================================
相关连接:
RunOnceEx 注册表项的语法
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;232509

REGEDIT /S %CDROM%\Winxp\$OEM$\RegTweaks.reg
以上是我导入了一些优化的注册表设置
通过如上设置我们安装到T-12分钟时会自动利用批处理来写入注册表,在第一次进入系统时就会弹出RunOnceEx的界面了.
作者: lucky0504    时间: 2005-2-28 06:38     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

[这个贴子最后由lucky0504在 2005/03/04 09:17pm 第 7 次编辑]

    经过上面的介绍我们已经了解了RunOnceEx的原理了,下面我们进入本文的正题---用inf来添加注册表键值.
    还是让我们首先来了解一下Windows XP 安装的时间过程吧.(以下源自www.cctips.com)
================================================================================
文字模式的安装界面
1. 载入驱动程序
2. 复制安装过程需要的文件到硬盘
3. 复制$OEM$文件夹的内容到硬盘
4. 重启动电脑...
图形模式的安装界面  
1. DetachedProgram在第T39分钟从winnt.sif执行
2. 安装设备
3. 安装网络
4. 安装开始菜单项目
5. 注册组件
6. svcpack.inf在第T-13分钟被执行
7. cmdlines.txt在第T-12分钟被执行
8. [SetupParams]在第T-9分钟从winnt.sif被执行
9. 保存设置
10. 删除临时文件并重启动...
第一次登录
1. Windows XP把你登入并载入个人设置
2. [GuiRunOnce]从winnt.sif或RunOnceEx下被同时执行
3. 载入桌面和任务栏
================================================================================
    通过批处理写入注册表的方法会被cmdlines.txt调用,在第T-12分钟执行,然后软件在第一次登录时的第2步执行.其实在T-13分钟之前RunOnceEx键其实已经执行过一次了.而这次执行RunOnceEx键时由于我们还没有写入任何软件安装信息,所以是不会执行无人职守安装的.我们如果可以在此之前写入注册表的话,就可以利用这个机会来安装了,那样的话就不用进入系统后再执行安装了,这样的好处就是有些软件或补丁安装后需要重启计算机,在T-13分钟之前的RunOnceEx键执行安装后恰巧可以利用系统的自动重启来完成这个过程.下面就来介绍用hivesft.inf来写入RunOnceEx键的集成方法.
    首先我们还是要利用\$OEM$\$1\目录来复制安装文件,由于我没能找到在hivesft.inf中指定光驱路径的方法,所以还是要复制安装文件到硬盘中.目录结构如下图:


  hivesft.inf文件是在文字模式的安装界面(蓝屏\黄色滚动条)过程的最后自动被调用的,用途是完成注册表配置.我们正好可以利用它.
   进入Windows XP的i386目录我们可以看到hivecls.inf,hivedef.inf,hivesft.inf,hivesys.inf,hiveusd.inf几个文件,将它们打开不难发现,他们的内容都是用来写入注册表的,不同的文件指向不同的注册表位置.我们只要打开HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx对应的hivesft.inf文件搜索到相应键值的位置后将以下内容加入即可.
================================================================================
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx",,0x00000012
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx",Title,0,"安装常用软件和系统更新"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx",Flags,0x00010001,20
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install01",,,"安装 影音风暴 V5"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install01",1,,"..\Install\Software\StormCodec\StormCodec.exe /quickasso /skipcheck /skipcnnic /S"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install03",,,"安装 FlashGet V1.65"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install03",1,,"..\Install\Software\Flashget\FG165B1.EXE /S"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install04",,,"安装 WinRAR V3.3"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install04",1,,"..\Install\Software\WinRAR\winrar.exe /s"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install05",,,"安装 ACDSee V3.1"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install05",1,,"..\Install\Software\ACDSee\ACDSee.exe /S"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install06",,,"安装 QQ2005 贺岁版"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install06",1,,"..\Install\Software\QQ\Setup.exe /verysilent"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install07",,,"安装 Winamp 5.05 迷你版"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install07",1,,"..\Install\Software\Winamp\Setup.exe /verysilent"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",,,"安装 系统安全更新"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",01,,"..\Install\Software\Hotfixs\WindowsXP-KB834707-x86-chs.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",02,,"..\Install\Software\Hotfixs\WindowsXP-KB873339-x86-CHS.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",03,,"..\Install\Software\Hotfixs\WindowsXP-KB885835-x86-CHS.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",04,,"..\Install\Software\Hotfixs\WindowsXP-KB885836-x86-CHS.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",05,,"..\Install\Software\Hotfixs\WindowsXP-KB885884-x86-chs.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",06,,"..\Install\Software\Hotfixs\WindowsXP-KB886185-x86-chs.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",07,,"..\Install\Software\Hotfixs\WindowsXP-KB886677-x86-chs.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",08,,"..\Install\Software\Hotfixs\WindowsXP-KB890830-x86-CHS.exe /Q"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",09,,"..\Install\Software\Hotfixs\WindowsXP-KB885222-x86-CHS.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",10,,"..\Install\Software\Hotfixs\WindowsXP-KB890175-x86-CHS.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",11,,"..\Install\Software\Hotfixs\WindowsXP-KB887797-x86-chs.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",12,,"..\Install\Software\Hotfixs\WindowsXP-KB867282-x86-CHS.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",13,,"..\Install\Software\Hotfixs\WindowsXP-KB873333-x86-CHS.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",14,,"..\Install\Software\Hotfixs\WindowsXP-KB885250-x86-CHS.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",15,,"..\Install\Software\Hotfixs\WindowsXP-KB887472-x86-chs.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",16,,"..\Install\Software\Hotfixs\WindowsXP-KB888113-x86-CHS.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",17,,"..\Install\Software\Hotfixs\WindowsXP-KB888302-x86-CHS.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",18,,"..\Install\Software\Hotfixs\WindowsXP-KB890047-X86-CHS.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",19,,"..\Install\Software\Hotfixs\WindowsXP-KB891781-x86-CHS.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install08",20,,"..\Install\Software\Hotfixs\WindowsXP-KB887742-x86-CHS.exe /quiet /norestart"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install09",,,"安装 .NET Framework 1.1 组件"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install09",1,,"..\Install\Software\Hotfixs\DOTNETFW.EXE"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install09",2,,"..\Install\Software\Hotfixs\LANGPACK.EXE"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install09",3,,"..\Install\Software\Hotfixs\NDP1.1sp1-KB867460-X86.exe /Q"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install09",4,,"..\Install\Software\Hotfixs\NDP1.1sp1-KB886903-X86.exe /Q"
================================================================================
  当然大家不要照搬以上内容,有些部分我们可能不一样,例如QQ 2005本来是没有 /verysilent这个参数的,这个是由于我将它重新封装了一遍,还有 .NET Framework 1.1 组件是经过打包的,所以看不到安装参数.将hivesft.inf保存好即可.要注意的是这里的安装程序的路径是"..\Install\Software\***\*.*",其中系统分区用".."来表示.这点很重要.如果哪位朋友知道如何指向光驱目录,希望也贴出来,大家分享.剩下的工作就是创建新用户,注册表调整和删除安装文件了,这些工作完全可以利用Cmdlines.txt调用来完成,我是利用xplode 4.0来完成的,这样做可以完全替代丑陋的批处理窗口。这个xplode新版本相比以前的版本有了很大提高,其中最主要的一个功能就是可以实现无界面的模式。
我的cmdlines.txt内容如下:
[COMMANDS]
".\XPlode\XPlode.exe"
"REGEDIT /S RegTweaks.reg"
第一行是调用XPlode进行建立用户,自动登陆,Flashget注册,和删除安装文件等工作.
第二行是进行注册表的调整.我的调整内容如下,大家可以进行更为个性化的设置.
================================================================================
Windows Registry Editor Version 5.00
;禁止蓝屏后的自动重启动
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl]
"AutoReboot"=dword:00000000
;加快关机速度
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control]
"WaitToKillServiceTimeout"="3000"
;通过删除共享的计划任务加速网络邻居的浏览
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace\{D6277990-4C6A-11CF-8D87-00AA0060F5BF}]
;禁止Windows漫游气球提醒
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Applets\Tour]
"RunCount"=dword:00000000
;禁用Messenger服务(为了评比垃圾信息,而不会影响你的Windows/MSN Messenger)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Messenger]
"Start"=dword:00000004
;从开始菜单中删除最近打开的文档项目
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoRecentDocsMenu"=dword:00000001
;经典搜索,在标题栏和地址栏显示完整路径
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CabinetState]
"FullPath"=dword:00000001
"FullPathAddress"=dword:00000001
"Use Search Asst"="no"
"Settings"=hex:0c,00,02,00,1b,01,e7,77,60,00,00,00
;允许重命名回收站
[HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\ShellFolder]
"Attributes"=hex:50,01,00,20
"CallForAttributes"=dword:00000000
;Change MenuShowDelay (开始菜单读取速度)
[HKEY_CURRENT_USER\Control Panel\Desktop]
"MenuShowDelay"="2"
;Prevents Internet Explorer windows from being reused
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"AllowWindowReuse"=dword:00000000
;关闭视频文件预览 (allowing you to move/rename/delete without errors)
[-HKEY_CLASSES_ROOT\.avi\ShellEx]
[-HKEY_CLASSES_ROOT\.mpg\ShellEx]
[-HKEY_CLASSES_ROOT\.mpe\ShellEx]
[-HKEY_CLASSES_ROOT\.mpeg\ShellEx]
;Disable System Restore Service 关闭系统还原服务
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\srservice]
"Start"=dword:00000004
;Disable Remote Registry Service 关闭远程修改注册表服务
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteRegistry]
"Start"=dword:00000004
================================================================================
  补充一下:如果按照以下方法设置hivesft.inf可以得到无界面的安装模式.
================================================================================
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx",,0x00000012
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install",1,,"..\Install\Software\StormCodec\StormCodec.exe /quickasso /skipcheck /skipcnnic /S"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install",2,,"..\Install\Software\Flashget\FG165B1.EXE /S"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install",3,,"..\Install\Software\WinRAR\winrar.exe /s"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install",4,,"..\Install\Software\ACDSee\ACDSee.exe /S"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install",5,,"..\Install\Software\QQ\Setup.exe /verysilent"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install",6,,"..\Install\Software\Winamp\Setup.exe /verysilent"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install",7,,"..\Install\Software\MSN\MSN.exe"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install",8,,"..\Install\Software\DOTNETFW.EXE"
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install",9,,"..\Install\Software\LANGPACK.EXE"
================================================================================
    如此设置后第一次以指定用户登录系统后就完成了软件安装,注册表调整等操作.呵呵,由于时间仓促,没有进行任何的准备工作,并且本人的水平有限.所以文中难免出现纰漏,希望大家指正,我会及时更改.由于此hivesft.inf文件是我无意中发现的,同时我目前只再XP下测试成功,所以不敢保证hivesft在其他系统中的通用性,以后一旦我在其他系统中测试成功我会补充这篇帖子的.好了,这次先说这么多吧,希望大家批评指正!

作者: 数码前锋    时间: 2005-2-28 06:50     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

又是一遍精华!斑竹别怪我抢坐沙发了!
作者: lucky0504    时间: 2005-2-28 07:46     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

刚刚写完,结果发贴时出错了,内容全丢了,一个多小时的努力白费了,今天实在太累了.
作者: xzf    时间: 2005-2-28 15:59     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

不会把, 发这种贴子难道你不先写在文本文件中, 在一起粘过来吗,哈哈文章很好呀, 学习中。。。。。。
作者: je64    时间: 2005-2-28 17:55     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

嘻嘻,尽快完成吧,很详细,有点帮助!
作者: hgwyc    时间: 2005-3-1 00:24     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

支持,又学到东西了,再次谢谢。
作者: 数码前锋    时间: 2005-3-1 06:36     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

谢谢Lucky0504斑竹!建议更加全面细致些,让它成为一本知道丛书。
作者: weist123    时间: 2005-3-1 17:52     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

顶顶顶!!
Lucky0504斑竹水平大大的高,并且在不断的学习中!!
佩服!!
作者: yudao911    时间: 2005-3-1 18:06     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

学习中,好贴
佩服ing........
作者: shadowman    时间: 2005-3-1 23:24     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

Lucky0504 ,我已找到影音传送带1.94绿色版,要吗?
作者: 数码前锋    时间: 2005-3-2 02:50     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

我想请问一下,ie和DirectX也能用调用hivesft.inf方法安装么?如果能,参数是什么?如果不是,那用哪个方法安装呢?

作者: 数码前锋    时间: 2005-3-2 03:01     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

我试了一下用hivesft.inf安装ie6和directx,安装过程好像是正常的,硬盘直闪的装了半天,可是进入系统后却发现根本没装上,这是怎么回事?
作者: lucky0504    时间: 2005-3-2 04:37     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

引用:
下面引用由shadowman2005/03/01 03:24pm 发表的内容:
Lucky0504 ,我已找到影音传送带1.94绿色版,要吗?
多谢了,我也知道为什么我的影音传送带捆绑软件了,要国际版的就没问题了,弹出的网页用pskill杀死就可以了.
作者: lucky0504    时间: 2005-3-2 04:41     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

引用:
下面引用由数码前锋2005/03/01 07:01pm 发表的内容:
我试了一下用hivesft.inf安装ie6和directx,安装过程好像是正常的,硬盘直闪的装了半天,可是进入系统后却发现根本没装上,这是怎么回事?
IE6和DX9我没有测试过,我是在XP SP2上测试的,我有机会用2K试试.
你的IE6和DX9用别的方法可以正常集成吗?例如用svcpack.inf.
作者: cqmis    时间: 2005-3-2 18:43     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

引用:
下面引用由lucky05042005/03/01 08:41pm 发表的内容:
IE6和DX9我没有测试过,我是在XP SP2上测试的,我有机会用2K试试.
你的IE6和DX9用别的方法可以正常集成吗?例如用svcpack.inf.
可以的!
作者: 数码前锋    时间: 2005-3-3 03:57     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

引用:
下面引用由lucky05042005/03/01 08:41pm 发表的内容:
IE6和DX9我没有测试过,我是在XP SP2上测试的,我有机会用2K试试.
你的IE6和DX9用别的方法可以正常集成吗?例如用svcpack.inf.
昨晚不小心下线后就再也没上来,其它网站都可以,就EZB上不来
你的意思就是ie6和DX9用svcpack.inf安装,其它用调用hivesft.inf的方法安装,是吧?
我今天就想这样做了,但是一直忙了,没时间去做,等明天白天我试试,先谢谢lucky0504斑竹
作者: lucky0504    时间: 2005-3-3 04:23     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

这样是可以的,同时也可以试试你的IE和DX9的参数有没有错误.
作者: 数码前锋    时间: 2005-3-3 04:34     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

引用:
下面引用由lucky05042005/03/02 08:23pm 发表的内容:
这样是可以的,同时也可以试试你的IE和DX9的参数有没有错误.
好的,明天我试试,不过不应是参数问题,因为和你告诉我的参数是一样的
作者: 齐云    时间: 2005-3-3 20:23     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

这样的好文章实在是太实用了啊!
作者: tjlzh    时间: 2005-3-3 21:34     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

好文章,拜读了
作者: 数码前锋    时间: 2005-3-4 03:57     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

引用:
下面引用由lucky05042005/03/02 08:23pm 发表的内容:
这样是可以的,同时也可以试试你的IE和DX9的参数有没有错误.
今天试了,DX9无论用Hivesft还是Svcpack都能正确安装,可就是ie6装不上,安装过程好似正常,但就是没有装上,不知什么原因?
用Svcpack时的inf,同时安装的DX9都装上了(没什么特殊的啊,ie6当然放在了I386\Svcpack\IE6SP1下):
==================
[Version]
Signature="$Windows NT$"
MajorVersion=5
MinorVersion=0
BuildNumber=2195
[SetupData]
CatalogSubDir="I386\svcpack"
[SetupHotfixesToRun]
DX9\DX9.exe /opk
IE6SP1\IE6SETUP.EXE /Q:A /C:"ie6wzd /S:""#e"" /Q:A /R:N
qchain.exe
=====================
这可真能算上疑难杂症了,感觉这几种方法都应可以,可哪种都装不上,试了三种方法:
1、方法:用Cmd调用.bat安装ie6,当然同时也集成了些补丁
   现象:ie6没安装完就重新启动了
   参数:IE6SETUP.EXE /Q:A /C:"ie6wzd /S:""#e"" /Q:A /R:N
2、方法:用Svcpack.inf安装ie6
   形象:安装过程没发现异常,用Svcpack安装的其它集成都能正确安装,就ie6装不上
   参数:IE6SETUP.EXE /Q:A /C:"ie6wzd /S:""#e"" /Q:A /R:N
3、方法:用Hivesft.inf安装ie6
   现象:安装过程好似正常,但进入系统后才发现根本没装上,可是用Hivesft安装的其它软件都正确安装了
   参数:IE6SETUP.EXE /Q:A /R:N
那我到底哪里做错了?郁闷!快帮帮忙
作者: lucky0504    时间: 2005-3-4 23:14     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

你的IE6是在哪里下的?有多大?我的有54M,你的呢?
作者: 冷月之轮    时间: 2005-3-4 23:51     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

LUCKY又出精品了啊 摘下来做收藏
作者: 数码前锋    时间: 2005-3-5 03:39     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

引用:
下面引用由lucky05042005/03/04 03:14pm 发表的内容:
你的IE6是在哪里下的?有多大?我的有54M,你的呢?
我的ie6有77.5M,忘了在哪下的了,不过单独安装时是好用的,能是什么原因呢?
作者: lucky0504    时间: 2005-3-5 04:33     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

有没有测试一下在系统中用命令行带参数来安装呢.
作者: lucky0504    时间: 2005-3-5 04:40     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

到微软寻找一下下载连接.
作者: 数码前锋    时间: 2005-3-5 04:44     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

引用:
下面引用由lucky05042005/03/04 08:33pm 发表的内容:
有没有测试一下在系统中用命令行带参数来安装呢.
试了一下,没什么反应,可是在hivesft中调用安装时可是装了好长时间,看不出什么毛病
作者: lucky0504    时间: 2005-3-5 04:46     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

没有反映?那么说明是你的IE安装文件的问题.可能是经过别人修改或是怎么的.
作者: 数码前锋    时间: 2005-3-5 04:54     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

引用:
下面引用由lucky05042005/03/04 08:46pm 发表的内容:
没有反映?那么说明是你的IE安装文件的问题.可能是经过别人修改或是怎么的.
好的,我再重下载一个版本试试,谢谢你了Lucky0504斑竹一直以来的帮助
作者: 数码前锋    时间: 2005-3-6 03:39     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

好文章!
作者: lovetantan    时间: 2005-3-9 06:25     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

太强了!!
谢谢版主!!!!!!!!
作者: ebing    时间: 2005-3-9 07:15     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

卷走了。谢谢!!!
作者: 反台独    时间: 2005-3-28 04:10     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

呵呵。顶了再看
作者: 网络天使    时间: 2005-3-30 00:07     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

精华
可是有点难,需要时间消化

作者: zyhyun7802    时间: 2005-5-28 08:47     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

精华 佩服
作者: sgzof    时间: 2005-5-28 09:10     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

超赞的
作者: clapex    时间: 2005-5-30 04:17     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

来这里我觉得 我知道的东西太少了
呵呵~
作者: cq-x516    时间: 2005-5-30 22:05     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

    [B]请教一个问题:[/B]用“RunOnceEx”安装方法原来是看过,有一点没想通,导入注册表的内容后来是怎样清除的?
作者: lucky0504    时间: 2005-5-31 05:52     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

RunOnceEx是一个第一次进入系统时运行的键值,运行过一次后就自动清除了.
作者: ybk    时间: 2005-5-31 10:02     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

lucky0504每一篇帖子对我的帮助都很大啊,非常感谢您的教程,我再次收藏。
作者: cq-x516    时间: 2005-6-1 03:55     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

引用:
下面引用由lucky05042005/05/30 09:52pm 发表的内容:
RunOnceEx是一个第一次进入系统时运行的键值,运行过一次后就自动清除了.
谢谢!
作者: zhuzhu177    时间: 2005-6-7 16:29     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

Lucky0504斑竹吖,用inf的方法怎么安装WMP10吖?
我用 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\install",3,,"..\install\Apps\WMP10\MP10Setup.exe /Q:A /c:"setup_wm.exe /Q:A /R:N /DisallowSystemRestore""
装,复制文件的时候说xxx行文件已损坏,无法安装.....
说的就是WMP10这行.....,
作者: 企V鹅    时间: 2005-6-7 21:19     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

这个可能是因为出现过两个双引号的问题!
Lucky0504兄!在出现两个双引号的话,能不能用其他符号来代替其中一对?
要是可以的话,我想问题就解决了!
作者: 企V鹅    时间: 2005-6-7 21:25     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

我想到一个方法!
就是将mp10setup文件用winrar打包成exe文件!
exe的设置如下:
自动解压,后台执行,解压后的运行MP10Setup.exe /q:A /c:"setup_wm.exe /Q:A /R:N /DisallowSystemRestore"这样问题就应该可以解决了!
在hivesft.inf里面直接调用打的包就可以了!不用加任何参数!
作者: 企V鹅    时间: 2005-6-7 21:53     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

我想问下在.NET Framework 1.1 组件中的LANGPACK.EXE怎样才能完全默认安装?
我加了/Q的参数还是会出现对话框!而且装完后还要我点确定!
作者: fzb1314    时间: 2005-6-7 22:08     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

厉害,学到东西了,谢谢。。
作者: 企V鹅    时间: 2005-6-7 22:34     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

我想问一下
$oem$\$1\
这个文件夹里的东西但安装的时候会拷贝到系统盘里吗?
如果会拷贝的话拷贝到哪里?会自动删除吗?
作者: hgwyc    时间: 2005-6-8 18:51     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

[这个贴子最后由hgwyc在 2005/06/08 10:53am 第 1 次编辑]
引用:
下面引用由企V鹅2005/06/07 02:34pm 发表的内容:
我想问一下
$oem$\$1\
这个文件夹里的东西但安装的时候会拷贝到系统盘里吗?
如果会拷贝的话拷贝到哪里?会自动删除吗?
转帖:
$OEM$发布文件夹是什么?
$OEM$文件夹的用途是,你放在该文件夹中的所有文件都会被自动复制到你安装Windows的目标分区。一旦复制操作结束,你就可以用预先创建的批处理文件配合%systemdrive%变量安装其中的软件或执行其它任务。例如,如果Windows被安装到D盘,环境变量“%systemdrive%”就代表 D:\ 。
你可能会问,“为什么不直接从光盘上安装那些软件?”,那是因为光驱盘符在每台电脑上都是不同的,这也就说明了为什么没有“%CDROM%”这样的环境变量。然而你可以创建并运行脚本来检查光盘上某个特定文件的存在,这样就可以把当前的光驱盘符映射为%CDROM%变量。但是在本文中我们不准备涉及该内容(不过该内容在论坛中曾被多次讨论,你应该可以搜索的到)。
$OEM$发布文件夹
$OEM$文件夹和i386文件夹是同一级的,并不是包含在其中。$1文件夹中的任何文件都会被复制到Windows安装到的硬盘分区的根目录(例如C盘)。看下面的例子你就知道它是怎么工作的了:
在准备过程中,文件夹结构是这样的:
C:\XPCD\$OEM$\$1\Install\
当刻录到光盘(X是光驱盘符)后,文件夹结构变成了这样:
X:\$OEM$\$1\Install\
当\$OEM$\$1\Install文件夹在安装系统过程中被复制到硬盘后,文件夹结构变成了这样:
C:\Install\
了解了吗?这就解释了为什么你能找到很多类似"start /wait %systemdrive%\install\MSN\msnmsgs.msi /qb"的命令,因为该命令的输出路径和C:\Install\ 一样,都是安装Windows的分区。
$$ - 在该文件夹中的任何文件都会被复制到Windows文件夹,无论该文件夹叫什么名字(Windows、WINNT、WindowsXP)。通过使用这种方法你可以在$$中创建其它文件夹,例如Themes下的Resources子文件夹,然后就可以把你的视觉主题放在里面。随后这些文件就会在安装Windows过程中自动被复制到 C:\WINDOWS\Resources\Themes。

现在你知道该文件夹如何工作了,而其它文件夹中的文件会被复制到:
$Docs -Documents and Settings
$Progs - Program Files
$$ - Windows文件夹
$1 - 安装Windows的分区的根目录
这样做就省得用COPY或XCOPY命令复制文件和文件夹到目标位置了
作者: cq-x516    时间: 2005-7-13 17:15     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

[这个贴子最后由cq-x516在 2005/07/13 09:20am 第 1 次编辑]
引用:
下面引用由企V鹅2005/06/07 01:53pm 发表的内容:
我想问下在.NET Framework 1.1 组件中的LANGPACK.EXE怎样才能完全默认安装?
我加了/Q的参数还是会出现对话框!而且装完后还要我点确定!
把“LANGPACK.EXE”用“WinRAR”解包,把文件放入安装文件夹中用“langpack.msi /QB”参数安装。
另请问一下楼主,偶用此方法安装补丁,没有在T-13分钟时安装,还是在第一次进入时才开始安装,不知哪儿错了?
作者: lucky0504    时间: 2005-7-14 03:19     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

你是使用了hivseft.inf还是用批处理安装的?
作者: cq-x516    时间: 2005-7-14 07:57     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

用“hivseft.inf”的方法。
作者: lucky0504    时间: 2005-7-14 22:12     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

我记得以前利用hivseft.inf安装补丁是可以的,不知道你的软件安装是否可以呢?
也可以在使用hivseft.inf安装软件的同时,采用svcpack.inf来安装补丁.
作者: cq-x516    时间: 2005-7-15 08:53     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

软件和补丁都是在第一次选择用户进入后才开始安装。
用svcpack.inf来安装补丁麻烦,不想用。
作者: pengqh    时间: 2005-7-16 09:32     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

我试过了,用IExpress 2.0重新封装WMP10,在安装程序里面填上setup_wm.exe /Q:A /R:N /NoMigrate /DisallowSystemRestore
就好了,不要引号,测试通过。
作者: lucky0504    时间: 2005-7-17 03:37     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

引用:
下面引用由cq-x5162005/07/15 00:53am 发表的内容:
软件和补丁都是在第一次选择用户进入后才开始安装。
用svcpack.inf来安装补丁麻烦,不想用。
您制作的是什么操作系统?
hiveseft.inf应当是在兰屏复制文件后进行设置,写入注册表的.如果是在第一次进入后执行等于并没有在那时写入.你可以注意观察一下兰屏复制文件后是否有注册该文件.

作者: keluhao    时间: 2005-9-28 21:33     标题: [原创]利用hivesft.inf添加RunOnceEx注册表键值来实现无人职守安装

好东西,学习中。




欢迎光临 EZB 论坛 (http://ultraiso.net/ezbbbs/) Powered by Discuz! 6.1.0