无忧启动论坛
标题:
带密码一键部署PE NSIS脚本 重启进入PE一次有效!!!
[打印本页]
作者:
cls822001
时间:
7 小时前
标题:
带密码一键部署PE NSIS脚本 重启进入PE一次有效!!!
本帖最后由 cls822001 于 2025-11-28 09:15 编辑
带密码一键部署PE NSIS脚本 直接上代码 自己用更改GUID
Unicode false
!include "LogicLib.nsh"
!include "FileFunc.nsh"
!include MUI2.nsh
!define Password "Password2025"
!define GUID "{566C315E-2697-4E54-83FF-45EDDCFF12B5}"
!define PEGUID "{566C315F-2697-4E54-83FF-45EDDCFF12B5}"
Name "欢迎使用WinPE"
OutFile "WinPE安装程序.exe"
; 界面设置 - 跳过欢迎页面,直接从密码页面开始
!define MUI_CUSTOMFUNCTION_GUIINIT onGUIInit
Page Custom PasswordPageShow PasswordPageLeave
!define MUI_PAGE_CUSTOMFUNCTION_PRE 'CopyFiles'
!define MUI_PAGE_CUSTOMFUNCTION_SHOW MyInstFiles
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "SimpChinese"
Icon start.ico
ShowInstDetails nevershow
AutoCloseWindow true
BrandingText "在线一键安装系统"
Caption ""
Function PasswordPageShow
!insertmacro MUI_HEADER_TEXT "输入密码" "安装程序需要一个正确的安装密码才能继续。"
PassDialog::InitDialog /NOUNLOAD Password /HEADINGTEXT "请致电 XXXXXXXXXXX 索取密码。" /GROUPTEXT "密码输入框"
Pop $R0
GetDlgItem $R1 $HWNDPARENT 1
ShowWindow $R1 ${SW_HIDE}
GetDlgItem $R1 $HWNDPARENT 2 ; 取消按钮ID=2
ShowWindow $R1 ${SW_HIDE}
GetDlgItem $R1 $HWNDPARENT 3 ; 后退按钮ID=3
ShowWindow $R1 ${SW_HIDE}
PassDialog::Show
FunctionEnd
Function PasswordPageLeave
Pop $R0
StrCmp $R0 "${Password}" password_correct
MessageBox MB_OK|MB_ICONEXCLAMATION "密码输入错误!请输入正确的安装密码!"
Abort
password_correct:
MessageBox MB_OK|MB_ICONINFORMATION "密码输入正确!请点击$"确定$"继续进行安装!"
FunctionEnd
Section "主程序" SecMain
SetDetailsPrint textonly
DetailPrint "ToDesk正在下载最新PE文件...."
SetDetailsPrint listonly
SetOutPath C:\YXPE
; 本地文件示例;YXPE.7z 文件包括 boot.sdi winpe.wim
; File YXPE.7z
; Nsis7z::ExtractWithDetails "C:\YXPE\YXPE.7z" "文件解压进度 %s..."
; Delete "C:\YXPE\YXPE.7z"
; 网络下载文件
NScurl::http GET "http://down.jywangluo.cn:88/PE/YXPE.7z" "$PLUGINSDIR\YXPE.7z"
Nsis7z::ExtractWithDetails "$PLUGINSDIR\YXPE.7z" "文件解压进度 %s..."
SetFileAttributes "C:\YXPE" HIDDEN
SetDetailsPrint textonly
DetailPrint "添加启动菜单...."
SetDetailsPrint listonly
System::Call "Kernel32::Wow64EnableWow64FsRedirection(i 0)"
nsExec::Exec 'bcdedit /create ${GUID} /device'
nsExec::Exec 'bcdedit /set ${GUID} ramdisksdidevice partition=C:'
nsExec::Exec 'bcdedit /set ${GUID} ramdisksdipath \YXPE\boot.sdi'
nsExec::Exec 'bcdedit /create ${PEGUID} /d "WinPE 网络维护环境" /application osloader'
nsExec::Exec 'bcdedit /set ${PEGUID} device ramdisk=[C:]\YXPE\winpe.wim,${GUID}'
nsExec::Exec 'bcdedit /set ${PEGUID} osdevice ramdisk=[C:]\YXPE\winpe.wim,${GUID}'
ReadEnvStr $0 "firmware_type"
${If} $0 == "UEFI"
nsExec::Exec 'bcdedit /set ${PEGUID} path \windows\system32\boot\winload.efi'
${Else}
nsExec::Exec 'bcdedit /set ${PEGUID} path \windows\system32\boot\winload.exe'
${EndIf}
nsExec::Exec 'bcdedit /set ${PEGUID} locale zh-CN'
nsExec::Exec 'bcdedit /set ${PEGUID} systemroot \windows'
nsExec::Exec 'bcdedit /set ${PEGUID} winpe yes'
nsExec::Exec 'bcdedit /set ${PEGUID} detecthal yes'
nsExec::Exec 'bcdedit /displayorder ${PEGUID} /addlast'
nsExec::Exec 'bcdedit /bootsequence ${PEGUID} /addfirst'
nsExec::Exec 'bcdedit /timeout 10'
MessageBox MB_YESNO "立即重启系统进入PE点是!稍后自行重启点否" IDYES true IDNO false
true:
Reboot
false:
Quit
SectionEnd
Function .onInit
BrandingURL::Unload
FunctionEnd
Function MyInstFiles
GetDlgItem $0 $HWNDPARENT 1 ;下一步
ShowWindow $0 ${SW_HIDE}
GetDlgItem $0 $HWNDPARENT 2 ;取消
ShowWindow $0 ${SW_HIDE}
GetDlgItem $1 $HWNDPARENT 3 ;上一步
ShowWindow $1 ${SW_HIDE}
GetDlgItem $0 $HWNDPARENT 1037
SendMessage $0 ${WM_SETTEXT} 0 "STR: "
GetDlgItem $0 $HWNDPARENT 1038
SendMessage $0 ${WM_SETTEXT} 0 "STR:正在下载最新PE文件,请稍候...."
FunctionEnd
Function 'CopyFiles'
GetDlgItem $R0 $HWNDPARENT 1
System::Call 'user32::GetWindowLong(i $hwndparent,i -16)i.r0'
intop $1 0x80000 ~
intop $0 $0 & $1
System::Call 'user32::SetWindowLong(i $hwndparent,i -16,i $0)i'
FunctionEnd
Function onGUIInit
BrandingURL::Set /NOUNLOAD "0" "0" "255" "http://down.jywangluo.cn:88"
FunctionEnd
复制代码
作者:
a66
时间:
7 小时前
支持折腾~~~~~~~~
作者:
路路路过
时间:
7 小时前
感谢大佬分享
作者:
cncecpcy
时间:
6 小时前
好。。。。。。。
作者:
win82
时间:
6 小时前
感谢分享
作者:
wn168cn@163.com
时间:
6 小时前
支持原创
作者:
yhage
时间:
6 小时前
感谢分享脚本
作者:
yzszh64
时间:
5 小时前
感谢,辛苦了。
作者:
hmaaaa
时间:
5 小时前
感謝大大分享!^^ 辛苦了!
作者:
小灰猪
时间:
5 小时前
感谢分享
作者:
董大
时间:
5 小时前
支持原创,谢谢楼主的分享!
作者:
eve0079
时间:
5 小时前
感谢分享
作者:
ouanyu
时间:
4 小时前
支持折腾~~~~~~~~
作者:
xiaozgl119
时间:
4 小时前
谢谢分享
作者:
handsome_xiang
时间:
4 小时前
感谢分享!
作者:
smile_z
时间:
4 小时前
感谢分享
作者:
cncecpcy
时间:
3 小时前
好。。。。。。。。。。
作者:
wang1126
时间:
3 小时前
谢谢楼主分享
作者:
dksoft
时间:
3 小时前
感谢分享
作者:
fegr
时间:
2 小时前
多谢楼主分享
作者:
guong
时间:
2 小时前
感谢分享!
作者:
zainijia
时间:
2 小时前
感谢分享脚本
作者:
简减
时间:
1 小时前
感谢分享
作者:
进士小站
时间:
1 小时前
谢谢分享一定要试试
作者:
阳光海风_1
时间:
1 小时前
感谢大佬分享
作者:
TiAmo51357
时间:
半小时前
看为懂,谢谢!
作者:
lovekix
时间:
半小时前
这是不是 给 系统加了一个 锁
购买 之后 才 可以使用
但是这密码 太单一 (一人购买 其他人也可以 使用把)
作者:
gudezheng
时间:
6 分钟前
感谢分享
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/)
Powered by Discuz! X3.3