根据nn2nn的标准化外置,我自己想了另一种类似的结构
1.把每个软件都分开做成WIM的形式,
2.编写一个批处理,用外部配置文件添加这个BAT的快捷方式,根据软件的不同,参数也不同
3.BAT接受到参数后,自动挂载软件并根据需要写入注册表,再打开软件,当软件关闭后又自动卸载.
4.鉴于软件的复杂性,可以在BAT中添加几个特殊的标签,检测到是特殊软件的时候,就调用标签里的内容
基本就是这样,我因为现在在学校,输入法太烂了.就不详细多讲.上星期基本测试成功,特殊软件那里还没试验,一般软件都测试成功了.下星期回家继续试验,
个人感觉这个方法可以提高可维护性,修改外置也比较方便,配合WIM式网络和WIM式MMC应该还是蛮好用的.
那个BAT里的内容大概是这样的(因为手头没资料,只能凭记忆写)
引用:
::开放式外置配置程序
set wim=..\外部软件
set x=%ProgramFiles%\%1
md "%x%"
::以下进行参数判断
IF /I "%1"=="NET" GOTO NET_MMC
IF /I "%1"=="MMC" GOTO NET_MMC
IF /I "%1"=="AVP" GOTO AVP_Thunder
IF /I "%1"=="Thunder" GOTO AVP_Thunder
IF /I "%1"=="ULTRAISO" GOTO WINRAR_ULTRAISO_VDM
IF /I "%1"=="WINRAR" GOTO WINRAR_ULTRAISO_VDM
IF /I "%1"=="VDM" GOTO WINRAR_ULTRAISO_VDM
IF /I "%1"=="GHOST32" GOTO GHOST11
IF /I "%1"=="GGGHOST" GOTO GHOST11
IF /I "%1"=="GHOSTEXP" GOTO GHOST11
::以下是普通软件
PECMD MOUN %wim%\%1.wim,%x%,1
regedit /s /q "%x%\%1.reg"
"%x%\%1"
PECMD MOUN ,%x%
EXIT
::以下是特殊软件
:NET_MMC
md %SystemRoot%\System\
copy %wim%\NET_MMC.wim "%ProgramFiles%"
PECMD MOUN %ProgramFiles%\NET_MMC.wim,%SystemRoot%\system,1
::设置参数并导入软件。
PECMD LOAD %SystemRoot%\System\%1.ini
PECMD LOAD %SystemRoot%\System\MMC\%1.ini
PECMD EXEC !%SystemRoot%\System\MMC\%1.bat
PECMD EXEC !%SystemRoot%\System\%1.cmd
EXIT
:AVP_Thunder
PECMD MOUN %wim%\%1.wim,%x%,1
"%x%\%1" D
PECMD MOUN ,%x%
::以下是GHOST11中的程序调用
:GHOST11
copy %wim%\GHOST11.wim "%ProgramFiles%"
md "%ProgramFiles%\GHOST11"
PECMD MOUN %wim%\GHOST11.wim,%ProgramFiles%\GHOST11,1
"%ProgramFiles%\GHOST11\%1"
PECMD MOUN ,%ProgramFiles%\GHOST11
:WINRAR_ULTRAISO_VDM
copy %wim%\%1.wim "%ProgramFiles%"
PECMD MOUN %wim%\%1.wim,%x%,1
"%x%\%1"
EXIT
大家给点意见看看.
[
本帖最后由 421062724 于 2008-1-13 11:36 编辑 ]