2 changed files with 115 additions and 501 deletions
@ -1,501 +0,0 @@ |
|||||
; 安装程序初始定义常量 |
|
||||
!define PRODUCT_NAME "千目容器" |
|
||||
!define PRODUCT_VERSION "V2.1" |
|
||||
!define PRODUCT_PUBLISHER "千目容器" |
|
||||
!define PRODUCT_UNINST_KEY "Software/Microsoft/Windows/CurrentVersion/Uninstall/${PRODUCT_NAME}" |
|
||||
!define PRODUCT_UNINST_ROOT_KEY "HKLM" |
|
||||
!define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir" |
|
||||
|
|
||||
SetCompressor /SOLID lzma |
|
||||
|
|
||||
; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------ |
|
||||
!include "MUI.nsh" |
|
||||
!include "MUI2.nsh" |
|
||||
!include "FileFunc.nsh" |
|
||||
!include "MUI2.nsh" |
|
||||
!include "WinCore.nsh" |
|
||||
!include "WinCore.nsh" |
|
||||
;!include "nsWindows.nsh" |
|
||||
!include "LogicLib.nsh" |
|
||||
!include "TextReplace.nsh" |
|
||||
!include "WordFunc.nsh" |
|
||||
!include "x64.nsh" |
|
||||
;!include "WinVer.nsh" |
|
||||
;!insertmacro MUI_LANGUAGE "simpchinese" |
|
||||
|
|
||||
|
|
||||
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH |
|
||||
|
|
||||
; MUI 预定义常量 |
|
||||
!define MUI_ABORTWARNING |
|
||||
!define MUI_HEADERIMAGE |
|
||||
|
|
||||
!define MUI_ICON "Sources/1000mu.ico" |
|
||||
!define MUI_UNICON "Sources/removico1000mu.ico" |
|
||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "Sources/dlgbmp.bmp" |
|
||||
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "Sources/dlgbmp.bmp" |
|
||||
|
|
||||
#!define MUI_HEADERIMAGE |
|
||||
!define MUI_HEADER_TRANSPARENT_TEXT ;文字背景透明 |
|
||||
!define MUI_HEADERIMAGE_BITMAP "Sources/banner.bmp" ;大小 500X60 |
|
||||
#!define MUI_HEADERIMAGE_UNBITMAP "Sources/orange-uninstall.bmp" |
|
||||
|
|
||||
; ------ 自定义页面 ------ |
|
||||
|
|
||||
Var ipAddress |
|
||||
Var ipAddress1 |
|
||||
Var ipAddress2 |
|
||||
;Var pic_count |
|
||||
Var BGImage |
|
||||
Var MiddleImage ;中间的大Logo |
|
||||
Var ImageHandle |
|
||||
Var disk |
|
||||
Var disk1 |
|
||||
|
|
||||
|
|
||||
|
|
||||
;---------------------------全局编译脚本预定义的常量----------------------------------------------------- |
|
||||
|
|
||||
; 欢迎页面 --- 这里调整页面顺序 --- |
|
||||
!insertmacro MUI_PAGE_WELCOME |
|
||||
; 许可协议页面 |
|
||||
!define MUI_PAGE_HEADER_TEXT "最终用户许可协议" |
|
||||
|
|
||||
!define MUI_PAGE_HEADER_SUBTEXT "您必须接受此协议才能继续安装!" |
|
||||
!insertmacro MUI_PAGE_LICENSE "Sources/License.rtf" |
|
||||
|
|
||||
; 安装目录选择页面 |
|
||||
!insertmacro MUI_PAGE_DIRECTORY |
|
||||
|
|
||||
; 组件选择页面 |
|
||||
;!insertmacro MUI_PAGE_COMPONENTS |
|
||||
|
|
||||
|
|
||||
; 开始菜单设置页面 |
|
||||
var ICONS_GROUP |
|
||||
!define MUI_STARTMENUPAGE_NODISABLE |
|
||||
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "千目容器" |
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" |
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" |
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}" |
|
||||
!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP |
|
||||
|
|
||||
; 安装过程页面 |
|
||||
!define MUI_PAGE_CUSTOMFUNCTION_PRE ExtractFiles ;------------------ 安装过程,图片轮训页面 |
|
||||
!define MUI_PAGE_CUSTOMFUNCTION_SHOW CreateStaticRect |
|
||||
!insertmacro MUI_PAGE_INSTFILES ; 安装过程页面 |
|
||||
|
|
||||
; 安装完成页面 |
|
||||
|
|
||||
!insertmacro MUI_PAGE_FINISH |
|
||||
|
|
||||
|
|
||||
|
|
||||
; 安装卸载过程页面 |
|
||||
!insertmacro MUI_UNPAGE_WELCOME |
|
||||
!insertmacro MUI_UNPAGE_INSTFILES |
|
||||
!insertmacro MUI_UNPAGE_FINISH |
|
||||
|
|
||||
; 安装界面包含的语言设置 |
|
||||
!insertmacro MUI_LANGUAGE "SimpChinese" |
|
||||
; 安装预释放文件 |
|
||||
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS |
|
||||
; ------ MUI 现代界面定义结束 ------ |
|
||||
; ------ 自定义页面 ------ |
|
||||
|
|
||||
;多用户安装 |
|
||||
;使用SetShellVarContext all 将快捷方式创建到alluser的开始菜单中 |
|
||||
;SetShellVarContext all |
|
||||
|
|
||||
;----------------------------------------------------------------------------------------------- |
|
||||
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" |
|
||||
OutFile "千目容器1.0.exe" |
|
||||
InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString" |
|
||||
;ShowInstDetails show |
|
||||
ShowInstDetails NeverShow |
|
||||
ShowUninstDetails show |
|
||||
BrandingText "千目容器" |
|
||||
;获取管理员权限 |
|
||||
RequestExecutionLevel admin |
|
||||
|
|
||||
|
|
||||
Section "驱动程序" SEC01 |
|
||||
nsExec::Exec "$INSTDIR/Uninstall.bat" |
|
||||
SetOutPath "$INSTDIR" |
|
||||
SetOverwrite on |
|
||||
${WordFind2X} ":$INSTDIR" ":" ":" "-1" $R1 ;提取输入的ip,后面function使用 |
|
||||
StrCpy $disk1 $R1 |
|
||||
; MessageBox MB_OK "$disk1" |
|
||||
File /r "IOTContainer/*.*" |
|
||||
; !insertmacro MUI_STARTMENU_WRITE_BEGIN Application |
|
||||
; CreateDirectory "AllPass" |
|
||||
; SetOutPath "$INSTDIR/AllPass.SignalR.Hardware.Client" |
|
||||
; CreateShortCut "$desktop/启动硬件程序.lnk" "$INSTDIR/AllPass.SignalR.Hardware.Client/硬件程序启动脚本_客户端.bat" "" |
|
||||
;!insertmacro MUI_STARTMENU_WRITE_END |
|
||||
SectionIn RO |
|
||||
SectionEnd |
|
||||
|
|
||||
|
|
||||
|
|
||||
Section -AdditionalIcons |
|
||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application |
|
||||
; MessageBox MB_OK "$INSTDIR" |
|
||||
; WriteINIStr "$INSTDIR/${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" |
|
||||
CreateDirectory "$SMPROGRAMS/$ICONS_GROUP" |
|
||||
SetOutPath "$INSTDIR/IOTContainer" |
|
||||
CreateShortCut "$SMPROGRAMS/$ICONS_GROUP/千目容器.lnk" "$INSTDIR/IOTContainer/IOTContainer.exe" |
|
||||
!insertmacro MUI_STARTMENU_WRITE_END |
|
||||
SectionEnd |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
Section -Post |
|
||||
WriteRegStr HKCU "Software/QianMuContainer" "address" $INSTDIR |
|
||||
WriteUninstaller "$INSTDIR/卸载千目应用.exe" |
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" |
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR/卸载千目应用.exe" |
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" |
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "http://www.baidu.com" |
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" |
|
||||
SectionEnd |
|
||||
|
|
||||
|
|
||||
; ------自定更新IIS配置, web.config 配置 |
|
||||
Section -Main |
|
||||
DetailPrint "正在安装,请稍等。" |
|
||||
/* |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
Sleep 10000 |
|
||||
*/ |
|
||||
SectionEnd |
|
||||
|
|
||||
|
|
||||
|
|
||||
Section "服务程序" |
|
||||
;WriteRegStr HKLM Software/Microsoft/Windows/CurrentVersion/Run Shell $INSTDIR/硬件驱动及通信程序/AllPass.SignalR.Hardware.Client/硬件程序启动脚本_客户端.bat |
|
||||
call GetWindowsVersion |
|
||||
Pop $R0 |
|
||||
${If} $R0 == 'XP' |
|
||||
;CopyFiles $SMPROGRAMS/$ICONS_GROUP/千目容器.lnk "C:/Documents and Settings/All users/「开始」菜单/程序/启动" |
|
||||
${ElseIf} $R0 == '2003' |
|
||||
;CopyFiles $SMPROGRAMS/$ICONS_GROUP/千目容器.lnk "C:/Documents and Settings/All users/「开始」菜单/程序/启动" |
|
||||
${Else} |
|
||||
;CopyFiles $SMPROGRAMS/$ICONS_GROUP/千目容器.lnk "C:/ProgramData/Microsoft/Windows/Start Menu/Programs/StartUp" |
|
||||
${EndIf} |
|
||||
SectionIn RO |
|
||||
SectionEnd |
|
||||
|
|
||||
|
|
||||
; 区段组件描述 |
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN |
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "安装文件" |
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${IIS} "驱动安装程序" |
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END |
|
||||
|
|
||||
/****************************** |
|
||||
* 以下是安装程序的卸载部分 * |
|
||||
******************************/ |
|
||||
|
|
||||
|
|
||||
Section Uninstall |
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP |
|
||||
Delete "$SMPROGRAMS/$ICONS_GROUP/软件卸载.lnk" |
|
||||
Delete "$SMPROGRAMS/$ICONS_GROUP/启动硬件程序.lnk" |
|
||||
RMDir /r "$SMPROGRAMS/$ICONS_GROUP" |
|
||||
delete "C:/Documents and Settings/All users/「开始」菜单/程序/启动/千目容器.lnk" |
|
||||
delete "C:/ProgramData/Microsoft/Windows/Start Menu/Programs/StartUp/千目容器.lnk" |
|
||||
|
|
||||
; ${WordFind2X} "/$INSTDIR" "/" "/" "-1" $R1 ;提取输入的ip,后面function使用 |
|
||||
|
|
||||
SetOutPath "$INSTDIR" |
|
||||
nsExec::Exec "$INSTDIR/Uninstall.bat" |
|
||||
RMDir /r "$INSTDIR/IOTContainer" |
|
||||
RMDir /r "$INSTDIR/log" |
|
||||
RMDir /r "$INSTDIR" |
|
||||
delete "$INSTDIR/卸载千目应用.exe" |
|
||||
DeleteRegKey /ifempty HKCU "Software/QianMuContainer" |
|
||||
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" |
|
||||
SectionEnd |
|
||||
|
|
||||
#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--# |
|
||||
|
|
||||
Function un.onInit |
|
||||
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name)及其所有的组件?" IDYES +2 |
|
||||
Abort |
|
||||
FunctionEnd |
|
||||
|
|
||||
Function un.onUninstSuccess |
|
||||
HideWindow |
|
||||
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从您的计算机移除。" |
|
||||
FunctionEnd |
|
||||
|
|
||||
;------------------------------------------------------------------- |
|
||||
|
|
||||
;安装.exe为你想检测的可执行文件 |
|
||||
Function .onInit |
|
||||
; ------ 自定义页面 ------ |
|
||||
|
|
||||
|
|
||||
${GetDrives} "HDD" "FindHDD" |
|
||||
ReadRegStr $INSTDIR HKCU / |
|
||||
"Software/QianMuContainer" address |
|
||||
${If} $INSTDIR == '' |
|
||||
StrCpy $INSTDIR $R2Container |
|
||||
;${Else} |
|
||||
${EndIf} |
|
||||
StrCpy $disk $R2 |
|
||||
;${WordFind2X} ":$disk" ":" ":" "-1" $R1 ;提取输入的ip,后面function使用 |
|
||||
;StrCpy $disk1 $R1 |
|
||||
|
|
||||
File `/ONAME=$PLUGINSDIR/sed.exe` `Sources/sed.exe` |
|
||||
; SectionSetFlags ${autoStart} 0 ; 安装选项,默认勾选 1, 不勾选 0 |
|
||||
#InitPluginsDir |
|
||||
;创建互斥防止重复运行 |
|
||||
|
|
||||
System::Call 'kernel32::CreateMutexA(i 0, i 0, t "$$OutFile") i .r1 ?e' |
|
||||
Pop $R0 |
|
||||
StrCmp $R0 0 +3 |
|
||||
MessageBox MB_OK|MB_ICONEXCLAMATION "有一个安装向导已经运行!" |
|
||||
Abort |
|
||||
FunctionEnd |
|
||||
|
|
||||
Function "FindHDD" |
|
||||
;获取查找到的驱动器盘符($9)可用空间(/D=F)单位兆(/S=M) |
|
||||
${DriveSpace} $9 "/D=F /S=M" $R0 |
|
||||
${If} $R0 > $R1 |
|
||||
StrCpy $R1 $R0 |
|
||||
StrCpy $R2 $9 |
|
||||
${EndIf} |
|
||||
Push $0 |
|
||||
FunctionEnd |
|
||||
|
|
||||
Function GetWindowsVersion |
|
||||
Push $R0 |
|
||||
Push $R1 |
|
||||
ClearErrors |
|
||||
ReadRegStr $R0 HKLM / |
|
||||
"SOFTWARE/Microsoft/Windows NT/CurrentVersion" CurrentVersion |
|
||||
IfErrors 0 lbl_winnt |
|
||||
; we are not NT |
|
||||
ReadRegStr $R0 HKLM / |
|
||||
"SOFTWARE/Microsoft/Windows/CurrentVersion" VersionNumber |
|
||||
StrCpy $R1 $R0 1 |
|
||||
StrCmp $R1 '4' 0 lbl_error |
|
||||
StrCpy $R1 $R0 3 |
|
||||
StrCmp $R1 '4.0' lbl_win32_95 |
|
||||
StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98 |
|
||||
lbl_win32_95: |
|
||||
StrCpy $R0 '95' |
|
||||
Goto lbl_done |
|
||||
lbl_win32_98: |
|
||||
StrCpy $R0 '98' |
|
||||
Goto lbl_done |
|
||||
lbl_win32_ME: |
|
||||
StrCpy $R0 'ME' |
|
||||
Goto lbl_done |
|
||||
lbl_winnt: |
|
||||
StrCpy $R1 $R0 1 |
|
||||
StrCmp $R1 '3' lbl_winnt_x |
|
||||
StrCmp $R1 '4' lbl_winnt_x |
|
||||
StrCpy $R1 $R0 3 |
|
||||
StrCmp $R1 '5.0' lbl_winnt_2000 |
|
||||
StrCmp $R1 '5.1' lbl_winnt_XP |
|
||||
StrCmp $R1 '5.2' lbl_winnt_2003 |
|
||||
StrCmp $R1 '6.0' lbl_winnt_vista |
|
||||
StrCmp $R1 '6.1' lbl_winnt_win7 lbl_error |
|
||||
lbl_winnt_x: |
|
||||
StrCpy $R0 "NT $R0" 6 |
|
||||
Goto lbl_done |
|
||||
lbl_winnt_2000: |
|
||||
Strcpy $R0 '2000' |
|
||||
Goto lbl_done |
|
||||
lbl_winnt_XP: |
|
||||
Strcpy $R0 'XP' |
|
||||
Goto lbl_done |
|
||||
lbl_winnt_2003: |
|
||||
Strcpy $R0 '2003' |
|
||||
Goto lbl_done |
|
||||
lbl_winnt_vista: |
|
||||
Strcpy $R0 'Vista' |
|
||||
Goto lbl_done |
|
||||
lbl_winnt_win7: |
|
||||
Strcpy $R0 'Win7' |
|
||||
Goto lbl_done |
|
||||
lbl_error: |
|
||||
Strcpy $R0 '' |
|
||||
lbl_done: |
|
||||
Pop $R1 |
|
||||
Exch $R0 |
|
||||
FunctionEnd |
|
||||
|
|
||||
Function Replacewebconfig ;更改配置文件 web.config |
|
||||
|
|
||||
ClearErrors |
|
||||
FileOpen $9 "c:/tmp/replace1.bat" w |
|
||||
IfErrors done |
|
||||
FileWrite $9 "@echo off$/r$/n" |
|
||||
FileWrite $9 "setlocal enabledelayedexpansion$/r$/n" |
|
||||
FileWrite $9 "set file=$/"$INSTDIR/IOTContainer/ConUpdate.exe.config$/"$/r$/n" |
|
||||
FileWrite $9 "attrib -H -R %file%$/r$/n" |
|
||||
FileWrite $9 "copy c:/tmp/sed.exe C:/Windows/System32 /y$logPath$/r$/n" |
|
||||
FileWrite $9 "$disk1:$/r$/n" |
|
||||
FileWrite $9 "sed -i $/"s@http://192.168.0.128:8889@$/"$ipAddress$/"@g$/" %file%$logPath$/r$/n" |
|
||||
|
|
||||
FileWrite $9 "echo ----- sed替换 HRCM web.config 替换库和 url ----- $logPath$/r$/n" |
|
||||
|
|
||||
FileClose $9 |
|
||||
done: |
|
||||
${Unless} ${FileExists} "c:/tmp/replace1.bat" |
|
||||
MessageBox MB_OK|MB_ICONSTOP "0replace1writting web.comfig file error!" |
|
||||
Abort |
|
||||
${EndUnless} |
|
||||
|
|
||||
#ExecWait "c:/tmp/replace1.bat" |
|
||||
;不显示黑框框 |
|
||||
nsExec::Exec "c:/tmp/replace1.bat" |
|
||||
|
|
||||
FunctionEnd |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
;--------sql server ---------- |
|
||||
|
|
||||
|
|
||||
; Function GetNextIp |
|
||||
; input: head of stack |
|
||||
; format: 'ip1;ip2;ip3;ip4;' |
|
||||
; output: 'ip1' head of stack |
|
||||
; 'ip2;ip3;ip4;' second entry of stack |
|
||||
|
|
||||
|
|
||||
|
|
||||
; Function CheckIP |
|
||||
; input: IP-address on stack |
|
||||
; output: additional entry on stack |
|
||||
; 1 - LoopBack IP (localhost, indicates no connection to a LAN or to the internet). |
|
||||
; 2 - Automatic Private IP Address (no DHCP server). |
|
||||
; 3 - Network IP. |
|
||||
; 4 - Internet IP. |
|
||||
; Eg: |
|
||||
; Push '192.168.0.100' |
|
||||
; Call CheckIP |
|
||||
; Pop $0 ; Contains '3' |
|
||||
; Pop $1 ; Contains '192.168.0.100' |
|
||||
|
|
||||
|
|
||||
; Function VersionCheck |
|
||||
; input: 'v1', 'v2' on stack |
|
||||
; output 1 - if number 1 is newer |
|
||||
; 2 - if number 2 is newer |
|
||||
; 0 - if it is the same verion |
|
||||
; Eg: |
|
||||
; Push '3.5.1.4' |
|
||||
; Push '3.5' |
|
||||
; Call VersionCheck |
|
||||
; Pop $0 ; now contains 1 |
|
||||
|
|
||||
;------------------------- |
|
||||
|
|
||||
|
|
||||
/* |
|
||||
|
|
||||
Function LEAVE ;按下一步按钮时消隐标题字。图片号+1 |
|
||||
GetDlgItem $0 $HWNDPARENT 1037 |
|
||||
ShowWindow $0 0 |
|
||||
GetDlgItem $0 $HWNDPARENT 1038 |
|
||||
ShowWindow $0 0 |
|
||||
IntOp $pic_count $pic_count + 1 |
|
||||
SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR/$pic_count.bmp" |
|
||||
FunctionEnd |
|
||||
|
|
||||
Function Back ;按上一步按钮时消隐标题字。图片号-1,如果小于1的话不减了 |
|
||||
GetDlgItem $0 $HWNDPARENT 1037 |
|
||||
ShowWindow $0 0 |
|
||||
GetDlgItem $0 $HWNDPARENT 1038 |
|
||||
ShowWindow $0 0 |
|
||||
IntCmp $pic_count 1 +2 +2 +1 |
|
||||
IntOp $pic_count $pic_count - 1 |
|
||||
SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR/$pic_count.bmp" |
|
||||
FunctionEnd |
|
||||
|
|
||||
Function GUIINIT |
|
||||
GetFunctionAddress $R0 Back |
|
||||
ButtonEvent::AddEventHandler /NOUNLOAD 3 $R0 |
|
||||
|
|
||||
SetOutPath $PLUGINSDIR ;释放图片 |
|
||||
File "Sources/*.bmp" |
|
||||
|
|
||||
SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR/1.bmp" ;先出第一张图片 |
|
||||
StrCpy $pic_count 1 ;图片序号1 |
|
||||
FunctionEnd |
|
||||
*/ |
|
||||
;--------------------------- |
|
||||
|
|
||||
|
|
||||
;处理无边框移动 |
|
||||
Function onGUICallback |
|
||||
${If} $MSG = ${WM_LBUTTONDOWN} |
|
||||
SendMessage $HWNDPARENT ${WM_NCLBUTTONDOWN} ${HTCAPTION} $0 |
|
||||
${EndIf} |
|
||||
FunctionEnd |
|
||||
|
|
||||
;------------------------ |
|
||||
|
|
||||
|
|
||||
;------------------------------ |
|
||||
|
|
||||
Function ExtractFiles |
|
||||
InitPluginsDir |
|
||||
File /oname=$PLUGINSDIR/index.htm Sources/index.htm |
|
||||
File /oname=$PLUGINSDIR/1.jpg Sources/1.jpg |
|
||||
File /oname=$PLUGINSDIR/2.jpg Sources/2.jpg |
|
||||
File /oname=$PLUGINSDIR/3.jpg Sources/3.jpg |
|
||||
File /oname=$PLUGINSDIR/4.jpg Sources/4.jpg |
|
||||
FunctionEnd |
|
||||
Function CreateStaticRect |
|
||||
System::Call `*(i,i,i,i)i(0,24,300,116).R0` |
|
||||
System::Call `user32::MapDialogRect(i$HWNDPARENT,iR0)` |
|
||||
System::Call `*$R0(i.s,i.s,i.s,i.s)` |
|
||||
System::Free $R0 |
|
||||
FindWindow $R0 "#32770" "" $HWNDPARENT |
|
||||
System::Call `user32::CreateWindowEx(i,t"STATIC",in,i${DEFAULT_STYLES}|${SS_BLACKRECT},is,is,is,is,iR0,i1100,in,in)i.R0` |
|
||||
# 轮换图片效果由 HTML 所实现,此处仅适用插件来显示网页。 |
|
||||
WebCtrl::ShowWebInCtrl $R0 "$PLUGINSDIR/index.htm" |
|
||||
FunctionEnd |
|
||||
|
|
||||
|
|
||||
@ -0,0 +1,115 @@ |
|||||
|
; �ýű�ʹ�� HM VNISEdit �ű��༭������ |
||||
|
|
||||
|
; ��װ�����ʼ���峣�� |
||||
|
!define PRODUCT_NAME "qm" |
||||
|
!define PRODUCT_VERSION "1.0" |
||||
|
!define PRODUCT_PUBLISHER "qm, Inc." |
||||
|
!define PRODUCT_WEB_SITE "https://www.1000mu.com" |
||||
|
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\AppMainExe.exe" |
||||
|
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" |
||||
|
!define PRODUCT_UNINST_ROOT_KEY "HKLM" |
||||
|
|
||||
|
SetCompressor lzma |
||||
|
|
||||
|
; ------ MUI �ִ����涨�� (1.67 �汾���ϼ���) ------ |
||||
|
!include "MUI.nsh" |
||||
|
|
||||
|
; MUI Ԥ���峣�� |
||||
|
!define MUI_ABORTWARNING |
||||
|
!define MUI_ICON "1000mu.ico" |
||||
|
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" |
||||
|
|
||||
|
; ��ӭҳ�� |
||||
|
!insertmacro MUI_PAGE_WELCOME |
||||
|
; ����Э��ҳ�� |
||||
|
!define MUI_LICENSEPAGE_CHECKBOX |
||||
|
!insertmacro MUI_PAGE_LICENSE "License.rtf" |
||||
|
; ��װĿ¼ѡ��ҳ�� |
||||
|
!insertmacro MUI_PAGE_DIRECTORY |
||||
|
; ��װ����ҳ�� |
||||
|
!insertmacro MUI_PAGE_INSTFILES |
||||
|
; ��װ���ҳ�� |
||||
|
!define MUI_FINISHPAGE_RUN "$INSTDIR\AppMainExe.exe" |
||||
|
!insertmacro MUI_PAGE_FINISH |
||||
|
|
||||
|
; ��װж�ع���ҳ�� |
||||
|
!insertmacro MUI_UNPAGE_INSTFILES |
||||
|
|
||||
|
; ��װ����������������� |
||||
|
!insertmacro MUI_LANGUAGE "SimpChinese" |
||||
|
|
||||
|
; ��װԤ�ͷ��ļ� |
||||
|
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS |
||||
|
; ------ MUI �ִ����涨����� ------ |
||||
|
|
||||
|
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" |
||||
|
OutFile "Setup.exe" |
||||
|
InstallDir "$PROGRAMFILES\qm" |
||||
|
InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString" |
||||
|
ShowInstDetails show |
||||
|
ShowUnInstDetails show |
||||
|
BrandingText " " |
||||
|
|
||||
|
Section "MainSection" SEC01 |
||||
|
SetOutPath "$INSTDIR" |
||||
|
SetOverwrite ifnewer |
||||
|
;File "..\..\..\..\..\..\path\to\file\AppMainExe.exe" |
||||
|
File /r "IOTContainer\*.*" |
||||
|
CreateDirectory "$SMPROGRAMS\qm" |
||||
|
CreateShortCut "$SMPROGRAMS\qm\qm.lnk" "$INSTDIR\AppMainExe.exe" |
||||
|
CreateShortCut "$DESKTOP\qm.lnk" "$INSTDIR\AppMainExe.exe" |
||||
|
;File "..\..\..\..\..\..\path\to\file\Example.file" |
||||
|
SectionEnd |
||||
|
|
||||
|
Section -AdditionalIcons |
||||
|
WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" |
||||
|
CreateShortCut "$SMPROGRAMS\qm\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" |
||||
|
CreateShortCut "$SMPROGRAMS\qm\Uninstall.lnk" "$INSTDIR\uninst.exe" |
||||
|
SectionEnd |
||||
|
|
||||
|
Section -Post |
||||
|
WriteUninstaller "$INSTDIR\uninst.exe" |
||||
|
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\AppMainExe.exe" |
||||
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" |
||||
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" |
||||
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\AppMainExe.exe" |
||||
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" |
||||
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" |
||||
|
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" |
||||
|
SectionEnd |
||||
|
|
||||
|
/****************************** |
||||
|
* �����ǰ�װ�����ж�ز��� * |
||||
|
******************************/ |
||||
|
|
||||
|
Section Uninstall |
||||
|
Delete "$INSTDIR\${PRODUCT_NAME}.url" |
||||
|
Delete "$INSTDIR\uninst.exe" |
||||
|
Delete "$INSTDIR\Example.file" |
||||
|
Delete "$INSTDIR\AppMainExe.exe" |
||||
|
|
||||
|
Delete "$SMPROGRAMS\qm\Uninstall.lnk" |
||||
|
Delete "$SMPROGRAMS\qm\Website.lnk" |
||||
|
Delete "$DESKTOP\qm.lnk" |
||||
|
Delete "$SMPROGRAMS\qm\qm.lnk" |
||||
|
|
||||
|
RMDir "$SMPROGRAMS\qm" |
||||
|
|
||||
|
RMDir "$INSTDIR" |
||||
|
|
||||
|
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" |
||||
|
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" |
||||
|
SetAutoClose true |
||||
|
SectionEnd |
||||
|
|
||||
|
#-- ���� NSIS �ű��༭�������� Function ���α�������� Section ����֮���д���Ա��ⰲװ�������δ��Ԥ֪�����⡣--# |
||||
|
|
||||
|
Function un.onInit |
||||
|
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "��ȷʵҪ��ȫ�Ƴ� $(^Name) ���������е������" IDYES +2 |
||||
|
Abort |
||||
|
FunctionEnd |
||||
|
|
||||
|
Function un.onUninstSuccess |
||||
|
HideWindow |
||||
|
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) �ѳɹ��ش����ļ�����Ƴ���" |
||||
|
FunctionEnd |
||||
Loading…
Reference in new issue