|
正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #############################
- # Engine @ Hesungstduio #
- # 紫光拼音迷你智能版 #
- #############################
- ;;你可以借鉴它打包自己的输入法或是自己喜爱的输入法和朋友们内部分享。
- ;;时间仓促,注释不好,请见凉...
- ## 调用编译器现编译Hsunistools.nsh用来更新Hsunis.dll
- !execute '"${NSISDIR}\makensis.exe" "Hsunistools.nsh"'
- ## 设置NSIS压缩器 ##
- SetCompressor /SOLID lzma ;;请使用NSIS2.08以上版本
- ## 包含头文件 ##
- !include "MUI.nsh"
- !include "PublicFuncS.nsh"
- ## 预定义 ##
- !define ICON_NAME Hsunis_main
- !define MUI_ICON "Icons\${ICON_NAME}.ico"
- !define /date DATEFULL "%Y.%m.%d.%H"
- !define /date DATE "%Y.%m.%d"
- !define VER "Build ${DATE}"
- ## 基本属性设置 ##
- Name "紫光拼音"
- Caption "紫光拼音"
- SilentInstall silent
- CRCCheck off
- XPStyle on
- ## 安装程序文件输出 ##
- OutFile "Hsunispim.exe"
- ## 插入语言宏和其他 ##
- !insertmacro MUI_LANGUAGE "simpchinese"
- VIProductVersion "${DATEFULL}"
- VIAddVersionKey /LANG=2052 "FileVersion" "版本:${VER}$\r$\n创建:Engine黑闪工作室"
- VIAddVersionKey /LANG=2052 "ProductName" "紫光拼音 3.0 迷你版"
- VIAddVersionKey /LANG=2052 "Comments" "紫光拼音输入法迷你版 $\r$\n基于紫光拼音3.0创建, $\r$\n具有除因特网搜索之外 $\r$\n紫光拼音原版全部功能,清华紫光软件版权所有。黑闪工作室成员Engine 编写迷你版策略和脚本。"
- VIAddVersionKey /LANG=2052 "CompanyName" "Hesung Studio"
- VIAddVersionKey /LANG=2052 "LegalCopyright" "北京清华紫光软件股份有限公司"
- VIAddVersionKey /LANG=2052 "FileDescription" "Hesung Tools"
- VIAddVersionKey /LANG=2052 "ProductVersion" "清华紫光拼音输入法$\r$\n引擎版本3.0.0.3045"
- VIAddVersionKey /LANG=2052 "OriginalFilename" "Hsunispim.exe"
- ## 函数 .OnInit //主功能初始化函数 ##
- Function .OnInit
- ;;窗体互斥处理
- FindWindow $1 '#32770' '紫光拼音管理工具' 0 $1
- IntCmp $1 0 FindNextWindow
- SYSTEM::Call "user32::SetForegroundWindow(i r1) i."
- ShowWindow $1 1
- Abort
- FindNextWindow:
- FindWindow $1 'TApplication' '紫光拼音输入法-属性设置和管理中心' 0 $1
- IntCmp $1 0 NormalShow
- SYSTEM::Call "user32::SetForegroundWindow(i r1) i."
- ShowWindow $1 1
- Abort
- NormalShow:
- Call GetParameters ;;获取命令行参数给$R0
- Pop $R0
- StrCmp $R0 "" Normal
- StrCmp $R0 "/h" Help
- StrCmp $R0 "-h" Help
- ;;检测是否存在紫光拼音5的核心特征文件。
- IfFileExists "$SYSDIR\unispim5.ime" 0 +2
- IfFileExists "$SYSDIR\IME\Unispim\upimcfg5.exe" Unispim5_installed
- StrCmp $R0 "/c" Config
- StrCmp $R0 "-c" Config
- StrCmp $R0 "/u" Uninst
- StrCmp $R0 "-u" Uninst
- StrCmp $R0 "/n" OnlyFiles
- StrCmp $R0 "-n" OnlyFiles
- StrCmp $R0 "/f" ShowGUI
- StrCmp $R0 "-f" ShowGUI
- StrCmp $R0 "/r" Restore
- StrCmp $R0 "-r" Restore Normal
- Uninst:
- IfFileExists "$SYSDIR\unispim.ime" 0 SpecialDir
- IfFileExists "$SYSDIR\upengine.dll" 0 SpecialDir
- IfFileExists "$SYSDIR\IME\Unispim\Hsunis.dll" +3
- SetOutPath "$SYSDIR\IME\Unispim"
- File "Tools\Hsunis.dll"
- Exec `"$SYSDIR\IME\Unispim\Hsunis.dll" -u`
- Quit
- SpecialDir:
- IfFileExists "$TEMP\Hsunis.tmp" +2
- File "/oname=$TEMP\Hsunis.tmp" "Tools\Hsunis.dll"
- Exec `"$TEMP\Hsunis.tmp" -u`
- Abort
- ShowGUI:
- IfFileExists "$SYSDIR\unispim.ime" 0 NotInstalled
- IfFileExists "$SYSDIR\upengine.dll" 0 NotInstalled
- IfFileExists "$SYSDIR\IME\Unispim\Hsunis.dll" +3
- SetOutPath "$SYSDIR\IME\Unispim"
- File "Tools\Hsunis.dll"
- Exec "$SYSDIR\IME\Unispim\Hsunis.dll"
- Quit
- NotInstalled:
- ;;窗体互斥
- SYSTEM::Call "kernel32::CreateMutexA(i 0, i 0, t '$(^Name)') i .r0 ?e"
- Pop $0
- StrCmp $0 0 ShowAsk
- StrLen $0 "$(^Name)"
- IntOp $0 $0 + 1
- loop1:
- FindWindow $1 '#32770' '' 0 $1
- IntCmp $1 0 +4
- SYSTEM::Call "user32::GetWindowText(i r1, t .r2, i r0) i."
- StrCmp $2 "$(^Name)" 0 loop1
- SYSTEM::Call "user32::SetForegroundWindow(i r1) i."
- ShowWindow $1 1
- Abort
- ShowAsk:
- MessageBox MB_YESNO|MB_ICONQUESTION "当前系统中没有安装紫光拼音输入法 3.0,是否现在进行安装? " IDYES Restore
- Quit
- Help:
- ;;窗体互斥
- SYSTEM::Call "kernel32::CreateMutexA(i 0, i 0, t '$(^Name)') i .r0 ?e"
- Pop $0
- StrCmp $0 0 ShowHelp
- StrLen $0 "$(^Name)"
- IntOp $0 $0 + 1
- loop:
- FindWindow $1 '#32770' '' 0 $1
- IntCmp $1 0 +4
- SYSTEM::Call "user32::GetWindowText(i r1, t .r2, i r0) i."
- StrCmp $2 "$(^Name)" 0 loop
- SYSTEM::Call "user32::SetForegroundWindow(i r1) i."
- ShowWindow $1 1
- Abort
- ShowHelp:
- MessageBox MB_OK "$\n\
- H (帮助):弹出紫光拼音迷你版的参数说明。$\r$\n\
- F (界面):显示紫光拼音智能操作管理界面。$\r$\n\
- N (特别):安装时不添加控制面板卸载信息。$\r$\n\
- C (配置):载入紫光拼音输入法的优化配置。$\r$\n\
- R (修复):对紫光拼音输入法进行覆盖安装。$\r$\n\
- U (卸载):卸载已经安装的紫光拼音输入法。"
- Quit
- Config:
- IfFileExists "$SYSDIR\unispim.ime" 0 Restore
- IfFileExists "$SYSDIR\upengine.dll" 0 Restore
- IfFileExists "$SYSDIR\IME\Unispim\upimcfg.exe" RegCfg Restore
- OnlyFiles:
- StrCpy $R9 "NoUninstRegKey"
- Normal:
- ;;检测是否存在紫光5的特征文件
- IfFileExists "$SYSDIR\unispim5.ime" 0 +2
- IfFileExists "$SYSDIR\IME\Unispim\upimcfg5.exe" Unispim5_installed
- ;;检测核心文件
- IfFileExists "$SYSDIR\unispim.ime" 0 Restore
- IfFileExists "$SYSDIR\upengine.dll" 0 Restore
- ;;检测文件Dat类型
- IfFileExists "$SYSDIR\IME\Unispim\syswl.dat" 0 Restore
- IfFileExists "$SYSDIR\IME\Unispim\bcoc.dat" 0 Restore
- IfFileExists "$SYSDIR\IME\Unispim\hzfreq.dat" 0 Restore
- ;;检测文件Exe类型
- IfFileExists "$SYSDIR\IME\Unispim\upcfgwiz.exe" 0 Restore
- IfFileExists "$SYSDIR\IME\Unispim\upimcfg.exe" 0 Restore
- IfFileExists "$SYSDIR\IME\Unispim\wlmerge.exe" 0 Restore
- IfFileExists "$SYSDIR\IME\Unispim\wlbackup.exe" 0 Restore
- ;;检测重要manifest类型
- IfFileExists "$SYSDIR\IME\Unispim\upimcfg.exe.manifest" 0 Restore
- ;;检测Chm & dll类型
- IfFileExists "$SYSDIR\IME\Unispim\unispim.chm" 0 Restore
- IfFileExists "$SYSDIR\IME\Unispim\upimset.dll" 0 Restore
- ;;检测概要INI类型
- IfFileExists "$SYSDIR\IME\Unispim\spewords.ini" 0 Restore
- IfFileExists "$SYSDIR\IME\Unispim\chnsym.ini" 0 Restore
- IfFileExists "$SYSDIR\IME\Unispim\unispimsp.ini" 0 Restore
- ;;检测当前用户是否存在配置
- ClearErrors
- ReadRegDWORD $R0 HKCU "Software\Thunisoft\Unispim\3.0" "输入栏字体大小"
- IfErrors 0 ExeC
- Services::IsProcessUserAdministrator
- Pop $0
- StrCmp $0 "NO" ExeC ImmInst
- Restore:
- Services::IsProcessUserAdministrator
- Pop $0
- StrCmp $0 "NO" 0 Pass
- Call GetWindowsVer
- Pop $R0
- StrCmp $R0 "XP" Notify
- StrCmp $R0 "2003" Notify
- StrCmp $R0 "Other" Notify
- MessageBox MB_OK|MB_ICONINFORMATION "当前用户组没有权限安装输入法,请以管理员身份登录。 "
- Quit
- Notify:
- NotifyIcon::Icon /NOUNLOAD "iy" 103
- NotifyIcon::Icon /NOUNLOAD "b" "紫光输入法安装提示" "当前用户组没有权限安装输入法,请以管理员身份登录。"
- Sleep 8000
- NotifyIcon::Icon "r"
- Sleep 1000
- Quit
- Pass:
- RMDir /r "$APPDATA\Unispim"
- DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C21C537D-6438-4574-825C-FBB1CB7BB54C}"
- DeleteRegKey HKCU "Software\Microsoft\Installer\Products\D735C12C8346475428C5BF1BBCB75BC4"
- DeleteRegKey HKCU "S-1-5-21-2052111302-1958367476-839522115-1003\Software\Microsoft\Installer\Products\D735C12C8346475428C5BF1BBCB75BC4"
- StrCmp $R9 "NoUninstRegKey" DoneRegUninstall
- MoreInfo::GetOSUserinterfaceLanguage ;;MoreInfo插件这里获取操作系统shell语言
- Pop $LANGUAGE
- StrCmp $LANGUAGE "2052" SimpChineseString
- WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C21C537D-6438-4574-825C-FBB1CB7BB54C}" "DisplayName" "Thunisoft Unispim IME 3.0"
- WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C21C537D-6438-4574-825C-FBB1CB7BB54C}" "DisplayIcon" "$SYSDIR\IME\Unispim\upimcfg.exe"
- WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C21C537D-6438-4574-825C-FBB1CB7BB54C}" "Publisher" "Beijing Thunisoft Corporation"
- WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C21C537D-6438-4574-825C-FBB1CB7BB54C}" "UninstallString" `"$SYSDIR\IME\Unispim\Hsunis.dll" -Uninstall`
- WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C21C537D-6438-4574-825C-FBB1CB7BB54C}" "ModifyPath" `"$SYSDIR\IME\Unispim\Hsunis.dll" -Restore`
- WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C21C537D-6438-4574-825C-FBB1CB7BB54C}" "Specical Description" "This Smart Installer is Created by SupEngine at Hesung Studio."
- Goto DoneRegUninstall
- SimpChineseString:
- WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C21C537D-6438-4574-825C-FBB1CB7BB54C}" "DisplayName" "紫光拼音输入法 3.0"
- WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C21C537D-6438-4574-825C-FBB1CB7BB54C}" "DisplayIcon" "$SYSDIR\IME\Unispim\upimcfg.exe"
- WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C21C537D-6438-4574-825C-FBB1CB7BB54C}" "Publisher" "北京清华紫光软件股份有限公司"
- WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C21C537D-6438-4574-825C-FBB1CB7BB54C}" "UninstallString" `"$SYSDIR\IME\Unispim\Hsunis.dll" -Uninstall`
- WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C21C537D-6438-4574-825C-FBB1CB7BB54C}" "ModifyPath" `"$SYSDIR\IME\Unispim\Hsunis.dll" -Restore`
- WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C21C537D-6438-4574-825C-FBB1CB7BB54C}" "Specical Description" "黑闪工作室迷你智能安装策略版本"
- DoneRegUninstall:
- ClearErrors
- SetOutPath "$SYSDIR"
- File "Imekernel\unispim.ime"
- File "Imekernel\upengine.dll"
- SetOutPath "$SYSDIR\IME"
- File /r "Unispim"
- SetOutPath "$SYSDIR\IME\Unispim"
- File "Tools\Hsunis.dll"
- ImmInst:
- System::Call 'imm32::ImmInstallIME(t "$SYSDIR\unispim.ime" ,t "紫光拼音输入法 3.0")'
- RegCfg:
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "输入风格" 0x00000001
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "用字母键选择候选字词" 0x00000000
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "使用双拼输入" 0x00000000
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "双拼输入时显示提示信息" 0x00000001
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "光标跟随" 0x00000001
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "动态调整词频" 0x00000001
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "自动隐藏低频词" 0x00000000
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "动态调整字频" 0x00000001
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "最近输入字优先" 0x00000001
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "每页最多候选个数" 0x00000005
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "中英文输入切换键" 0x00000000
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "回车键定义" 0x00000001
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "多个候选翻页键" 0x00000001
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "输入第二第三候选字词键" 0x00000001
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "以词定字选字键" 0x00000002
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "软键盘开关键" 0x00000011
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "输入栏字体大小" 0x0000000e
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "输入栏显示样式" 0x00000000
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "状态条显示" 0x00000001
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "状态条位置" 10000
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "支持GBK大字符集" 0x00000001
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "输入简体汉字" 0x00000001
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "智能组词" 0x00000001
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "智能组词自动记忆" 0x00000000
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "按前次输入动态调整字序" 0x00000000
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "数字后跟随英文符号" 0x00000000
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "打开时默认为英文输入状态" 0x00000000
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "v状态可输入空格" 0x00000000
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "声母模糊音设置" 0x00ffffff
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "属性设置保存提示" 0x00000000
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "一次输入汉字最多个数" 0x0000000c
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "中文符号" 0x00000400
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "软键盘索引" 0x00000008
- WriteRegDWORD HKCU "Software\Thunisoft\Unispim\3.0" "记忆并可输入最近输入过的字词" 1
- WriteRegBin HKCU "Software\Thunisoft\Unispim\3.0" "韵母模糊音设置" ffffffff0f000000
- WriteRegStr HKCU "Software\Thunisoft\Unispim\3.0" "输入栏中文字体" "宋体"
- WriteRegStr HKCU "Software\Thunisoft\Unispim\3.0" "输入栏英文字体" "Tahoma"
- DeleteRegKey HKCR "紫光拼音输入法词库备份文件"
- WriteRegStr HKCR ".uwl" "" "UnispimWlbackup.file"
- WriteRegStr HKCR "UnispimWlbackup.file" "" "紫光拼音词库备份文件"
- WriteRegStr HKCR "UnispimWlbackup.file\DefaultIcon" "" "$SYSDIR\IME\unispim\wlbackup.exe,0"
- WriteRegStr HKCR "UnispimWlbackup.file\shell" "" "open"
- WriteRegStr HKCR "UnispimWlbackup.file\shell\open\command" "" `"$SYSDIR\IME\unispim\wlbackup.exe$" $"%1$"`
- WriteRegStr HKCR "UnispimWlbackup.file\shell\open" "" "导入词库(&A)"
- ;;运行紫光拼音3配置中心程序 并自动退出
- ExeC:
- Exec "$SYSDIR\IME\Unispim\upimcfg.exe"
- ClearErrors
- Quit
-
- ## 给出已安装紫光拼音5的提示,并清理可能的残留项目
- Unispim5_installed:
- ;;窗体互斥
- SYSTEM::Call "kernel32::CreateMutexA(i 0, i 0, t '$(^Name)') i .r0 ?e"
- Pop $0
- StrCmp $0 0 ShowVer5
- StrLen $0 "$(^Name)"
- IntOp $0 $0 + 1
- loop3:
- FindWindow $1 '#32770' '' 0 $1
- IntCmp $1 0 +4
- SYSTEM::Call "user32::GetWindowText(i r1, t .r2, i r0) i."
- StrCmp $2 "$(^Name)" 0 loop3
- SYSTEM::Call "user32::SetForegroundWindow(i r1) i."
- ShowWindow $1 1
- Abort
- ShowVer5:
- MessageBox MB_OK|MB_ICONINFORMATION "当前系统中已存在紫光拼音 5.0,请将其卸载后再执行该程序。 "
- DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C21C537D-6438-4574-825C-FBB1CB7BB54C}"
- DeleteRegKey HKCR "UnispimWlbackup.file"
- DeleteRegKey HKCU "Software\Classes\UnispimWlbackup.file"
- DeleteRegKey HKCU "Software\Microsoft\Installer\Products\D735C12C8346475428C5BF1BBCB75BC4"
- DeleteRegKey HKCU "Software\Thunisoft\Unispim\3.0"
- DeleteRegKey HKCU "Software\Thunisoft\紫光拼音输入法3.0"
- SetOutPath "$SYSDIR"
- File "Tools\DeleteIME.Dll"
- ExecWait '"$SYSDIR\DeleteIME.Dll" /c unispim.ime'
- Delete /REBOOTOK "$SYSDIR\DeleteIME.Dll"
- ClearErrors
- Delete /REBOOTOK "$TEMP\Hsunis.tmp"
- Quit
- FunctionEnd ;;.onInit
- Section "NoFuntion" ;;形式
- SectionEnd
复制代码
|
|