teasiu 发表于 2011-4-10 01:33:04

通用一键U盘PE安装器脚本源码及教程--开源大礼(已发布至3个)★★★★★

本帖最后由 2010teasiu 于 2013-4-18 17:24 编辑

我写了很多的U盘启动安装软件,包括系统安装,系统维护安装的工具,受到网友大量下载和关注。

今天将其中一个最满意的作品源码公开,

帮助更多的的爱好者可以自己制作属于你自己的第一个软件。

通用一键U盘PE安装器 PE2USB.exe源码





教程很简单,我都在源码里加了注析,一看就懂,一学就会。

首先您下载一个NSIS编译器中文版,
推荐下载吧的 Nullsoft Scriptable Install System(nsis定制安装程序)V2.45汉化增强版
http://www.xiazaiba.com/html/177.html

然后安装,然后下载附件我写的源码和资源约800k,然后按下图对着nsi文件右键编译就可以生成exe安装器。

然后你慢慢修改自己喜欢的名字和图标,制作属于自己的软件吧!




##神雕teasiu开源大礼,作者 teasiu@163.com
##让菜鸟都可以制作自己的软件
##您可以任意修改本代码,但是请保留原作者信息。
##
!define NAME "PE2USB"
!define DISTRO "WINPE"
!define FILENAME "PE2USB"
!define VERSION "0.1"
!define MUI_ICON "usb48.ico"
RequestExecutionLevel highest ;设置用户最高权限
SetCompressor LZMA ;压缩格式
CRCCheck On
XPStyle on ;如果xp系统使用时,适应xp的风格
ShowInstDetails show
BrandingText "USBPE通用安装器 神雕teasiu作品"
CompletedText "安装结束,欢迎使用和收藏本工具! --神雕teasiu"
InstallButtonText "创 建" ;将先一步按钮改名为创建
Name "${NAME} ${VERSION}"
OutFile "${FILENAME} ${VERSION}.exe" ;生成的exe文件名
!include "nsDialogs.nsh"
!include "MUI2.nsh"
!include "FileFunc.nsh"
!include "WordFunc.nsh" ;磁盘列表
; 页面头设置
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "usb-logo2.bmp"
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
!define MUI_HEADERIMAGE_RIGHT ;右边显示logo图标,左边则改为LEFT
; 定义各项变量
Var DestDriveTxt
Var DestDrive
Var DestDisk
Var LabelDrivePageText
Var LabelDriveSelect
Var Format
Var FormatMe
Var Hddmode ;在这个例子里我换成了syslinux模式
Var Zipmode ;在这个例子里我换成了grub4dos模式
Var HddmodeMe
Var ZipmodeMe
Var Warning
Var Soft
Var Link
Var Links
Var Image
Var hImage
Var Iso
Var ISOFileTxt
Var ISOSelection
Var TheISO
Var ISOTest
Var ISOFile
var BootDir

Page custom drivePage ;只定义了一页

!define MUI_INSTFILESPAGE_COLORS "00FF00 000000"
; Instfiles page
!define MUI_TEXT_INSTALLING_TITLE $(Install_Title)
!define MUI_TEXT_INSTALLING_SUBTITLE $(Install_SubTitle)
!define MUI_TEXT_FINISH_SUBTITLE $(Install_Finish_Sucess)
!insertmacro MUI_PAGE_INSTFILES
; Language files
!insertmacro MUI_LANGUAGE "SimpChinese" ;仅支持中文
LangString DrivePage_Title ${LANG_SIMPCHINESE} "【PE2USB】USB通用PE安装器"
LangString DrivePage_Title2 ${LANG_SIMPCHINESE} "先插入一个USB盘,然后再打开本软件进行安装."
LangString DrivePage_Text ${LANG_SIMPCHINESE} "本工具将使您的U盘完美启动."
LangString DrivePage_Input ${LANG_SIMPCHINESE} "第一步:点击下拉菜单选择您的U盘"
LangString Soft_Text ${LANG_SIMPCHINESE} "第二步:选择您的ISO内置的启动引导模式。必选。"
LangString Iso_Text ${LANG_SIMPCHINESE} "第三步:选择您的ISO镜像文件。"
LangString WarningPage_Text ${LANG_SIMPCHINESE} "注意:请确保U盘资料已备份。原资料将被完全覆写并不可恢复!"
LangString Creation ${LANG_SIMPCHINESE} "创建启动和解压ISO镜像文件到U盘,请稍后"
LangString Install_Title ${LANG_SIMPCHINESE} "安装中 ${DISTRO}"
LangString Install_SubTitle ${LANG_SIMPCHINESE} "请稍后 ${NAME} 安装 ${DISTRO} 到 $DestDisk"
LangString Install_Finish_Sucess ${LANG_SIMPCHINESE} "$\t ${NAME} 已经完成安装${DISTRO}到$DestDisk"
LangString IsoFile ${LANG_SIMPCHINESE} "ISO镜像文件|*.iso"
LangString Syslinux_Warning ${LANG_SIMPCHINESE} "一个错误 ($R8) 发生在当安装syslinux时.$\r$\n您的USB驱动器将不可启动..$\r$\n建议您更换U盘或格式化该盘后再试一次。"
LangString grub4dos_Warning ${LANG_SIMPCHINESE} "一个错误 ($R8) 发生在当安装grub4dos时.$\r$\n您的USB驱动器将不可启动..$\r$\n建议您更换U盘或格式化该盘后再试一次。"
Function .onInit
InitPluginsDir
SetOutPath "$PLUGINSDIR" ;开始时将所有资源调进临时文件夹以便后面直接调用
File /r "src\*.*"
FunctionEnd
Function drivePage
!insertmacro MUI_HEADER_TEXT $(DrivePage_Title) $(DrivePage_Title2)
nsDialogs::Create 1018
${If} $DestDrive == ""
GetDlgItem $6 $HWNDPARENT 1 ; 控制下一步的句柄
EnableWindow $6 0 ; 关闭下一步按钮
${EndIf}
; 创建bmp广告位图
${NSD_CreateBitmap} 75% 0 20% 100% ""
Pop $Image
${NSD_SetImage} $Image $PLUGINSDIR\ad.bmp $hImage
${NSD_CreateLabel} 0 0 70% 30 $(DrivePage_Text)
Pop $LabelDrivePageText
${NSD_CreateLabel} 0 20 70% 15 $(DrivePage_Input)
Pop $LabelDriveSelect
SetCtlColors $LabelDriveSelect /Branding 0000BD ; 蓝色字体
;创建下拉菜单
${NSD_CreateDroplist} 0 40 30% 25 ""
Pop $DestDriveTxt
${NSD_OnChange} $DestDriveTxt db_select.onchange
${GetDrives} "FDD" driveList ;FDD表示仅显示移动磁盘即U盘, HDD表示显示本地磁盘即硬盘, ALL表示显示所有磁盘
${If} $DestDrive != ""
${NSD_CB_SelectString} $DestDriveTxt $DestDrive
${EndIf}
; 增加帮助或更新网址链接
${NSD_CreateLink} 85% 190 15% 14 "软件更新"
Pop $Link
${NSD_OnClick} $Link onClickMyLink
; 格式化选项
${NSD_CreateButton} 32% 38 38% 22 "(可选)FAT32格式化此U盘"
Pop $Format
${NSD_OnClick} $Format FormatIt
; 说明文字
${NSD_CreateLabel} 0 70 70% 15 $(Soft_Text) ;软件内容,括号里面是调回上面的中文文字
Pop $Soft
SetCtlColors $Soft /Branding 0000BD ;蓝色
${NSD_CreateLabel} 0 115 70% 15 $(Iso_Text) ;内容
Pop $Iso
SetCtlColors $Iso /Branding 0000BD ;蓝色
${NSD_CreateText} 0 135 50% 20 "浏览已下载的*.iso文档并选择"
Pop $ISOFileTxt
${NSD_CreateBrowseButton} 53% 135 65 20 "浏览"
Pop $ISOSelection
${NSD_OnClick} $ISOSelection ISOBrowse
; 磁盘启动模式选项
${NSD_CreateCheckBox} 0 90 36% 15 "Syslinux启动模式."
Pop $Hddmode
${NSD_Check} $Hddmode ; 默认此项打钩
${NSD_OnClick} $Hddmode HddmodeIt
${NSD_CreateCheckBox} 38% 90 36% 15 "Grub4dos启动模式."
Pop $Zipmode
${NSD_OnClick} $Zipmode ZipmodeIt
; 警示标签
${NSD_CreateLabel} 0 190 80% 14 $(WarningPage_Text)
Pop $Warning
EnableWindow $Format 0 ;关闭提示
EnableWindow $Hddmode 0
EnableWindow $Zipmode 0
EnableWindow $ISOFileTxt 0
EnableWindow $ISOSelection 0
ShowWindow $Warning 0
GetDlgItem $6 $HWNDPARENT 3
ShowWindow $6 0 ; 屏蔽回去
nsDialogs::Show
${NSD_FreeImage} $hImage ; 释放位图
FunctionEnd
Function ISOBrowse
nsDialogs::SelectFileDialog open "$EXEDIR" $(IsoFile) ;如果软件同目录里有ISO文键,自动选择
Pop $TheISO
${NSD_SetText} $ISOFileTxt $TheISO
SetCtlColors $ISOFileTxt 009900 FFFFFF
StrCpy $ISOTest "$TheISO"
StrCpy $ISOFile "$TheISO" ; 定义选择的镜像文件为ISOFile,以便后面解压
${NSD_SetText} $Iso "第三步完成,您的ISO镜像文件已选择."
${NSD_CreateLabel} 0 165 75% 14 "OK,点击创建即可"
GetDlgItem $6 $HWNDPARENT 1 ; 控制下一步的句柄
EnableWindow $6 1 ; 打开下一步按钮
FunctionEnd
Function onClickMyLink
Pop $Links ; 为了避免错误,pop定量
ExecShell "open" "http://www.ecoo168.com"
FunctionEnd

Function db_select.onchange
Pop $DestDriveTxt
${NSD_GetText} $DestDriveTxt $0
StrCpy $DestDrive "$0"
StrCpy $DestDisk "$DestDrive" -1
EnableWindow $Format 1 ;打开提示
EnableWindow $Hddmode 1
EnableWindow $Zipmode 1
EnableWindow $ISOFileTxt 1
EnableWindow $ISOSelection 1
ShowWindow $Warning 1
SetCtlColors $Warning /Branding FF0000
Call HddmodeIt
Call ZipmodeIt
FunctionEnd
;盘符列表方程
Function driveList
SendMessage $DestDriveTxt ${CB_ADDSTRING} 0 "STR:$9"
Push 1
FunctionEnd
Function HddmodeIt
${NSD_GetState} $Hddmode $HddmodeMe
${If} $HddmodeMe == ${BST_CHECKED}
${NSD_Check} $Hddmode
StrCpy $HddmodeMe "Yes"
${NSD_SetText} $Hddmode "(已选)Syslinux启动模式"
${NSD_Uncheck} $Zipmode
StrCpy $ZipmodeMe "No"
${NSD_SetText} $Zipmode "Grub4dos启动模式"
${ElseIf} $HddmodeMe == ${BST_UNCHECKED}
${NSD_Uncheck} $Hddmode
StrCpy $HddmodeMe "No"
${NSD_SetText} $Hddmode "Syslinux启动模式"
${NSD_Check} $Zipmode
StrCpy $ZipmodeMe "Yes"
${NSD_SetText} $Zipmode "(已选)Grub4dos启动模式"
${EndIf}
FunctionEnd
Function ZipmodeIt ; Set Format2 Option
${NSD_GetState} $Zipmode $ZipmodeMe
${If} $ZipmodeMe == ${BST_CHECKED}
${NSD_Check} $Zipmode
StrCpy $ZipmodeMe "Yes"
${NSD_SetText} $Zipmode "(已选)Grub4dos启动模式"
${NSD_Uncheck} $Hddmode
StrCpy $HddmodeMe "No"
${NSD_SetText} $Hddmode "Syslinux启动模式"
${ElseIf} $ZipmodeMe == ${BST_UNCHECKED}
${NSD_Uncheck} $Zipmode
StrCpy $ZipmodeMe "No"
${NSD_SetText} $Zipmode "Grub4dos启动模式"
${NSD_Check} $Hddmode
StrCpy $HddmodeMe "Yes"
${NSD_SetText} $Hddmode "(已选)Syslinux启动模式"
${EndIf}
FunctionEnd
Function FormatIt ; 设置格式化配置
Pop $FormatMe
MessageBox MB_YESNO "格式化U盘可以取回全部空间,继续吗?" IDYES true IDNO false
true:
Goto next
false:
MessageBox MB_OK|MB_ICONSTOP "不格式化,退出"
Abort
next:
MessageBox MB_YESNO "真的格式化吗?(请确保您的U盘资料已经备份,格式化将擦除U盘资料且不可恢复)" /SD IDYES IDNO false2
Goto next2
false2:
MessageBox MB_OK|MB_ICONSTOP "不格式化,退出"
Abort
next2: ;这是fbinst的格式化dos命令,详细请参考fbinst的官方说明, fbinst命令支持盘符c:的表示形式和hd0,hd1的表示形式
nsExec::ExecToLog '"cmd" /c "echo y|$PLUGINSDIR\fbinst $DestDisk format --raw --force --fat32"'
MessageBox MB_OK "格式化完成,恢复U盘全部空间。"
FunctionEnd
Function InstallEYes
SetShellVarContext all
StrCpy $R0 $DestDrive -1 ; 将盘符后面的'\'字符截去,表示为如D: 再定义为$R0
ClearErrors
${If} $HddmodeMe == "Yes"
DetailPrint "创建syslinux的引导到 $DestDisk, 请稍后"
ExecWait '$PLUGINSDIR\syslinux.exe -maf $R0' $R8 ; 这是syslinux的dos命令行,详情请参考官方说明
DetailPrint "Syslinux安装返回信息检测值=$R8 , 0表示成功"
Banner::destroy
${If} $R8 != 0 ; 如果返回值不是0,则弹出警告提示框
MessageBox MB_ICONEXCLAMATION|MB_OK $(Syslinux_Warning)
DetailPrint "请更换u盘或格式化后再试一次。"
${EndIf}
Call syscopyfile
${ElseIf} $ZipmodeMe == "Yes"
DetailPrint "创建Grub4dos启动模式的引导到 $DestDisk, 请稍后"
ExecWait '$PLUGINSDIR\BOOTICE.EXE /DEVICE=$R0 /mbr /install /type=grub4dos /auto' $R8 ; bootice支持的命令行,有很多用法,参考官方
DetailPrint "Grub4dos安装返回信息检测值=$R8 , 0表示成功"
Banner::destroy
${If} $R8 != 0 ; 如果返回值不是0,则弹出警告提示框
MessageBox MB_ICONEXCLAMATION|MB_OK $(grub4dos_Warning)
DetailPrint "请更换u盘或格式化后再试一次。"
${EndIf}
Call grubcopyfile
${EndIf}
FunctionEnd
Function syscopyfile
${If} ${FileExists} "$BootDir\syslinux.cfg"
;什么也不做
${ElseIf} ${FileExists} "$BootDir\syslinux\syslinux.cfg"
;什么也不做
${ElseIf} ${FileExists} "$BootDir\boot\syslinux\syslinux.cfg"
;什么也不做
${ElseIf} ${FileExists} "$BootDir\boot\isolinux\isolinux.cfg"
Rename "$BootDir\boot\isolinux\" "$BootDir\boot\syslinux\"
Rename "$BootDir\boot\syslinux\isolinux.cfg" "$BootDir\boot\syslinux\syslinux.cfg"
${ElseIf} ${FileExists} "$BootDir\isolinux\isolinux.cfg"
Rename "$BootDir\isolinux\" "$BootDir\syslinux\"
Rename "$BootDir\syslinux\isolinux.cfg" "$BootDir\syslinux\syslinux.cfg"
${ElseIf} ${FileExists} "$BootDir\isolinux.cfg"
Rename "$BootDir\isolinux.cfg" "$BootDir\syslinux.cfg"
${Else} ; 上面的文件都没有时
DetailPrint "没有找到syslinux标准配置文件syslinux.cfg"
DetailPrint "可能是您安装的ISO不是使用syslinux引导,"
DetailPrint "或者是引导文件被修改为其他名字使我无法识别,"
DetailPrint "请尝试其他启动方式或者手动寻找并编辑引导文件。"
${EndIf}
; 继续检测syslinux的图形菜单,以达到版本一致
${If} ${FileExists} "$BootDir\vesamenu.c32"
CopyFiles "$PLUGINSDIR\vesamenu.c32" "$BootDir\vesamenu.c32"
${ElseIf} ${FileExists} "$BootDir\syslinux\vesamenu.c32"
CopyFiles "$PLUGINSDIR\vesamenu.c32" "$BootDir\syslinux\vesamenu.c32"
${ElseIf} ${FileExists} "$BootDir\boot\syslinux\vesamenu.c32"
CopyFiles "$PLUGINSDIR\vesamenu.c32" "$BootDir\boot\syslinux\vesamenu.c32"
${EndIf}
FunctionEnd
Function grubcopyfile
;如果要拷贝文件进去,请在资源包里增加相应文件,拷贝命令如下
# CopyFiles "$PLUGINSDIR\grldr" "$BootDir\grldr"
# CopyFiles "$PLUGINSDIR\menu.lst" "$BootDir\menu.lst"
${If} ${FileExists} "$BootDir\grldr"
${ElseIf} ${FileExists} "$BootDir\grub\grldr"
${ElseIf} ${FileExists} "$BootDir\boot\grub\grldr"
${ElseIf} ${FileExists} "$BootDir\grub.exe"
${ElseIf} ${FileExists} "$BootDir\boot\grub.exe"
${ElseIf} ${FileExists} "$BootDir\boot\grub\grub.exe"
${Else} ; 如果上述任一文件都没有,显示以下提示
DetailPrint "没有找到grub4dos标准配置文件grldr。"
DetailPrint "可能是您安装的ISO不是使用grub4dos引导,"
DetailPrint "或者是引导文件被修改为其他名字使我无法识别,"
DetailPrint "请尝试其他启动方式或者手动寻找并编辑引导文件。"
${EndIf}
FunctionEnd
Section "Install" main
StrCpy $BootDir $DestDrive -1 ; 将盘符后面的'\'字符截去,表示为如D: 再定义为bootdir
StrCpy $BootDir "$BootDir"
DetailPrint $(Creation)
ExecWait '"$PLUGINSDIR\7zG.exe" x "$ISOFile" -o"$BootDir" -y -x!*' ;这是内置7z自动解压ISO镜像文件到磁盘
DetailPrint "正在检测和配置标准启动文件,请稍后"
Call InstallEYes
SectionEnd如果您愿意,制作好的作品帖张图片跟贴,我将您的图片链接在1楼。

网友作品1: #83楼

网友作品2:   #138楼

[ 本帖最后由 2010teasiu 于 2011-5-4 17:44 编辑 ]

teasiu 发表于 2011-4-11 07:40:47

原帖由 2011pkri 于 2011-4-11 07:32 发表 http://bbs.wuyou.net/images/common/back.gif
新手问下,压缩包里面的“vesamenu.c32”文件起什么作用?
还有,非常希望楼主能够发布Fba源码学习,谢谢!

这个问题问得好,证明您有认真研究学习。

为了鼓励,我详细点回答您:

sysylinux有很多版本,ISO发行的镜像使用isolinux非常普遍,
但是,有些iso发行者(PE或系统制作者),比如ylmfos,使用的还是旧版3.86的版本,
而新本的isolinux/syslinux的图形菜单文件从4.00开始就不一样了。

我内置的sysylinux是4.03版本,担心有些PE制作者的ISO使用旧版的图形菜单文件,
所以增加了一个检测,当检测到有vesamenu.c32存在时,用内置的新版文件覆盖。
以便达到一致。避免了错误发生。

teasiu 发表于 2011-4-10 01:57:23

本帖最后由 2010teasiu 于 2013-4-18 17:32 编辑

三楼占位继续发布第3个源码


一个简单的代码,适合新手学习:!define NAME "Syslinux4USB"
!define DISTRO "Boot Files"
!define FILENAME "Syslinux4USB"
!define VERSION "v0.1"
!define MUI_ICON "syslinux4usb.ico"
RequestExecutionLevel highest
SetCompressor LZMA
CRCCheck On
XPStyle on
ShowInstDetails show
BrandingText "USB启动界面美化最佳方案 神雕teasiu作品"
CompletedText "启动安装完成,您的USB盘现在已经准备好启动了!"
InstallButtonText "创建"
Name "${NAME} ${VERSION}"
OutFile "${FILENAME}.exe"
!include "MUI2.nsh"
!include "FileFunc.nsh"
; Interface settings
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "usb-logo-nsis.bmp"
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
!define MUI_HEADERIMAGE_RIGHT
; License page
!define MUI_TEXT_LICENSE_SUBTITLE $(License_Subtitle)
!define MUI_LICENSEPAGE_TEXT_TOP $(License_Text_Top)
!define MUI_LICENSEPAGE_TEXT_BOTTOM $(License_Text_Bottom)
!insertmacro MUI_PAGE_LICENSE "license.txt"
; Drive page
Var DestDriveTxt
Var DestDrive
Var DestDisk
Var LabelDrivePageText
Var LabelDriveSelect
Var Format
Var FormatMe
Var Warning
Page custom drivePage
; Instfiles page
!define MUI_INSTFILESPAGE_COLORS "00FF00 000000" ;Green and Black
!define MUI_TEXT_INSTALLING_TITLE $(Install_Title)
!define MUI_TEXT_INSTALLING_SUBTITLE $(Install_SubTitle)
!define MUI_TEXT_FINISH_SUBTITLE $(Install_Finish_Sucess)
!insertmacro MUI_PAGE_INSTFILES
; Finish page
!define MUI_FINISHPAGE_TITLE $(Finish_Title)
!define MUI_FINISHPAGE_TEXT $(Finish_Text)
!define MUI_FINISHPAGE_LINK $(Finish_Link)
!define MUI_FINISHPAGE_LINK_LOCATION "http://www.jhjh.org/"
!insertmacro MUI_PAGE_FINISH
; Language files
!insertmacro MUI_LANGUAGE "English" ;first language is the default language
!insertmacro MUI_LANGUAGE "SimpChinese"
; English
LangString License_Subtitle ${LANG_ENGLISH} "Please review the license terms before running ${NAME}."
LangString License_Text_Top ${LANG_ENGLISH} "The software within this program falls under the following License."
LangString License_Text_Bottom ${LANG_ENGLISH} "You must accept the terms of this License agreement to run ${NAME}. If you agree, Click I Agree to Continue."
LangString Finish_Title ${LANG_ENGLISH} "${NAME} has completed the installation."
LangString Finish_Text ${LANG_ENGLISH} "The necessary files are installed on your USB drive and the drive is bootable.$\r$\n$\r$\nNow you should proceed to see if it boots"
LangString Finish_Link ${LANG_ENGLISH} "Visit the Official Memtest86+ Site"
LangString DrivePage_Title ${LANG_ENGLISH} "Choose USB drive location"
LangString DrivePage_Title2 ${LANG_ENGLISH} "Choose the USB drive in which to make bootable."
LangString DrivePage_Text ${LANG_ENGLISH} "Please select your USB Flash Drive and Format option. ${NAME} will proceed to make this drive Bootable and install the Memtest86+ tool on it."
LangString DrivePage_Input ${LANG_ENGLISH} "Select your USB Flash Drive"
LangString WarningPage_Text ${LANG_ENGLISH} "WARNING!! Contents on this Drive will be deleted. Any exisiting MBR WILL be overwritten. Make sure you have backed up any important content!$\r$\n$\r$\nWhen you are sure, click Create to proceed."
LangString Syslinux_Creation ${LANG_ENGLISH} "Create syslinux configuration and moving files to $DestDrive "
LangString Syslinux_Execution ${LANG_ENGLISH} "Execute syslinux on $R0"
LangString Syslinux_Warning ${LANG_ENGLISH} "An error ($R8) occurred while executing syslinux.$\r$\nYour USB drive won't be bootable..."
LangString Install_Title ${LANG_ENGLISH} "Installing ${DISTRO}"
LangString Install_SubTitle ${LANG_ENGLISH} "Please wait while ${NAME} installs ${DISTRO} on $0"
LangString Install_Finish_Sucess ${LANG_ENGLISH} "${NAME} sucessfully installed ${DISTRO} on $0"
LangString License_Subtitle ${LANG_SIMPCHINESE} "创建USB启动之前请认真阅读本协议 ${NAME}."
LangString License_Text_Top ${LANG_SIMPCHINESE} "本程序的软件属于下面的许可."
LangString License_Text_Bottom ${LANG_SIMPCHINESE} "您必须接受以下许可协议来运行 ${NAME}.$\r$\n$\r$\n 如果你同意,请按 我接受 然后继续."
LangString Finish_Title ${LANG_SIMPCHINESE} "${NAME} 已经完成启动创建."
LangString Finish_Text ${LANG_SIMPCHINESE} "必要的文件已安装在您的USB驱动器并且可启动.$\r$\n$\r$\n现在您可以启动它并进行引导了."
LangString Finish_Link ${LANG_SIMPCHINESE} "访问本启动器作者的官方网站"
LangString DrivePage_Title ${LANG_SIMPCHINESE} "选择USB驱动器的位置"
LangString DrivePage_Title2 ${LANG_SIMPCHINESE} "在框中选择您想让它可启动的USB驱动器."
LangString DrivePage_Text ${LANG_SIMPCHINESE} "请选择您的USB闪存驱动器和格式选项. ${NAME}使该驱动器可启动并进行引导."
LangString DrivePage_Input ${LANG_SIMPCHINESE} "选择您的USB闪存驱动器"
LangString WarningPage_Text ${LANG_SIMPCHINESE} "警告!此驱动器的内容将被删除. 任何现有的MBR将被覆盖. 请确认您的重要内容已经备份!$\r$\n$\r$\n如果您确认完毕, 点击创建按钮."
LangString Syslinux_Creation ${LANG_SIMPCHINESE} "创建syslinux的配置和移动文件到$DestDrive"
LangString Syslinux_Execution ${LANG_SIMPCHINESE} "执行syslinux到 $R0"
LangString Syslinux_Warning ${LANG_SIMPCHINESE} "一个错误 ($R8) 发生在当执行syslinux时.$\r$\n您的USB驱动器将不可启动.."
LangString Install_Title ${LANG_SIMPCHINESE} "安装中 ${DISTRO}"
LangString Install_SubTitle ${LANG_SIMPCHINESE} "请稍后 ${NAME} 安装 ${DISTRO} 到 $0"
LangString Install_Finish_Sucess ${LANG_SIMPCHINESE} "${NAME} 已经成功安装了 ${DISTRO} 到 $0"
Function drivePage
!insertmacro MUI_HEADER_TEXT $(DrivePage_Title) $(DrivePage_Title2)
nsDialogs::Create 1018
${If} $DestDrive == ""
GetDlgItem $6 $HWNDPARENT 1 ; Get next control handle
EnableWindow $6 0 ; disable next
${EndIf}
${NSD_CreateLabel} 0 0 100% 30 $(DrivePage_Text)
Pop $LabelDrivePageText
${NSD_CreateLabel} 0 50 100% 15 $(DrivePage_Input)
Pop $LabelDriveSelect
${NSD_CreateDroplist} 0 68 23% 20 ""
Pop $DestDriveTxt
${NSD_OnChange} $DestDriveTxt db_select.onchange
${GetDrives} "FDD" driveList
${If} $DestDrive != ""
${NSD_CB_SelectString} $DestDriveTxt $DestDrive
${EndIf}
; Format Drive Option
${NSD_CreateCheckBox} 25% 68 75% 15 "如果你想格式化USB驱动器,选中此复选框."
Pop $Format
${NSD_OnClick} $Format FormatIt
; Warning Label
${NSD_CreateLabel} 0 120 100% 60 $(WarningPage_Text)
Pop $Warning
EnableWindow $Format 0
ShowWindow $Warning 0
GetDlgItem $6 $HWNDPARENT 3
ShowWindow $6 0 ; Disable Back
nsDialogs::Show
FunctionEnd
Function db_select.onchange
Pop $DestDriveTxt
${NSD_GetText} $DestDriveTxt $0
StrCpy $DestDrive "$0"
StrCpy $DestDisk $DestDrive -1
GetDlgItem $6 $HWNDPARENT 1 ; Get "Next" control handle
EnableWindow $6 1 ; enable "Next" control
EnableWindow $Format 1
ShowWindow $Warning 1
SetCtlColors $Warning /Branding FF0000
Call FormatIt
FunctionEnd
Function driveList
SendMessage $DestDriveTxt ${CB_ADDSTRING} 0 "STR:$9"
Push 1
FunctionEnd
Function FormatIt ; Set Format Option
${NSD_GetState} $Format $FormatMe
${If} $FormatMe == ${BST_CHECKED}
${NSD_Check} $Format
StrCpy $FormatMe "Yes"
${NSD_SetText} $Format "我们将格式化 $DestDrive 为 Fat32."
${ElseIf} $FormatMe == ${BST_UNCHECKED}
${NSD_Uncheck} $Format
${NSD_SetText} $Format "(推荐)如果你想格式化USB驱动器,选中此复选框 $DestDrive"
${EndIf}
FunctionEnd
Function FormatYes ; If Format is checked, do something
${If} $FormatMe == "Yes"
DetailPrint "正在格式化 $DestDisk"
InitPluginsDir
File /oname=$PLUGINSDIR\fbinst.exe "fbinst.exe"
# nsExec::ExecToLog '"cmd" /c "format $DestDisk /FS:Fat32 /V:JHJHORG /Q /y"'
nsExec::ExecToLog '"cmd" /c "echo y|$PLUGINSDIR\fbinst $DestDisk format --raw --force --fat32"'
${EndIf}
FunctionEnd
Section "Copyfiles" main
Call FormatYes ; Format the Drive?
InitPluginsDir
File /oname=$PLUGINSDIR\syslinux.exe "syslinux.exe"
File /oname=$PLUGINSDIR\syslinux.cfg "syslinux.cfg"
File /oname=$PLUGINSDIR\Readme.txt "Readme.txt"
File /oname=$PLUGINSDIR\vesamenu.c32 "vesamenu.c32"
File /oname=$PLUGINSDIR\reboot.c32 "reboot.c32"
File /oname=$PLUGINSDIR\poweroff.com "poweroff.com"
File /oname=$PLUGINSDIR\memdisk "memdisk"
File /oname=$PLUGINSDIR\chain.c32 "chain.c32"
File /oname=$PLUGINSDIR\back.jpg "back.jpg"
SetShellVarContext all
; Execute syslinux on the drive
StrCpy $R0 $DestDrive -1 ; remove \ for syslinux
ClearErrors
DetailPrint $(Syslinux_Execution)
ExecWait '$PLUGINSDIR\syslinux.exe -maf $R0' $R8
DetailPrint "Return $R8"
Banner::destroy
${If} $R8 != 0
MessageBox MB_ICONEXCLAMATION|MB_OK $(Syslinux_Warning)
${EndIf}
; Create files
Var /GLOBAL BootDir
StrCpy $BootDir $DestDrive -1
StrCpy $BootDir "$BootDir"
DetailPrint $(Syslinux_Creation)
CopyFiles "$PLUGINSDIR\syslinux.cfg" "$BootDir\syslinux.cfg" ; move syslinux.cfg
CopyFiles "$PLUGINSDIR\Readme.txt" "$BootDir\Readme.txt" ; move Readme
CopyFiles "$PLUGINSDIR\vesamenu.c32" "$BootDir\vesamenu.c32"
CopyFiles "$PLUGINSDIR\reboot.c32" "$BootDir\reboot.c32"
CopyFiles "$PLUGINSDIR\poweroff.com" "$BootDir\poweroff.com"
CopyFiles "$PLUGINSDIR\memdisk" "$BootDir\memdisk"
CopyFiles "$PLUGINSDIR\chain.c32" "$BootDir\chain.c32"
CopyFiles "$PLUGINSDIR\back.jpg" "$BootDir\back.jpg"
SectionEnd

2010yzxwxl 发表于 2011-5-1 20:17:53

高人啊,高人,一定顶

teasiu 发表于 2011-4-10 01:56:50

这是一个关于安装内置fba包的安装器脚本。

##开源的故事一直鼓励着我不断的学习这些知识,
##这是一个可以安装fba包的u盘启动安装器源码,
##大家看到很多的类似软件比如"大白菜""一键U盘工作室"等等,就是用这个原理做出来的。
##fbinstool的其中一部分原理,也是类似的
##触类旁通,如果你熟练了,就大胆的修改这些代码,设计成你想要的样子吧
##资源包src里面的slitaz4.fba是一个空文件,请用自己的fba包替换。
##=====================================
##本源码由teasiu@163.com创建。请保留此信息。
##=====================================
!define NAME "SlitazUSB"
!define DISTRO "SlitazUSB"
!define FILENAME "SlitazUSB"
!define VERSION "0.3"
!define MUI_ICON "usb48.ico"
RequestExecutionLevel highest
SetCompressor LZMA
CRCCheck On
XPStyle on
ShowInstDetails show
BrandingText "USB启动通用安装器 神雕teasiu作品"
CompletedText "安装结束,欢迎使用和收藏本工具!--神雕teasiu"
InstallButtonText "创 建"
Name "${NAME} ${VERSION}"
OutFile "${FILENAME} ${VERSION}.exe"
!include "nsDialogs.nsh"
!include "MUI2.nsh"
!include "FileFunc.nsh"
!include "WordFunc.nsh" ;DriveList
; Interface settings
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "usb-logo2.bmp"
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
!define MUI_HEADERIMAGE_RIGHT
; Drive page
Var DestDriveTxt
Var DestDrive
Var DestDisk
Var LabelDrivePageText
Var LabelDriveSelect
Var Format
Var FormatMe
Var Hddmode
Var Zipmode
Var HddmodeMe
Var ZipmodeMe
Var Warning
Var Soft
Var Link
Var Links
Var Image
Var hImage
#Page custom SetCustom LeaveCustom
Page custom drivePage

!define MUI_INSTFILESPAGE_COLORS "00FF00 000000"
; Instfiles page
!define MUI_TEXT_INSTALLING_TITLE $(Install_Title)
!define MUI_TEXT_INSTALLING_SUBTITLE $(Install_SubTitle)
!define MUI_TEXT_FINISH_SUBTITLE $(Install_Finish_Sucess)
!insertmacro MUI_PAGE_INSTFILES
; Language files
!insertmacro MUI_LANGUAGE "SimpChinese"
LangString DrivePage_Title ${LANG_SIMPCHINESE} "【SlitazUSB】USB移动系统安装器"
LangString DrivePage_Title2 ${LANG_SIMPCHINESE} "先插入一个USB盘,然后再打开本软件进行安装."
LangString DrivePage_Text ${LANG_SIMPCHINESE} "本工具将使您的U盘完美启动."
LangString DrivePage_Input ${LANG_SIMPCHINESE} "第一步:点击下拉菜单选择您的U盘"
LangString Soft_Text ${LANG_SIMPCHINESE} "第二步:选择USB设备启动引导模式。必选。"
LangString Iso_Text ${LANG_SIMPCHINESE} "第三步:选择您的ISO镜像文件。"
LangString WarningPage_Text ${LANG_SIMPCHINESE} "注意:请确保U盘资料已备份。原资料将被完全覆写并不可恢复!"
LangString Install_Title ${LANG_SIMPCHINESE} "安装中 ${DISTRO}"
LangString Install_SubTitle ${LANG_SIMPCHINESE} "请稍后 ${NAME} 安装 ${DISTRO} 到 $DestDisk"
LangString Install_Finish_Sucess ${LANG_SIMPCHINESE} "$\t ${NAME} 已经完成安装${DISTRO}到$DestDisk"
Function .onInit
InitPluginsDir
File /oname=$PLUGINSDIR\ad.bmp "ad.bmp" ; 嵌入bmp位图以便后面调用
FunctionEnd
Function drivePage
!insertmacro MUI_HEADER_TEXT $(DrivePage_Title) $(DrivePage_Title2)
nsDialogs::Create 1018
${If} $DestDrive == ""
GetDlgItem $6 $HWNDPARENT 1 ; Get next control handle
EnableWindow $6 0 ; disable next
${EndIf}
;创建bmp位图
${NSD_CreateBitmap} 75% 0 20% 100% ""
Pop $Image
${NSD_SetImage} $Image $PLUGINSDIR\ad.bmp $hImage

${NSD_CreateLabel} 0 0 70% 30 $(DrivePage_Text)
Pop $LabelDrivePageText
${NSD_CreateLabel} 0 20 70% 15 $(DrivePage_Input)
Pop $LabelDriveSelect
SetCtlColors $LabelDriveSelect /Branding 0000BD

${NSD_CreateDroplist} 0 40 30% 25 ""
Pop $DestDriveTxt
${NSD_OnChange} $DestDriveTxt db_select.onchange
${GetDrives} "FDD" driveList; FDD代表移动磁盘,本地磁盘用HDD,所有磁盘用ALL
${If} $DestDrive != ""
${NSD_CB_SelectString} $DestDriveTxt $DestDrive
${EndIf}
; Add Help Link
${NSD_CreateLink} 85% 190 15% 14 "软件更新" ; 创建一个链接地址 85%代表位置横坐标,190代表位置纵坐标,15%代表内容横坐标,14代表内容纵坐标
Pop $Link
${NSD_OnClick} $Link onClickMyLink
; Format Drive Option
${NSD_CreateButton} 32% 38 38% 22 "(可选)FAT32格式化此U盘"
Pop $Format
${NSD_OnClick} $Format FormatIt
; Soft Label
${NSD_CreateLabel} 0 70 70% 15 $(Soft_Text) ;软件内容 0代表位置横坐标,70代表位置纵坐标,70%代表内容横坐标,15代表内容纵坐标
Pop $Soft
SetCtlColors $Soft /Branding 0000BD

; 磁盘启动模式选项
${NSD_CreateCheckBox} 0 90 36% 15 "HDD启动模式."
Pop $Hddmode
${NSD_Check} $Hddmode
${NSD_OnClick} $Hddmode HddmodeIt
${NSD_CreateCheckBox} 38% 90 36% 15 "ZIP启动模式."
Pop $Zipmode
${NSD_OnClick} $Zipmode ZipmodeIt
; Warning Label
${NSD_CreateLabel} 0 190 80% 14 $(WarningPage_Text)
Pop $Warning
EnableWindow $Format 0
EnableWindow $Hddmode 0
EnableWindow $Zipmode 0
ShowWindow $Warning 0
GetDlgItem $6 $HWNDPARENT 3
ShowWindow $6 0 ; Disable Back
nsDialogs::Show
${NSD_FreeImage} $hImage
FunctionEnd

Function onClickMyLink
Pop $Links ; pop something to prevent corruption
ExecShell "open" "http://www.ecoo168.com"
FunctionEnd

Function db_select.onchange
Pop $DestDriveTxt
${NSD_GetText} $DestDriveTxt $0
StrCpy $DestDrive "$0"
StrCpy $DestDisk "$DestDrive" -1
GetDlgItem $6 $HWNDPARENT 1 ; Get "Next" control handle
EnableWindow $6 1 ; enable "Next" control
EnableWindow $Format 1
EnableWindow $Hddmode 1
EnableWindow $Zipmode 1
ShowWindow $Warning 1
SetCtlColors $Warning /Branding FF0000
Call HddmodeIt
Call ZipmodeIt
FunctionEnd
Function driveList ; 磁盘列表,表示形式为盘符CDE等
SendMessage $DestDriveTxt ${CB_ADDSTRING} 0 "STR:$9"
Push 1
FunctionEnd
;下面2个方程的意思是:无论用户怎么点击,都必须要选中一个
Function HddmodeIt
${NSD_GetState} $Hddmode $HddmodeMe

${If} $HddmodeMe == ${BST_CHECKED}
${NSD_Check} $Hddmode
StrCpy $HddmodeMe "Yes"
${NSD_SetText} $Hddmode "(已选)HDD启动模式"
${NSD_Uncheck} $Zipmode
StrCpy $ZipmodeMe "No"
${NSD_SetText} $Zipmode "ZIP启动模式"

${ElseIf} $HddmodeMe == ${BST_UNCHECKED}
${NSD_Uncheck} $Hddmode
StrCpy $HddmodeMe "No"
${NSD_SetText} $Hddmode "HDD启动模式"
${NSD_Check} $Zipmode
StrCpy $ZipmodeMe "Yes"
${NSD_SetText} $Zipmode "(已选)ZIP启动模式"
${EndIf}
FunctionEnd
Function ZipmodeIt ; Set Format Option
${NSD_GetState} $Zipmode $ZipmodeMe
${If} $ZipmodeMe == ${BST_CHECKED}
${NSD_Check} $Zipmode
StrCpy $ZipmodeMe "Yes"
${NSD_SetText} $Zipmode "(已选)ZIP启动模式"
${NSD_Uncheck} $Hddmode
StrCpy $HddmodeMe "No"
${NSD_SetText} $Hddmode "HDD启动模式"
${ElseIf} $ZipmodeMe == ${BST_UNCHECKED}
${NSD_Uncheck} $Zipmode
StrCpy $ZipmodeMe "No"
${NSD_SetText} $Zipmode "ZIP启动模式"
${NSD_Check} $Hddmode
StrCpy $HddmodeMe "Yes"
${NSD_SetText} $Hddmode "(已选)HDD启动模式"
${EndIf}
FunctionEnd
Function FormatIt ; Set Format Option这里增加询问框,更加人性化
Pop $FormatMe
MessageBox MB_YESNO "格式化U盘可以取回全部空间,继续吗?" IDYES true IDNO false
true:
Goto next
false:
MessageBox MB_OK|MB_ICONSTOP "不格式化,退出"
Abort
next:
MessageBox MB_YESNO "真的格式化吗?(请确保您的U盘资料已经备份,格式化将擦除U盘资料且不可恢复)" /SD IDYES IDNO false2
Goto next2
false2:
MessageBox MB_OK|MB_ICONSTOP "不格式化,退出"
Abort
next2:
InitPluginsDir
File /oname=$PLUGINSDIR\fbinst.exe "src\fbinst.exe" ;调用一下src文件夹里面的fbinst.exe用于格式化
nsExec::ExecToLog '"cmd" /c "echo y|$PLUGINSDIR\fbinst $DestDisk format --raw --force --fat32"'
MessageBox MB_OK "格式化完成,恢复U盘全部空间。"
FunctionEnd
Function InstallEYes
InitPluginsDir
SetOutPath "$PLUGINSDIR"
File /r "src\*.*" ;文件夹src里面必须包含2个文件,fbinst.exe和你的fba包,在这个例子里名字为slitaz4.fba,下面要相对应名字
${If} $HddmodeMe == "Yes"
DetailPrint "创建HDD模式的引导和复制slitaz系统到 $DestDisk, 请稍后"
;下面这段请根据您的fba包大小来填写UD扩展分区的大小extended ?m,UD主分区默认大小是8m,否则会出现安装错误。
;fba包目前使用fbinstool工具比较方便,假如你很掌握fbinst命令,也完全可以使用命令在这里创建fba包然后安装它,写起来比较复杂。
nsExec::ExecToLog '"cmd" /c "echo y|$PLUGINSDIR\fbinst $DestDisk format --extended 80m --force --align --primary 8m --archive $PLUGINSDIR\slitaz4.fba"'
DetailPrint "Slitaz系统已经安装到$DestDisk的隐藏区占88M"
${ElseIf} $ZipmodeMe == "Yes"
DetailPrint "创建Zip模式的引导和复制slitaz系统到 $DestDisk, 请稍后"
nsExec::ExecToLog '"cmd" /c "echo y|$PLUGINSDIR\fbinst $DestDisk format --extended 80m --force --zip --align --primary 8m --archive $PLUGINSDIR\slitaz4.fba"'
DetailPrint "Slitaz系统zip模式已经安装到$DestDisk的隐藏区占88M"
${EndIf}
FunctionEnd
Section "Install" main
Call InstallEYes ;指令安装进程程式
nsExec::ExecToLog '"cmd" /c "echo y|$PLUGINSDIR\fbinst $DestDisk pack"' ;安装完成后整理碎片
SectionEnd

[ 本帖最后由 2010teasiu 于 2011-4-13 04:24 编辑 ]

HB天意 发表于 2011-5-1 18:03:53

原帖由 2010teasiu 于 2011-5-1 17:54 发表 http://bbs.wuyou.net/images/common/back.gif


你没有那些文件包,当然出错啦。
比如ico文件和名字要一致。。。
那我这个提示是怎么回事呢?

teasiu 发表于 2011-5-1 17:54:43

原帖由 2010fengyun 于 2011-5-1 17:50 发表 http://bbs.wuyou.net/images/common/back.gif

测试天意的代码出现如下错误了:
宏 MUI_INTERFACE 出现错误在第 64行
宏 MUI_PAGE_INIT 出现错误在第 3行
宏 MUI_PAGE_INSTFILES 出现错误在第 5行
脚本 "F:\wuyou\USBPE-installer\USBPE-install ...

你没有那些文件包,当然出错啦。
比如ico文件和名字要一致。。。

2010fengyun 发表于 2011-5-1 17:50:32

原帖由 yidawpf 于 2011-5-1 16:28 发表 http://bbs.wuyou.net/images/common/back.gif
我修改了你的代码。也生成了exe。
但NSIS编译器提示如下:
119961

请问是哪里出了错。是否影响使用?

##这是一个可以安装fba包的u盘启动安装器源码,
##资源包src里面的ty.fba是一个空文件,请用自己的 ...
测试天意的代码出现如下错误了:
宏 MUI_INTERFACE 出现错误在第 64行
宏 MUI_PAGE_INIT 出现错误在第 3行
宏 MUI_PAGE_INSTFILES 出现错误在第 5行
脚本 "F:\wuyou\USBPE-installer\USBPE-installer\tianyi.nsi" 出现错误在第 56 行 -- 终止脚本处理

永恒心锁 发表于 2011-4-24 08:42:47

fbinst: error: primary data size too large

fbinst: error: fb mbr not initialized
我的提示这两个错误 为什么?

HB天意 发表于 2011-4-23 19:52:49


谢谢你的源码。我已经做了一个并测试成功了。

以前我封装软件一直用SmartInstallMaker。但是这个软件功能太弱了。
很想自己写一个软件来安装U盘维护系统,但是对NSIS不懂,一直没有办法。
今天终于可以用上了,再次谢谢!

HB天意 发表于 2011-4-23 17:32:33

强烈支持一个,抽空研究下。

2011qwqw 发表于 2011-4-10 10:01:01

确实不顶不行了。。。谢谢分享

maanu 发表于 2011-4-10 10:27:40

very nice release my friend ,

can i use the source to produce my english version also ? i just need to have the understand of some chinese text i think , which is in the source code,

and i guess it all depends on the fbinst ? which then format the usb drive.?

what is the routine to copy files , will it copy files which are packed in itor will it read the " directory where we will point it "

thanks again.

Maanu from Pakistan

maanu 发表于 2011-4-10 10:29:55

also ,

is this also depend on the same source code ?

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=186976&extra=page%3D1

teasiu 发表于 2011-4-10 10:46:44

原帖由 maanu 于 2011-4-10 10:29 发表 http://bbs.wuyou.net/images/common/back.gif
also ,

is this also depend on the same source code ?

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=186976&extra=page%3D1

Yes. It is.

I will upload that source later.

shan 发表于 2011-4-10 10:53:19

收藏慢慢学习哈,楼主高人啊

teasiu 发表于 2011-4-10 10:59:11

原帖由 maanu 于 2011-4-10 10:27 发表 http://bbs.wuyou.net/images/common/back.gif
very nice release my friend ,

can i use the source to produce my english version also ? i just need to have the understand of some chinese text i think , which is in the source code,

and i ...

In this case ,
Just used the fbinst to format USB drive in fat32,
and than make sysylinux & grub4dos bootable.

If you want to use the fbinst make bootable,
It can be also. My another release will upload....

jiaxinfu 发表于 2011-4-10 17:20:33

这个精品,一定要支持

xhwy2 发表于 2011-4-10 20:22:52

俺是菜鸟,,进来膜拜下,慢慢学习,,,

2011pkri 发表于 2011-4-10 20:29:40

这个绝对是精品@

感谢分享,楼主继续发布二三楼啊~~~

快雪时晴 发表于 2011-4-10 20:33:37

回复 #1 2010teasiu 的帖子

特意登录一下表达敬意!

NSIS尚未接触过,标记下

maanu 发表于 2011-4-11 01:03:35

@ 2010teasiu

thanks for the reply . i will wait for another version as you promised.

2011pkri 发表于 2011-4-11 07:32:12

回复 #1 2010teasiu 的帖子

新手问下,压缩包里面的“vesamenu.c32”文件起什么作用?
还有,非常希望楼主能够发布Fba源码学习,谢谢!

zjghjs 发表于 2011-4-11 10:42:44

原帖由 <i>2010teasiu</i> 于 2011-4-10 01:56 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2201131&ptid=191252" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
二楼占位继续发布第2个源码<br />
<br />
这个是关于安装内置fba包的脚本。<br />
<br />
看大家是否有需求了。<br />
<br />
<br />
<br />
等待中!谢谢!!

teasiu 发表于 2011-4-11 10:55:34

原帖由 zjghjs 于 2011-4-11 10:42 发表 http://bbs.wuyou.net/images/common/back.gif

等待中!谢谢!!

看看反应,没有想象中的热闹,唉,有点灰心。。

cqflfzlyx 发表于 2011-4-11 11:15:10

我等待2楼fba的安装包吧,谢谢神雕啦!!!

2011bomboy 发表于 2011-4-11 14:38:42

这个灰常好,一定要支持

2011QaSanil 发表于 2011-4-11 14:52:42

代码真看不懂,很强谢谢啦

zqywult 发表于 2011-4-11 15:23:22

请问LZ:
编译好的“通用一键U盘PE安装器”哪里可以下载???
谢谢了!!!

molingjian 发表于 2011-4-11 17:44:43

这种样子的代码第一次见啊学习了......   有点看不懂

ziyun 发表于 2011-4-11 17:58:03

收藏备用了!谢谢楼主分享!

天涯海角1216 发表于 2011-4-11 18:07:29

非常感谢!
授人以渔!

请楼主继续努力!

2010wzcy 发表于 2011-4-11 19:49:22

非常感谢您的分享 强烈支持

teasiu 发表于 2011-4-11 19:52:35

回复 #25 天涯海角1216 的帖子

感谢支持。希望论坛能将附件转换为论坛地址,以便网友持久下载。

我这里有限制无法直接上传。

Hcrty 发表于 2011-4-11 20:27:53

建议楼主添加上 usb-hdd 和 usb-zip 启动...

hymming 发表于 2011-4-11 21:33:44

激动不已,我支持,我顶!

jiayang83 发表于 2011-4-11 21:51:03

强帖。一定要顶的,再慢慢学习。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 通用一键U盘PE安装器脚本源码及教程--开源大礼(已发布至3个)★★★★★