; 该脚本应使用NSIS编译器编译
; 安装程序初始定义常量
!define PRODUCT_NAME "医院信息管理系统"
!define PRODUCT_VERSION "9.6"
!define PRODUCT_PUBLISHER "陈忠义"
SetCompressor lzma
Var hFlash ;定义Flash句柄变量
; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------
!include "MUI.nsh"
!include "UsefulLib.nsh"
; MUI 预定义常量
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\win-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\win-uninstall.ico"
;!define MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\win-jk1.bmp"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange-uninstall.bmp"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\win.bmp"
!define MUI_HEADERIMAGE_UNBITMAP "${NSISDIR}\Contrib\Graphics\Header\orange-uninstall.bmp"
; Flash 运行页面
!define MUI_PAGE_CUSTOMFUNCTION_PRE Pre
!define MUI_PAGE_CUSTOMFUNCTION_SHOW Show
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE Leave
; 欢迎页面
!insertmacro MUI_PAGE_WELCOME
; 组件选择页面
!insertmacro MUI_PAGE_COMPONENTS
; 安装目录选择页面
!insertmacro MUI_PAGE_DIRECTORY
; 安装过程页面
!insertmacro MUI_PAGE_INSTFILES
; Flash 运行页面
!define MUI_PAGE_CUSTOMFUNCTION_Pre Pre
!define MUI_PAGE_CUSTOMFUNCTION_SHOW Show
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE Leave
; 安装完成页面
!insertmacro MUI_PAGE_FINISH
; 安装卸载过程页面
!insertmacro MUI_UNPAGE_INSTFILES
; 安装界面包含的语言设置
!insertmacro MUI_LANGUAGE "SimpChinese"
; 安装预释放文件
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
; ------ MUI 现代界面定义结束 ------
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "靖宇人民医院信息管理系统.exe"
InstallDir "$PROGRAMFILES\UFSoft"
InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString"
ShowInstDetails show
ShowUnInstDetails show
BrandingText "Copyright (C) 2006-2010 陈忠义"
;定义flash运行参数
ReserveFile "${NSISDIR}\Plugins\System.dll"
ReserveFile "${NSISDIR}\Plugins\FlashLib.dll"
;ReserveFile "${NSISDIR}\Examples\FlashLib\1.swf"
ReserveFile "1.swf"
SetOverwrite on
InstType "典型安装"
InstType "完全安装"
SectionGroup "使用部门" GRO01 ;组区段定义
Section "数据库连接" SEC01 ;区段定义
SectionIn 1 2 ;第1、2个安装类型选中此区段
SetOutPath "$INSTDIR\HRP\Public\"
File /r "D:\UFSoft\HRP\Public\db_link.exe"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\使用部门"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\使用部门\数据库连接.lnk" "$INSTDIR\HRP\Public\db_link.exe"
SectionEnd
Section "部门药房" SEC02
SectionIn 1 2
SetOutPath "$INSTDIR\HRP\Public\"
File /r "D:\UFSoft\HRP\Public\office_set.exe"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\使用部门"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\使用部门\部门药房.lnk" "$INSTDIR\HRP\Public\office_set.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\部门药房.lnk" "$INSTDIR\HRP\Public\office_set.exe"
SectionEnd
SectionGroupEnd
SectionGroup "系统维护" GRO02
Section "系统维护" SEC03
SectionIn 2
SetOutPath "$INSTDIR\HRP\Admin\"
File /r "D:\UFSoft\HRP\Admin\HZYLInterface.dll"
File /r "D:\UFSoft\HRP\Admin\SKCONFIG.INI"
File /r "D:\UFSoft\HRP\Admin\whxt.exe"
File /r "D:\UFSoft\HRP\Admin\xxhy_flsm_his.ini"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\系统维护"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\系统维护\系统维护.lnk" "$INSTDIR\HRP\Admin\whxt.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\系统维护.lnk" "$INSTDIR\HRP\Admin\whxt.exe"
SectionEnd
Section "票据格式" SEC04
SectionIn 2
SetOutPath "$INSTDIR\HRP\Admin\"
File /r "D:\UFSoft\HRP\Admin\pjgs.exe"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\系统维护"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\系统维护\票据格式.lnk" "$INSTDIR\HRP\Admin\pjgs.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\票据格式.lnk" "$INSTDIR\HRP\Admin\pjgs.exe"
SectionEnd
SectionGroupEnd
SectionGroup "门诊业务" GRO03
Section "门诊挂号" SEC05
SectionIn 1 2
SetOutPath "$INSTDIR\HRP\Economic\OutPatient\"
File /r "D:\UFSoft\HRP\Economic\OutPatient\ClientConfig.ini"
File /r "D:\UFSoft\HRP\Economic\OutPatient\HZYLInterface.dll"
File /r "D:\UFSoft\HRP\Economic\OutPatient\mz_gh.pbd"
File /r "D:\UFSoft\HRP\Economic\OutPatient\mzgh.exe"
File /r "D:\UFSoft\HRP\Economic\OutPatient\resident.dll"
File /r "D:\UFSoft\HRP\Economic\OutPatient\SKCONFIG.INI"
File /r "D:\UFSoft\HRP\Economic\OutPatient\xxhy_flsm_his.ini"
File /r "D:\UFSoft\HRP\Economic\OutPatient\zdtlmti.dll"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\门诊业务"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\门诊业务\门诊挂号.lnk" "$INSTDIR\HRP\Economic\OutPatient\mzgh.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\门诊挂号.lnk" "$INSTDIR\HRP\Economic\OutPatient\mzgh.exe"
SectionEnd
Section "门诊划价收费" SEC06
SectionIn 1 2
SetOutPath "$INSTDIR\HRP\Economic\OutPatient\"
File /r "D:\UFSoft\HRP\Economic\OutPatient\ClientConfig.ini"
File /r "D:\UFSoft\HRP\Economic\OutPatient\HZYLInterface.dll"
File /r "D:\UFSoft\HRP\Economic\OutPatient\mzhf.exe"
File /r "D:\UFSoft\HRP\Economic\OutPatient\resident.dll"
File /r "D:\UFSoft\HRP\Economic\OutPatient\SKCONFIG.INI"
File /r "D:\UFSoft\HRP\Economic\OutPatient\xxhy_flsm_his.ini"
File /r "D:\UFSoft\HRP\Economic\OutPatient\zdtlmti.dll"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\门诊业务"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\门诊业务\门诊划价收费.lnk" "$INSTDIR\HRP\Economic\OutPatient\mzhf.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\门诊划价收费.lnk" "$INSTDIR\HRP\Economic\OutPatient\mzhf.exe"
SectionEnd
SectionGroupEnd
SectionGroup "住院业务" GRO04
Section "住院登记与出院结算" SEC07
SectionIn 1 2
SetOutPath "$INSTDIR\HRP\Economic\InPatient\"
File /r "D:\UFSoft\HRP\Economic\InPatient\autocalculator.exe"
File /r "D:\UFSoft\HRP\Economic\InPatient\ClientConfig.ini"
File /r "D:\UFSoft\HRP\Economic\InPatient\djcy.exe"
File /r "D:\UFSoft\HRP\Economic\InPatient\HZYLInterface.dll"
File /r "D:\UFSoft\HRP\Economic\InPatient\resident.dll"
File /r "D:\UFSoft\HRP\Economic\InPatient\SKCONFIG.INI"
File /r "D:\UFSoft\HRP\Economic\InPatient\xxhy_flsm_his.ini"
File /r "D:\UFSoft\HRP\Economic\InPatient\zdtlmti.dll"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\住院业务"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\住院业务\住院登记与出院结算.lnk" "$INSTDIR\HRP\Economic\InPatient\djcy.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\住院登记与出院结算.lnk" "$INSTDIR\HRP\Economic\InPatient\djcy.exe"
SectionEnd
Section "住院转帐" SEC08
SectionIn 1 2
SetOutPath "$INSTDIR\HRP\Economic\InPatient\"
File /r "D:\UFSoft\HRP\Economic\InPatient\ClientConfig.ini"
File /r "D:\UFSoft\HRP\Economic\InPatient\zyzz.exe"
File /r "D:\UFSoft\HRP\Economic\InPatient\HZYLInterface.dll"
File /r "D:\UFSoft\HRP\Economic\InPatient\resident.dll"
File /r "D:\UFSoft\HRP\Economic\InPatient\SKCONFIG.INI"
File /r "D:\UFSoft\HRP\Economic\InPatient\xxhy_flsm_his.ini"
File /r "D:\UFSoft\HRP\Economic\InPatient\zdtlmti.dll"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\住院业务"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\住院业务\住院转帐.lnk" "$INSTDIR\HRP\Economic\InPatient\zyzz.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\住院转帐.lnk" "$INSTDIR\HRP\Economic\InPatient\zyzz.exe"
SectionEnd
Section "住院医生站" SEC09
SectionIn 2
SetOutPath "$INSTDIR\HRP\Clinic\"
File /r "D:\UFSoft\HRP\Clinic\ClientConfig.ini"
File /r "D:\UFSoft\HRP\Clinic\HZYLInterface.dll"
File /r "D:\UFSoft\HRP\Clinic\resident.dll"
File /r "D:\UFSoft\HRP\Clinic\SKCONFIG.INI"
File /r "D:\UFSoft\HRP\Clinic\xxhy_flsm_his.ini"
File /r "D:\UFSoft\HRP\Clinic\zdtlmti.dll"
File /r "D:\UFSoft\HRP\Clinic\zyys.exe"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\住院业务"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\住院业务\住院医生站.lnk" "$INSTDIR\HRP\Clinic\zyys.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\住院医生站.lnk" "$INSTDIR\HRP\Clinic\zyys.exe"
SectionEnd
Section "住院护士站" SEC10
SectionIn 1 2
SetOutPath "$INSTDIR\HRP\Clinic\"
File /r "D:\UFSoft\HRP\Clinic\ClientConfig.ini"
File /r "D:\UFSoft\HRP\Clinic\HZYLInterface.dll"
File /r "D:\UFSoft\HRP\Clinic\resident.dll"
File /r "D:\UFSoft\HRP\Clinic\SKCONFIG.INI"
File /r "D:\UFSoft\HRP\Clinic\xxhy_flsm_his.ini"
File /r "D:\UFSoft\HRP\Clinic\zdtlmti.dll"
File /r "D:\UFSoft\HRP\Clinic\zyhs.exe"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\住院业务"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\住院业务\住院护士站.lnk" "$INSTDIR\HRP\Clinic\zyhs.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\住院护士站.lnk" "$INSTDIR\HRP\Clinic\zyhs.exe"
SectionEnd
SectionGroupEnd
SectionGroup "医药业务" GRO05
Section "物资材料" SEC11
SectionIn 2
SetOutPath "$INSTDIR\HRP\Chains"
File /r "D:\UFSoft\HRP\Chains\wzcl.exe"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\医药业务"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\医药业务\物资材料.lnk" "$INSTDIR\HRP\Chains\wzcl.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\物资材料.lnk" "$INSTDIR\HRP\Chains\wzcl.exe"
SectionEnd
Section "药库管理" SEC12
SectionIn 2
SetOutPath "$INSTDIR\HRP\Chains"
File /r "D:\UFSoft\HRP\Chains\yaok.exe"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\医药业务"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\医药业务\药库管理.lnk" "$INSTDIR\HRP\Chains\yaok.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\药库管理.lnk" "$INSTDIR\HRP\Chains\yaok.exe"
SectionEnd
Section "门诊药房" SEC13
SectionIn 2
SetOutPath "$INSTDIR\HRP\Chains"
File /r "D:\UFSoft\HRP\Chains\mzyf.exe"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\医药业务"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\医药业务\门诊药房.lnk" "$INSTDIR\HRP\Chains\mzyf.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\门诊药房.lnk" "$INSTDIR\HRP\Chains\mzyf.exe"
SectionEnd
Section "住院药房" SEC14
SectionIn 2
SetOutPath "$INSTDIR\HRP\Chains"
File /r "D:\UFSoft\HRP\Chains\zyyf.exe"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\医药业务"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\医药业务\住院药房.lnk" "$INSTDIR\HRP\Chains\zyyf.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\住院药房.lnk" "$INSTDIR\HRP\Chains\zyyf.exe"
SectionEnd
SectionGroupEnd
SectionGroup "行政管理" GRO06
Section "领导查询" SEC15
SectionIn 2
SetOutPath "$INSTDIR\HRP\Command\"
File /r "D:\UFSoft\HRP\Command\ldcx.exe"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\行政管理"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\行政管理\领导查询.lnk" "$INSTDIR\HRP\Command\ldcx.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\领导查询.lnk" "$INSTDIR\HRP\Command\ldcx.exe"
SectionEnd
Section "帐务中心" SEC16
SectionIn 2
SetOutPath "$INSTDIR\HRP\Command\"
File /r "D:\UFSoft\HRP\Command\zwzx.exe"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\行政管理"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\行政管理\帐务中心.lnk" "$INSTDIR\HRP\Command\zwzx.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\帐务中心.lnk" "$INSTDIR\HRP\Command\zwzx.exe"
SectionEnd
Section "收入分析" SEC17
SectionIn 2
SetOutPath "$INSTDIR\HRP\Command\"
File /r "D:\UFSoft\HRP\Command\srfx.exe"
;在开始菜单目录下建立快捷方式。
CreateDirectory "$SMPROGRAMS\医院信息管理系统\行政管理"
CreateShortCut "$SMPROGRAMS\医院信息管理系统\行政管理\收入分析.lnk" "$INSTDIR\HRP\Command\srfx.exe"
;在桌面上建立快捷方式。
CreateShortCut "$DESKTOP\收入分析.lnk" "$INSTDIR\HRP\Command\srfx.exe"
SectionEnd
SectionGroupEnd
SubSection "医保驱动" SUB0A ;父区段定义
Section /o "明华KRF-35" SEC18
SectionIn 2
SetOutPath "$INSTDIR\HRP\Driver\"
File "D:\UFSoft\HRP\Driver\KRF-35.exe"
;立即执行,并等待执行结果。
ExecWait '"$INSTDIR\HRP\Driver\KRF-35.exe"'
SectionEnd
Section /o "远兴MF-500" SEC19
SetOutPath "$INSTDIR\HRP\Driver\"
File "D:\UFSoft\HRP\Driver\YXMF-500.exe"
;立即执行,并等待执行结果。
ExecWait '"$INSTDIR\HRP\Driver\YXMF-500.exe"'
SectionEnd
Section "不安装驱动" SEC20
SectionIn 1
SectionEnd
SubSectionEnd
Section -DLL
;PB环境的11个DLL;SQL的3个DLL;程序的2个OCX;
SetOutPath "$WINDIR\system32\"
File /r "D:\UFSoft\HRP\Dll_pb8\*.*"
File /r "D:\UFSoft\HRP\Dll_sql2000\*.*"
File /r "D:\UFSoft\HRP\SysReg\*.*"
Exec '"$WINDIR\system32\regsvr32.exe" /s MSCOMCT2.OCX'
Exec '"$WINDIR\system32\regsvr32.exe" /s MSWINSCK.OCX'
SectionEnd
Section -Other
;程序INI文件;程序的2个DLL、4个JPG文件;
SetOutPath "$WINDIR\"
File /r "D:\UFSoft\HRP\Other\*.*"
File /r "D:\UFSoft\HRP\INI\*.*"
SectionEnd
Section -Setup
;程序INI文件
WriteINIStr $WINDIR\ufhis.ini SQLSERVER Database his_ver4
WriteINIStr $WINDIR\ufhis.ini SQLSERVER ServerName 192.168.XX.XX
WriteINIStr $WINDIR\ufhis.ini SQLSERVER LogId sa
WriteINIStr $WINDIR\ufhis.ini SQLSERVER LogPass ***********
WriteINIStr $WINDIR\ufhis.ini YBJK zg_ybmzzh jyxyy1
WriteINIStr $WINDIR\ufhis.ini YBJK zg_ybmzmm ***********
WriteINIStr $WINDIR\ufhis.ini YBJK zg_ybzyzh jyxyy2
WriteINIStr $WINDIR\ufhis.ini YBJK zg_ybzymm ***********
WriteINIStr $WINDIR\ufhis.ini YBJK zg_hospitalid 25
WriteINIStr $WINDIR\ufhis.ini YBJK clientip 192.168.XX.XX
WriteINIStr $WINDIR\ufhis.ini YBJK jm_ybmzzh jyxyy1
WriteINIStr $WINDIR\ufhis.ini YBJK jm_ybmzmm ***********
WriteINIStr $WINDIR\ufhis.ini YBJK jm_ybzyzh jyxyy2
WriteINIStr $WINDIR\ufhis.ini YBJK jm_ybzymm ***********
WriteINIStr $WINDIR\ufhis.ini YBJK jm_hospitalid 32
WriteINIStr $WINDIR\ufhis.ini LICENSE LICENSED dfd9759c0ac5f12e7a57f37dbf56fbf9
;医保INI文件
WriteINIStr $INSTDIR\HRP\Clinic\ClientConfig.ini DB ClientDBIP 192.168.XX.XX
WriteINIStr $INSTDIR\HRP\Clinic\ClientConfig.ini DB ClientDBUserName sa
WriteINIStr $INSTDIR\HRP\Clinic\ClientConfig.ini DB ClientDBUserPwd ***********
WriteINIStr $INSTDIR\HRP\Economic\OutPatient\ClientConfig.ini DB ClientDBIP 192.168.XX.XX
WriteINIStr $INSTDIR\HRP\Economic\OutPatient\ClientConfig.ini DB ClientDBUserName sa
WriteINIStr $INSTDIR\HRP\Economic\OutPatient\ClientConfig.ini DB ClientDBUserPwd ***********
WriteINIStr $INSTDIR\HRP\Economic\InPatient\ClientConfig.ini DB ClientDBIP 192.168.XX.XX
WriteINIStr $INSTDIR\HRP\Economic\InPatient\ClientConfig.ini DB ClientDBUserName sa
WriteINIStr $INSTDIR\HRP\Economic\InPatient\ClientConfig.ini DB ClientDBUserPwd ***********
;农合INI文件
WriteINIStr $INSTDIR\HRP\Admin\xxhy_flsm_his.ini HisInfo HospticalNO C3210053694F9705DD36DC25E2F77ADE
WriteINIStr $INSTDIR\HRP\Clinic\xxhy_flsm_his.ini HisInfo HospticalNO C3210053694F9705DD36DC25E2F77ADE
WriteINIStr $INSTDIR\HRP\Economic\OutPatient\xxhy_flsm_his.ini HisInfo HospticalNO C3210053694F9705DD36DC25E2F77ADE
WriteINIStr $INSTDIR\HRP\Economic\InPatient\xxhy_flsm_his.ini HisInfo HospticalNO C3210053694F9705DD36DC25E2F77ADE
;删除注册表Internet Mobile键
DeleteRegKey HKLM "SOFTWARE\Microsoft\Internet Mobile"
SectionEnd
Section -AdditionalIcons
CreateShortCut "$SMPROGRAMS\医院信息管理系统\卸载医院信息管理系统.lnk" "$INSTDIR\uninst.exe"
SectionEnd
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
SectionEnd
; 区段组件描述
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "配置数据库连接参数"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "配置使用部门及药房"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "设置项目字典、规则等"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "设置打印票据格式"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC05} "门诊挂号"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC06} "门诊划价收费"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC07} "住院登记与出院结算"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC08} "住院处方录入"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC09} "住院医生站"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC10} "住院护士站"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC11} "物资材料"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC12} "药库管理"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC13} "门诊药房"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC14} "住院药房"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC15} "领导查询"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC16} "收款员结帐"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC17} "收入分析"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC18} "医保提供的明华KRF-35读写卡驱动"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC19} "医保提供的远兴MF-500读写卡驱动"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC20} "不安装读写卡驱动"
!insertmacro MUI_FUNCTION_DESCRIPTION_END
#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--#
Function .onInit
;运行flash
InitPluginsDir
!define MySWF "$PLUGINSDIR\1.swf"
;File "/oname=${MySWF}" "${NSISDIR}\Examples\FlashLib\1.swf"
File "/oname=${MySWF}" "1.swf"
File "/oname=$PLUGINSDIR\FlashLib.dll" "${NSISDIR}\Plugins\FlashLib.dll"
#--设置SUB0A为只读--
SectionGetFlags "${SUB0A}" $R0 ; 取原父项的标志值
IntOp $R0 $R0 + 15 ; 加上 15,使父项变成只读
SectionSetFlags "${SUB0A}" $R0
SectionSetFlags ${SEC20} ${SF_SelectED} ; 设置选中状态
;必须在 $7 中写入当前选中的项,因为在 .onSelChange 中是用来记录第7组的选中项目
StrCpy $7 ${SEC20} ; SEC20默认选中
FunctionEnd
Function .onSelChange
!insertmacro StartRadioButtons $7 ;设置单选按钮
!insertmacro RadioButton ${SEC18}
!insertmacro RadioButton ${SEC19}
!insertmacro RadioButton ${SEC20}
!insertmacro EndRadioButtons
FunctionEnd
Function Pre
FunctionEnd
Function Show
;System::Call 'user32::LoadImage(i,t,i,i,i,i,) i (0,"$PLUGINSDIR\modern-wizard.bmp",0,0,0,0x2010) .s'
Pop $R0
!insertmacro INSTALLOPTIONS_READ $R1 "ioSpecial.ini" "Field 1" "HWND" ;读取图片容器的句柄
System::Call '$PLUGINSDIR\FlashLib::FlashLibInit(i,i,i,i,i,i,i) i (0,0,164,291,$R1,$R0,true) .s'
Pop $hFlash
System::Call '$PLUGINSDIR\FlashLib::FlashLoadMovie(i,t) i ($hFlash, "${MySWF}")'
FunctionEnd
Function Leave
System::Call '$PLUGINSDIR\FlashLib::FlashLibFree(i $hFlash)'
FunctionEnd
Function .onGUIEnd
System::Call '$PLUGINSDIR\FlashLib::FlashLibFree(i $hFlash)'
System::Free
;由于FlashLib插件并不是原生的NSIS插件, 因此最后的释放函数可能并不适用
;需要将文件设置为重启删除, 避免临时插件残留
Delete /REBOOTOK "$PLUGINSDIR\FlashLib.dll"
RMDIR /REBOOTOK "$PLUGINSDIR"
FunctionEnd
/******************************
* 以下是安装程序的卸载部分 *
******************************/
Section Uninstall
;删除卸载文件。
Delete "$INSTDIR\uninst.exe"
;删除桌面快捷方式。
Delete "$DESKTOP\部门药房.lnk"
Delete "$DESKTOP\系统维护.lnk"
Delete "$DESKTOP\票据格式.lnk"
Delete "$DESKTOP\门诊挂号.lnk"
Delete "$DESKTOP\门诊划价收费.lnk"
Delete "$DESKTOP\住院登记与出院结算.lnk"
Delete "$DESKTOP\住院转帐.lnk"
Delete "$DESKTOP\住院医生站.lnk"
Delete "$DESKTOP\住院护士站.lnk"
Delete "$DESKTOP\物资材料.lnk"
Delete "$DESKTOP\药库管理.lnk"
Delete "$DESKTOP\门诊药房.lnk"
Delete "$DESKTOP\住院药房.lnk"
Delete "$DESKTOP\领导查询.lnk"
Delete "$DESKTOP\帐务中心.lnk"
Delete "$DESKTOP\收入分析.lnk"
;删除开始菜单目录。
RMDir /r "$SMPROGRAMS\医院信息管理系统"
;删除安装组件的文件夹。
RMDir /r "$INSTDIR\"
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