杉宫竹苑工作室

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2452|回复: 0

CorelDRAW X4 14.0.0.653 精简版

[复制链接]
发表于 2017-2-26 15:00:50 | 显示全部楼层 |阅读模式

正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. ;包含插件位置
  2. !addplugindir "."
  3. !AddIncludeDir "."

  4. ;保存HKCU的位置
  5. var HKCUPATH
  6. /******************************程序信息*********************************/
  7.   !define       PRODUCT_NAME "CorelDRAW X4 14.0.0.653 精简版"
  8.   !define       PRODUCT_VERSION ""
  9.   !define       PRODUCT_PUBLISHER "音乐杀手"
  10. ;压缩方式
  11.   SetCompressor lzma
  12. ;包含的头文件
  13.   !include "MUI.nsh"
  14.   !include "UsefulLib.nsh"
  15. ;加入逻辑库 支持条件判断 循环语句 注意 if 之类语句必须要写成 ${if}
  16.   !include "LogicLib.nsh"
  17.   
  18. ;水纹效果插件位置
  19. ReserveFile "F:\bak\2d\CorelDRAW X4 精简版\waterctrl.dll"
  20. ;加入水纹效果
  21. !define MUI_PAGE_CUSTOMFUNCTION_Pre pre
  22. !define MUI_PAGE_CUSTOMFUNCTION_LEAVE leave

  23. /******************************安装界面设置*********************************/
  24. ;描述框在下面的小型安装界面
  25.   !define MUI_COMPONENTSPAGE_SMALLDESC

  26. /******************************相关图标的位置*********************************/
  27.   !define       MUI_ABORTWARNING
  28.   !define       MUI_ICON "F:\bak\2d\CorelDRAW X4 精简版\安装图标\CD48.ICO"
  29.   !define       MUI_UNICON "F:\bak\2d\CorelDRAW X4 精简版\安装图标\CD48.ICO"
  30.   !define       MUI_WELCOMEFINISHPAGE_BITMAP "F:\bak\2d\CorelDRAW X4 精简版\安装图标\LOGOLEFT.bmp"
  31. ;加入头图片
  32.   !define       MUI_HEADERIMAGE
  33. ;设置要显示的图片,默认为左边的图片, 右边的图片名为 MYLOGOTOPRIGHT.bmp
  34.   !define       MUI_HEADERIMAGE_BITMAP "F:\bak\2d\CorelDRAW X4 精简版\安装图标\LOGOTOPRIGHT.bmp"
  35. ;图标放右边
  36.   !define       MUI_HEADERIMAGE_RIGHT
  37. ;欢迎页面加上生成日期
  38.   !define       MUI_WELCOMEPAGE_TITLE "CorelDRAW X4 精简版安装向导"

  39. /******************************页面显示顺序(新式界面)*********************************/
  40. ; 欢迎页面
  41.   !insertmacro  MUI_PAGE_WELCOME
  42. ;安装目录选择
  43.   !insertmacro  MUI_PAGE_DIRECTORY
  44. ;组件选择
  45.   !insertmacro  MUI_PAGE_COMPONENTS
  46. ; 安装过程页面
  47.   !insertmacro  MUI_PAGE_INSTFILES
  48. ;完成页面显示 运行程序
  49. ;  !define MUI_FINISHPAGE_RUN_TEXT "运行CorelDRAW X4 精简版"
  50. ;运行程序的位置
  51. ;  !define MUI_FINISHPAGE_RUN "$INSTDIR\Programs\CorelDRW.exe"
  52. ;加入水纹效果
  53. !define MUI_PAGE_CUSTOMFUNCTION_Pre pre
  54. !define MUI_PAGE_CUSTOMFUNCTION_LEAVE leave
  55. ;完成页面
  56.   !insertmacro  MUI_PAGE_FINISH
  57.   
  58. ; 安装卸载过程页面
  59.   !insertmacro MUI_UNPAGE_INSTFILES

  60. ;安装程序的语言
  61.   !insertmacro MUI_LANGUAGE "SimpChinese"
  62. ;Reserve files
  63. ;  !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS

  64. /******************************页面通用属性设置(新式界面)*********************************/
  65.   Name                  "${PRODUCT_NAME} ${PRODUCT_VERSION}"
  66.   OutFile               "CorelDRAW X4 精简版.exe"
  67.   BrandingText          "赢政天下----音乐杀手制作"
  68. ;显示详细安装信息
  69.   ShowInstDetails Show
  70.   InstallDir "$PROGRAMFILES\CorelDRAW X4"
  71. ;  CheckBitmap F:\BAK\安装\NSIS\图标\Check.bmp

  72. ; 激活安装日志记录,该日志文件将会作为卸载文件的依据(注意,本区段必须放置在所有区段之前)
  73. Section "-LogSetOn"
  74.   LogSet on
  75. SectionEnd

  76. /******************************安装组件*********************************/

  77. Section "主程序"

  78. ;安装类型为只读
  79.   SectionIn  RO
  80. ;覆盖方式
  81.   SetOverwrite try
  82.   SetOutPath "$INSTDIR"

  83.   File /r "F:\bak\2d\CorelDRAW X4 精简版\CorelDRAW X4\*.*"

  84.   SetOutPath "$PROFILE"
  85.   File /r "F:\bak\2D\CorelDRAW X4 精简版\工作区\*.*"

  86.   SetOutPath "$COMMONFILES"
  87.   File /r "F:\bak\2D\CorelDRAW X4 精简版\Common Files\*.*"

  88.   SectionEnd

  89. Section "-创建快捷方式"
  90.   CreateShortCut "$DESKTOP\CorelDRAW X4 精简版.lnk" "$INSTDIR\Programs\CorelDRW.exe"
  91.   CreateDirectory "$SMPROGRAMS\CorelDRAW X4 精简版"
  92.   CreateShortCut "$SMPROGRAMS\CorelDRAW X4 精简版\CorelDRAW X4 精简版.lnk" "$INSTDIR\Programs\CorelDRW.exe"
  93.   CreateShortCut "$SMPROGRAMS\CorelDRAW X4 精简版\CorelDraw 9 文件转换器.lnk" "$INSTDIR\Programs\CoreDraw9.exe"
  94.   CreateShortCut "$SMPROGRAMS\CorelDRAW X4 精简版\双面打印向导.lnk" "$INSTDIR\Programs\PrintWiz.exe"
  95.   CreateShortCut "$SMPROGRAMS\CorelDRAW X4 精简版\条形码制作工具.lnk" "$INSTDIR\Programs\BarCode.exe"
  96.   CreateShortCut "$SMPROGRAMS\CorelDRAW X4 精简版\SB Profiler.lnk" "$INSTDIR\Programs\CSBProf.exe"
  97. ;  CreateShortCut "$SMPROGRAMS\CorelDRAW X4 精简版\注册机.lnk" "$INSTDIR\Programs\keygen.exe"
  98.   CreateShortCut "$SMPROGRAMS\CorelDRAW X4 精简版\卸载.lnk" "$INSTDIR\uninst.exe"
  99. SectionEnd

  100. Section "以缩略图方式显示CDR文件"
  101.   ReadRegStr $1 HKLM "SOFTWARE\Classes\.CDR" ""

  102.   WriteRegStr HKCR ".cdr" "" "$1"
  103.   WriteRegStr HKCR ".cdr\ShellNew" "NullFile" ""

  104.   WriteRegStr HKCR ".cdr\ShellNew" "" "$1"
  105.   WriteRegStr HKCR ".cdx\ShellNew" "" "$1"
  106.   WriteRegStr HKCR ".cdx\ShellNew" "Default Backup" "aspfile"
  107.   WriteRegStr HKCR ".CMX\ShellNew" "" "$1"
  108.   WriteRegStr HKCR ".CMX\ShellNew" "Default Backup" "$1"
  109.   WriteRegStr HKCR ".cpt\ShellNew" "" "$1"
  110.   WriteRegStr HKCR ".cpt\ShellNew" "Default Backup" "$1"
  111.   WriteRegStr HKCR ".CPX\ShellNew" "" "$1"
  112.   WriteRegStr HKCR ".CSL\ShellNew" "" "$1"
  113.   WriteRegStr HKCR ".DRW\ShellNew" "" "$1"
  114.   WriteRegStr HKCR ".DS4\ShellNew" "" "$1"
  115.   WriteRegStr HKCR ".DSF\ShellNew" "" "$1"
  116.   WriteRegStr HKCR ".PRN\ShellNew" "" "$1"
  117.   WriteRegStr HKCR ".WP\ShellNew" "" "$1"
  118.   WriteRegStr HKCR ".WP4\ShellNew" "" "$1"
  119.   WriteRegStr HKCR ".WP5\ShellNew" "" "$1"
  120.   WriteRegStr HKCR ".WP6\ShellNew" "" "$1"
  121.   WriteRegStr HKCR ".wpd\ShellNew" "" "$1"
  122.   WriteRegStr HKCR ".wpg\ShellNew" "" "$1"
  123.   WriteRegStr HKCR ".WQ1\ShellNew" "" "$1"
  124.   WriteRegStr HKCR ".WSD\ShellNew" "" "$1"

  125.   WriteRegStr HKCR "$1\ShellEx\IconHandler" "" "{BF735767-E6DA-11cf-AB9B-00C0F00683EB}"
  126.   WriteRegStr HKCR "CLSID\{BF735767-E6DA-11cf-AB9B-00C0F00683EB}" "" "Corel CDR Icon Handler"
  127.   WriteRegStr HKCR "CLSID\{BF735765-E6DA-11cf-AB9B-00C0F00683EB}\InProcServer32" "" "$INSTDIR\PROGRAMS\CdrIco.DLL"
  128.   WriteRegStr HKCR "CLSID\{BF735767-E6DA-11cf-AB9B-00C0F00683EB}\InProcServer32" "ThreadingModel" "Apartment"
  129.   WriteRegStr HKCR "CLSID\{BF735767-E6DA-11cf-AB9B-00C0F00683EB}\ShellEx\IconHandler" "" "{BF735767-E6DA-11cf-AB9B-00C0F00683EB}"

  130. SectionEnd

  131. SectionGroup /e "X4必要的系统程序"
  132.   Section "MSXML6.0"
  133.     SetOverwrite on
  134.     SetOutPath "$INSTDIR"
  135.     File /r "F:\bak\2d\CorelDRAW X4 精简版\msxml6.msi"
  136.     Execwait 'msiexec /qn /i "$INSTDIR\msxml6.msi"'
  137.   SectionEnd

  138.   Section "VC++ 2005运行库(x86)"
  139.     SetOverwrite on
  140.     SetOutPath "$INSTDIR\VC++ 2005"
  141.     File /r "F:\bak\2d\CorelDRAW X4 精简版\VC++ 2005\*.*"

  142.     Execwait 'msiexec /qn /i "$INSTDIR\VC++ 2005\VC++ 2005.msi"'  $0
  143.     ${IF} $0 != 0
  144.       Messagebox MB_YESNO|MB_ICONSTOP "VC++ 2005运行库安装失败 要手动安装VC++ 2005.msi么?" IDYES VCtrue IDNO VCfalse
  145.       VCtrue:
  146.        ExecShell "open" "$INSTDIR\VC++ 2005"
  147.        goto done
  148.       VCfalse:
  149.       done:
  150.     ${EndIF}
  151.   SectionEnd
  152. SectionGroupEnd

  153. /******************************
  154. *  以下是安装程序的卸载部分  *
  155. ******************************/
  156. Section -Post
  157.   WriteUninstaller "$INSTDIR\uninst.exe"
  158. SectionEnd

  159. ; 根据安装日志卸载文件的调用宏
  160. !macro DelFileByLog LogFile
  161.   ifFileExists `${LogFile}` 0 +4
  162.     Push `${LogFile}`
  163.     Call un.DelFileByLog
  164.     Delete `${LogFile}`
  165. !macroend

  166. Section Uninstall

  167.   ; 调用宏只根据安装日志卸载安装程序自己安装过的文件
  168.   !insertmacro DelFileByLog "$INSTDIR\install.log"

  169.   ; 清除安装程序创建的且在卸载时可能为空的子目录,对于递归添加的文件目录,请由最内层的子目录开始清除(注意,不要带 /r 参数,否则会失去 DelFileByLog 的意义)
  170.   RMDir "$SMPROGRAMS\My application"

  171.   RMDir /r "$INSTDIR"

  172.   SetAutoClose true
  173. SectionEnd

  174. #-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
  175. /******************************函数区*********************************/
  176. Function .onInit
  177. ;防止多个安装程序运行
  178.   System::Call 'kernel32::CreateMutexA(i 0, i 0, t "CorelDRAW X4") i .r1 ?e'
  179.   Pop $R0

  180.   StrCmp $R0 0 +3
  181.   MessageBox MB_OK|MB_ICONEXCLAMATION "安装程序已经在运行。"
  182.   Abort

  183. ;初始化水纹效果
  184.   InitPluginsDir
  185.   SetOutPath $PLUGINSDIR
  186. ;水纹效果插件位置
  187.   File "F:\bak\2d\CorelDRAW X4 精简版\waterctrl.dll"

  188.   SetRebootFlag true
  189. FunctionEnd

  190. /*************************************水纹效果 函数*************************************/
  191. Function Pre
  192.   ;设置水纹范围的大小 0,0,55,0x2010 55为高度
  193.   System::Call 'user32::LoadImage(i,t,i,i,i,i,) i (0,"$PLUGINSDIR\modern-wizard.bmp",0,0,0,0x2010) .s'
  194. Pop $R0
  195.   ;设置水纹效果的位置 350,0,$R0,10,10 350水平位置 垂直位置5 水波大小长10 宽10
  196.   System::Call '$PLUGINSDIR\waterctrl::enablewater(i,i,i,i,i,i) i ($HWNDPARENT,0,0,$R0,3,50)'
  197.   System::Call '$PLUGINSDIR\waterctrl::setwaterparent(i $HWNDPARENT)'
  198.   System::Call '$PLUGINSDIR\waterctrl::flattenwater()'
  199.   ;设置水纹 50为初始水纹的水平位置 180为垂直位置 10为振幅大小 1000为强度
  200.   System::Call '$PLUGINSDIR\waterctrl::waterblob(i,i,i,i) i (50,180,10,1000)'
  201. FunctionEnd

  202. Function leave
  203.   System::Call '$PLUGINSDIR\waterctrl::disablewater()'
  204. FunctionEnd
  205. /*************************************水纹效果 函数*************************************/

  206. Function .onGUIEnd
  207. ;释放水纹效果
  208.   SetPluginUnload manual
  209.   waterctrl::disablewater
  210.   System::Free
  211. FunctionEnd

  212. Function un.onInit
  213.   MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2
  214.   Abort
  215. FunctionEnd

  216. Function un.onUninstSuccess
  217.   HideWindow
  218.   MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从您的计算机移除。"
  219. FunctionEnd

  220. ; 以下是卸载程序通过安装日志卸载文件的专用函数,请不要随意修改
  221. Function un.DelFileByLog
  222.   Exch $R0
  223.   Push $R1
  224.   Push $R2
  225.   Push $R3
  226.   FileOpen $R0 $R0 r
  227.   ${Do}
  228.     FileRead $R0 $R1
  229.     ${IfThen} $R1 == `` ${|} ${ExitDo} ${|}
  230.     StrCpy $R1 $R1 -2
  231.     StrCpy $R2 $R1 11
  232.     StrCpy $R3 $R1 20
  233.     ${If} $R2 == "File: wrote"
  234.     ${OrIf} $R2 == "File: skipp"
  235.     ${OrIf} $R3 == "CreateShortCut: out:"
  236.     ${OrIf} $R3 == "created uninstaller:"
  237.       Push $R1
  238.       Push `"`
  239.       Call un.DelFileByLog.StrLoc
  240.       Pop $R2
  241.       ${If} $R2 != ""
  242.         IntOp $R2 $R2 + 1
  243.         StrCpy $R3 $R1 "" $R2
  244.         Push $R3
  245.         Push `"`
  246.         Call un.DelFileByLog.StrLoc
  247.         Pop $R2
  248.         ${If} $R2 != ""
  249.           StrCpy $R3 $R3 $R2
  250.           Delete /REBOOTOK $R3
  251.         ${EndIf}
  252.       ${EndIf}
  253.     ${EndIf}
  254.     StrCpy $R2 $R1 7
  255.     ${If} $R2 == "Rename:"
  256.       Push $R1
  257.       Push "->"
  258.       Call un.DelFileByLog.StrLoc
  259.       Pop $R2
  260.       ${If} $R2 != ""
  261.         IntOp $R2 $R2 + 2
  262.         StrCpy $R3 $R1 "" $R2
  263.         Delete /REBOOTOK $R3
  264.       ${EndIf}
  265.     ${EndIf}
  266.   ${Loop}
  267.   FileClose $R0
  268.   Pop $R3
  269.   Pop $R2
  270.   Pop $R1
  271.   Pop $R0
  272. FunctionEnd

  273. Function un.DelFileByLog.StrLoc
  274.   Exch $R0
  275.   Exch
  276.   Exch $R1
  277.   Push $R2
  278.   Push $R3
  279.   Push $R4
  280.   Push $R5
  281.   StrLen $R2 $R0
  282.   StrLen $R3 $R1
  283.   StrCpy $R4 0
  284.   ${Do}
  285.     StrCpy $R5 $R1 $R2 $R4
  286.     ${If} $R5 == $R0
  287.     ${OrIf} $R4 = $R3
  288.       ${ExitDo}
  289.     ${EndIf}
  290.     IntOp $R4 $R4 + 1
  291.   ${Loop}
  292.   ${If} $R4 = $R3
  293.     StrCpy $R0 ""
  294.   ${Else}
  295.     StrCpy $R0 $R4
  296.   ${EndIf}
  297.   Pop $R5
  298.   Pop $R4
  299.   Pop $R3
  300.   Pop $R2
  301.   Pop $R1
  302.   Exch $R0
  303. FunctionEnd
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SgzyStudio

GMT+8, 2024-5-19 20:31 , Processed in 0.111212 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表