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