|
正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- ;包含插件位置
- !addplugindir "."
- !AddIncludeDir "."
- ;保存HKCU的位置
- var HKCUPATH
- /******************************程序信息*********************************/
- !define PRODUCT_NAME "CorelDRAW X4 14.0.0.653 精简版"
- !define PRODUCT_VERSION ""
- !define PRODUCT_PUBLISHER "音乐杀手"
- ;压缩方式
- SetCompressor lzma
- ;包含的头文件
- !include "MUI.nsh"
- !include "UsefulLib.nsh"
- ;加入逻辑库 支持条件判断 循环语句 注意 if 之类语句必须要写成 ${if}
- !include "LogicLib.nsh"
-
- ;水纹效果插件位置
- ReserveFile "F:\bak\2d\CorelDRAW X4 精简版\waterctrl.dll"
- ;加入水纹效果
- !define MUI_PAGE_CUSTOMFUNCTION_Pre pre
- !define MUI_PAGE_CUSTOMFUNCTION_LEAVE leave
- /******************************安装界面设置*********************************/
- ;描述框在下面的小型安装界面
- !define MUI_COMPONENTSPAGE_SMALLDESC
- /******************************相关图标的位置*********************************/
- !define MUI_ABORTWARNING
- !define MUI_ICON "F:\bak\2d\CorelDRAW X4 精简版\安装图标\CD48.ICO"
- !define MUI_UNICON "F:\bak\2d\CorelDRAW X4 精简版\安装图标\CD48.ICO"
- !define MUI_WELCOMEFINISHPAGE_BITMAP "F:\bak\2d\CorelDRAW X4 精简版\安装图标\LOGOLEFT.bmp"
- ;加入头图片
- !define MUI_HEADERIMAGE
- ;设置要显示的图片,默认为左边的图片, 右边的图片名为 MYLOGOTOPRIGHT.bmp
- !define MUI_HEADERIMAGE_BITMAP "F:\bak\2d\CorelDRAW X4 精简版\安装图标\LOGOTOPRIGHT.bmp"
- ;图标放右边
- !define MUI_HEADERIMAGE_RIGHT
- ;欢迎页面加上生成日期
- !define MUI_WELCOMEPAGE_TITLE "CorelDRAW X4 精简版安装向导"
- /******************************页面显示顺序(新式界面)*********************************/
- ; 欢迎页面
- !insertmacro MUI_PAGE_WELCOME
- ;安装目录选择
- !insertmacro MUI_PAGE_DIRECTORY
- ;组件选择
- !insertmacro MUI_PAGE_COMPONENTS
- ; 安装过程页面
- !insertmacro MUI_PAGE_INSTFILES
- ;完成页面显示 运行程序
- ; !define MUI_FINISHPAGE_RUN_TEXT "运行CorelDRAW X4 精简版"
- ;运行程序的位置
- ; !define MUI_FINISHPAGE_RUN "$INSTDIR\Programs\CorelDRW.exe"
- ;加入水纹效果
- !define MUI_PAGE_CUSTOMFUNCTION_Pre pre
- !define MUI_PAGE_CUSTOMFUNCTION_LEAVE leave
- ;完成页面
- !insertmacro MUI_PAGE_FINISH
-
- ; 安装卸载过程页面
- !insertmacro MUI_UNPAGE_INSTFILES
- ;安装程序的语言
- !insertmacro MUI_LANGUAGE "SimpChinese"
- ;Reserve files
- ; !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
- /******************************页面通用属性设置(新式界面)*********************************/
- Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
- OutFile "CorelDRAW X4 精简版.exe"
- BrandingText "赢政天下----音乐杀手制作"
- ;显示详细安装信息
- ShowInstDetails Show
- InstallDir "$PROGRAMFILES\CorelDRAW X4"
- ; CheckBitmap F:\BAK\安装\NSIS\图标\Check.bmp
- ; 激活安装日志记录,该日志文件将会作为卸载文件的依据(注意,本区段必须放置在所有区段之前)
- Section "-LogSetOn"
- LogSet on
- SectionEnd
- /******************************安装组件*********************************/
- Section "主程序"
- ;安装类型为只读
- SectionIn RO
- ;覆盖方式
- SetOverwrite try
- SetOutPath "$INSTDIR"
- File /r "F:\bak\2d\CorelDRAW X4 精简版\CorelDRAW X4\*.*"
- SetOutPath "$PROFILE"
- File /r "F:\bak\2D\CorelDRAW X4 精简版\工作区\*.*"
- SetOutPath "$COMMONFILES"
- File /r "F:\bak\2D\CorelDRAW X4 精简版\Common Files\*.*"
- SectionEnd
- Section "-创建快捷方式"
- CreateShortCut "$DESKTOP\CorelDRAW X4 精简版.lnk" "$INSTDIR\Programs\CorelDRW.exe"
- CreateDirectory "$SMPROGRAMS\CorelDRAW X4 精简版"
- CreateShortCut "$SMPROGRAMS\CorelDRAW X4 精简版\CorelDRAW X4 精简版.lnk" "$INSTDIR\Programs\CorelDRW.exe"
- CreateShortCut "$SMPROGRAMS\CorelDRAW X4 精简版\CorelDraw 9 文件转换器.lnk" "$INSTDIR\Programs\CoreDraw9.exe"
- CreateShortCut "$SMPROGRAMS\CorelDRAW X4 精简版\双面打印向导.lnk" "$INSTDIR\Programs\PrintWiz.exe"
- CreateShortCut "$SMPROGRAMS\CorelDRAW X4 精简版\条形码制作工具.lnk" "$INSTDIR\Programs\BarCode.exe"
- CreateShortCut "$SMPROGRAMS\CorelDRAW X4 精简版\SB Profiler.lnk" "$INSTDIR\Programs\CSBProf.exe"
- ; CreateShortCut "$SMPROGRAMS\CorelDRAW X4 精简版\注册机.lnk" "$INSTDIR\Programs\keygen.exe"
- CreateShortCut "$SMPROGRAMS\CorelDRAW X4 精简版\卸载.lnk" "$INSTDIR\uninst.exe"
- SectionEnd
- Section "以缩略图方式显示CDR文件"
- ReadRegStr $1 HKLM "SOFTWARE\Classes\.CDR" ""
- WriteRegStr HKCR ".cdr" "" "$1"
- WriteRegStr HKCR ".cdr\ShellNew" "NullFile" ""
- WriteRegStr HKCR ".cdr\ShellNew" "" "$1"
- WriteRegStr HKCR ".cdx\ShellNew" "" "$1"
- WriteRegStr HKCR ".cdx\ShellNew" "Default Backup" "aspfile"
- WriteRegStr HKCR ".CMX\ShellNew" "" "$1"
- WriteRegStr HKCR ".CMX\ShellNew" "Default Backup" "$1"
- WriteRegStr HKCR ".cpt\ShellNew" "" "$1"
- WriteRegStr HKCR ".cpt\ShellNew" "Default Backup" "$1"
- WriteRegStr HKCR ".CPX\ShellNew" "" "$1"
- WriteRegStr HKCR ".CSL\ShellNew" "" "$1"
- WriteRegStr HKCR ".DRW\ShellNew" "" "$1"
- WriteRegStr HKCR ".DS4\ShellNew" "" "$1"
- WriteRegStr HKCR ".DSF\ShellNew" "" "$1"
- WriteRegStr HKCR ".PRN\ShellNew" "" "$1"
- WriteRegStr HKCR ".WP\ShellNew" "" "$1"
- WriteRegStr HKCR ".WP4\ShellNew" "" "$1"
- WriteRegStr HKCR ".WP5\ShellNew" "" "$1"
- WriteRegStr HKCR ".WP6\ShellNew" "" "$1"
- WriteRegStr HKCR ".wpd\ShellNew" "" "$1"
- WriteRegStr HKCR ".wpg\ShellNew" "" "$1"
- WriteRegStr HKCR ".WQ1\ShellNew" "" "$1"
- WriteRegStr HKCR ".WSD\ShellNew" "" "$1"
- WriteRegStr HKCR "$1\ShellEx\IconHandler" "" "{BF735767-E6DA-11cf-AB9B-00C0F00683EB}"
- WriteRegStr HKCR "CLSID\{BF735767-E6DA-11cf-AB9B-00C0F00683EB}" "" "Corel CDR Icon Handler"
- WriteRegStr HKCR "CLSID\{BF735765-E6DA-11cf-AB9B-00C0F00683EB}\InProcServer32" "" "$INSTDIR\PROGRAMS\CdrIco.DLL"
- WriteRegStr HKCR "CLSID\{BF735767-E6DA-11cf-AB9B-00C0F00683EB}\InProcServer32" "ThreadingModel" "Apartment"
- WriteRegStr HKCR "CLSID\{BF735767-E6DA-11cf-AB9B-00C0F00683EB}\ShellEx\IconHandler" "" "{BF735767-E6DA-11cf-AB9B-00C0F00683EB}"
- SectionEnd
- SectionGroup /e "X4必要的系统程序"
- Section "MSXML6.0"
- SetOverwrite on
- SetOutPath "$INSTDIR"
- File /r "F:\bak\2d\CorelDRAW X4 精简版\msxml6.msi"
- Execwait 'msiexec /qn /i "$INSTDIR\msxml6.msi"'
- SectionEnd
- Section "VC++ 2005运行库(x86)"
- SetOverwrite on
- SetOutPath "$INSTDIR\VC++ 2005"
- File /r "F:\bak\2d\CorelDRAW X4 精简版\VC++ 2005\*.*"
- Execwait 'msiexec /qn /i "$INSTDIR\VC++ 2005\VC++ 2005.msi"' $0
- ${IF} $0 != 0
- Messagebox MB_YESNO|MB_ICONSTOP "VC++ 2005运行库安装失败 要手动安装VC++ 2005.msi么?" IDYES VCtrue IDNO VCfalse
- VCtrue:
- ExecShell "open" "$INSTDIR\VC++ 2005"
- goto done
- VCfalse:
- done:
- ${EndIF}
- SectionEnd
- SectionGroupEnd
- /******************************
- * 以下是安装程序的卸载部分 *
- ******************************/
- Section -Post
- WriteUninstaller "$INSTDIR\uninst.exe"
- SectionEnd
- ; 根据安装日志卸载文件的调用宏
- !macro DelFileByLog LogFile
- ifFileExists `${LogFile}` 0 +4
- Push `${LogFile}`
- Call un.DelFileByLog
- Delete `${LogFile}`
- !macroend
- Section Uninstall
- ; 调用宏只根据安装日志卸载安装程序自己安装过的文件
- !insertmacro DelFileByLog "$INSTDIR\install.log"
- ; 清除安装程序创建的且在卸载时可能为空的子目录,对于递归添加的文件目录,请由最内层的子目录开始清除(注意,不要带 /r 参数,否则会失去 DelFileByLog 的意义)
- RMDir "$SMPROGRAMS\My application"
- RMDir /r "$INSTDIR"
- SetAutoClose true
- SectionEnd
- #-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
- /******************************函数区*********************************/
- Function .onInit
- ;防止多个安装程序运行
- System::Call 'kernel32::CreateMutexA(i 0, i 0, t "CorelDRAW X4") i .r1 ?e'
- Pop $R0
- StrCmp $R0 0 +3
- MessageBox MB_OK|MB_ICONEXCLAMATION "安装程序已经在运行。"
- Abort
- ;初始化水纹效果
- InitPluginsDir
- SetOutPath $PLUGINSDIR
- ;水纹效果插件位置
- File "F:\bak\2d\CorelDRAW X4 精简版\waterctrl.dll"
- SetRebootFlag true
- FunctionEnd
- /*************************************水纹效果 函数*************************************/
- Function Pre
- ;设置水纹范围的大小 0,0,55,0x2010 55为高度
- System::Call 'user32::LoadImage(i,t,i,i,i,i,) i (0,"$PLUGINSDIR\modern-wizard.bmp",0,0,0,0x2010) .s'
- Pop $R0
- ;设置水纹效果的位置 350,0,$R0,10,10 350水平位置 垂直位置5 水波大小长10 宽10
- System::Call '$PLUGINSDIR\waterctrl::enablewater(i,i,i,i,i,i) i ($HWNDPARENT,0,0,$R0,3,50)'
- System::Call '$PLUGINSDIR\waterctrl::setwaterparent(i $HWNDPARENT)'
- System::Call '$PLUGINSDIR\waterctrl::flattenwater()'
- ;设置水纹 50为初始水纹的水平位置 180为垂直位置 10为振幅大小 1000为强度
- System::Call '$PLUGINSDIR\waterctrl::waterblob(i,i,i,i) i (50,180,10,1000)'
- FunctionEnd
- Function leave
- System::Call '$PLUGINSDIR\waterctrl::disablewater()'
- FunctionEnd
- /*************************************水纹效果 函数*************************************/
- Function .onGUIEnd
- ;释放水纹效果
- SetPluginUnload manual
- waterctrl::disablewater
- System::Free
- FunctionEnd
- 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
- ; 以下是卸载程序通过安装日志卸载文件的专用函数,请不要随意修改
- Function un.DelFileByLog
- Exch $R0
- Push $R1
- Push $R2
- Push $R3
- FileOpen $R0 $R0 r
- ${Do}
- FileRead $R0 $R1
- ${IfThen} $R1 == `` ${|} ${ExitDo} ${|}
- StrCpy $R1 $R1 -2
- StrCpy $R2 $R1 11
- StrCpy $R3 $R1 20
- ${If} $R2 == "File: wrote"
- ${OrIf} $R2 == "File: skipp"
- ${OrIf} $R3 == "CreateShortCut: out:"
- ${OrIf} $R3 == "created uninstaller:"
- Push $R1
- Push `"`
- Call un.DelFileByLog.StrLoc
- Pop $R2
- ${If} $R2 != ""
- IntOp $R2 $R2 + 1
- StrCpy $R3 $R1 "" $R2
- Push $R3
- Push `"`
- Call un.DelFileByLog.StrLoc
- Pop $R2
- ${If} $R2 != ""
- StrCpy $R3 $R3 $R2
- Delete /REBOOTOK $R3
- ${EndIf}
- ${EndIf}
- ${EndIf}
- StrCpy $R2 $R1 7
- ${If} $R2 == "Rename:"
- Push $R1
- Push "->"
- Call un.DelFileByLog.StrLoc
- Pop $R2
- ${If} $R2 != ""
- IntOp $R2 $R2 + 2
- StrCpy $R3 $R1 "" $R2
- Delete /REBOOTOK $R3
- ${EndIf}
- ${EndIf}
- ${Loop}
- FileClose $R0
- Pop $R3
- Pop $R2
- Pop $R1
- Pop $R0
- FunctionEnd
- Function un.DelFileByLog.StrLoc
- Exch $R0
- Exch
- Exch $R1
- Push $R2
- Push $R3
- Push $R4
- Push $R5
- StrLen $R2 $R0
- StrLen $R3 $R1
- StrCpy $R4 0
- ${Do}
- StrCpy $R5 $R1 $R2 $R4
- ${If} $R5 == $R0
- ${OrIf} $R4 = $R3
- ${ExitDo}
- ${EndIf}
- IntOp $R4 $R4 + 1
- ${Loop}
- ${If} $R4 = $R3
- StrCpy $R0 ""
- ${Else}
- StrCpy $R0 $R4
- ${EndIf}
- Pop $R5
- Pop $R4
- Pop $R3
- Pop $R2
- Pop $R1
- Exch $R0
- FunctionEnd
复制代码
|
|