here is the nant script that i use.
CODE
<target name="mkrambootiso">
<copy file="src\ramdisk.sy_" todir="picoxp\I386\system32\drivers" overwrite="true"/>
<iniwrite filename="picoxp\I386\txtsetup.sif" section="ScsiClass.Load" key="ramdisk" value="ramdisk.sys"/>
<exec program="bin\mkisofs.exe" commandline=' -iso-level 4 -force-uppercase -volid "PicoXP" -b bootsect.bin -no-emul-boot -boot-load-size 4 -hide bootsect.bin -hide boot.catalog -duplicates-once -o iso\picoxp.iso picoxp' />
<property name="RamDir" value="picoxp\RamBoot\" />
<mkdir dir="${RamDir}"/>
<mkdir dir="${RamDir}\I386"/>
<touch file="${RamDir}\WINNT.SIF"/>
<echo message="[SetupData]" file="${RamDir}\WINNT.SIF"/>
<echo message='BootDevice="ramdisk(0)"' file="${RamDir}\WINNT.SIF" append="true"/>
<echo message='BootPath="\i386\SYSTEM32\"' file="${RamDir}\WINNT.SIF" append="true"/>
<echo message='OsLoadOptions="/fastdetect /minint /rdexportascd /rdpath=RamBoot.is_"' file="${RamDir}\WINNT.SIF" append="true"/>
<copy file="picoxp\bootsect.bin" tofile="${RamDir}\BOOTSECT.BIN"/>
<copy file="${InstSourceDir}\I386\ntdetect.com" todir="${RamDir}\I386" overwrite="true"/>
<copy file="${InstSourceDir}\I386\setupldr.bin" todir="${RamDir}\I386" overwrite="true"/>
//here is the function!!!
<exec program="bin\cabarc" commandline="-m LZX:21 n ${RamDir}\RamBoot.is_ iso\picoxp.iso"/>
<exec program="bin\mkisofs.exe" commandline=' -iso-level 4 -force-uppercase -volid "PicoXP_RAM" -A PEBUILDER/MKISOFS -sysid "Win32" -b BOOTSECT.BIN -no-emul-boot -hide BOOTSECT.BIN -duplicates-once -o iso\PicoXP_RAM.iso PicoXP\RamBoot' />
</target>
whole tool and script download :http://blog.vckbase.com/Files/BastEt/Spe20070915.rar
nantlite clean buildramiso
then everything ok