医院信息管理系统NSIS安装脚本

阅读:442次   时间:2010-03-08 00:00:00   字体:[ ]

; 该脚本应使用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

 
关于本站 - 广告服务 - 会员指南 - 联系方法
Copyright ©2003-2011 源码天空 All Rights Reserved