杉宫竹苑工作室

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

NSIS脚本的Demo

[复制链接]
发表于 2016-9-2 20:17:23 | 显示全部楼层 |阅读模式

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

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

x
  1. ; Script generated by the HM NIS Edit Script Wizard.
  2. !include "StrFunc.nsh"
  3. ; HM NIS Edit Wizard helper defines
  4. !define PRODUCT_NAME "dlf_setup_v2.0"
  5. !define PRODUCT_VERSION "2.0"
  6. !define PRODUCT_PUBLISHER "DouBan Inc."
  7. !define PRODUCT_WEB_SITE "http://wwwdouban.com"
  8. !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\makensis.exe"
  9. !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
  10. !define PRODUCT_UNINST_ROOT_KEY "HKLM"
  11. !define INSTALL_DIR_FILENAME "DouBan"

  12. ; MUI 1.67 compatible ------
  13. !include "MUI.nsh"
  14. !include "LogicLib.nsh"
  15. !include "x64.nsh"
  16. !include "EnvVarUpdate.nsh"
  17. !include "WinVer.nsh"

  18. ; MUI Settings
  19. !define MUI_ABORTWARNING
  20. !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\Wintech.ico"
  21. !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\Wintech.ico"

  22. ; Welcome page
  23. !insertmacro MUI_PAGE_WELCOME
  24. ; License page
  25. ;!insertmacro MUI_PAGE_LICENSE "${NSISDIR}\License.txt"
  26. ; Directory page
  27. !insertmacro MUI_PAGE_DIRECTORY
  28. ; Instfiles page
  29. !insertmacro MUI_PAGE_INSTFILES
  30. ; Finish page
  31. ;!define MUI_FINISHPAGE_RUN "$INSTDIR\bin\wlp_exe_gui.exe"
  32. ;!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\readme.txt"
  33. !insertmacro MUI_PAGE_FINISH

  34. ; Uninstaller pages
  35. !insertmacro MUI_UNPAGE_INSTFILES

  36. ; Language files
  37. !insertmacro MUI_LANGUAGE "English"

  38. !echo "Running${out_suffix}"

  39. ; MUI end ------

  40. RequestExecutionLevel admin



  41. Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
  42. OutFile "dlf_setup_${out_suffix}.exe"
  43. InstallDir "$PROGRAMFILES\${INSTALL_DIR_FILENAME}"
  44. InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
  45. ShowInstDetails show
  46. ShowUnInstDetails show

  47. Section "MainSection" SEC01

  48.   ${EnvVarUpdate} $0 "PATH" "A" "HKLM" "$INSTDIR\bin" ; appends to the system path
  49.   SetOutPath "$INSTDIR"
  50.   SetOverwrite ifnewer
  51.   File "${NSISDIR}\makensis.exe"
  52.   CreateDirectory "$INSTDIR"
  53.   ;CreateShortCut "$SMPROGRAMS\${INSTALL_DIR_FILENAME}\${INSTALL_DIR_FILENAME}.lnk" "$INSTDIR\makensis.exe"
  54.   ;CreateShortCut "$DESKTOP\${INSTALL_DIR_FILENAME}.lnk" "$INSTDIR\makensis.exe"
  55.   CreateShortCut "$DESKTOP\WinTech.lnk" "$INSTDIR\bin\wlp_exe_gui.exe"
  56.    
  57.   File "${NSISDIR}\License.txt"
  58.   File /r "setup\*"
  59.   File /r "DLP4100 FPGA Program file\*"
  60.   Var /GLOBAL WINDOWS_ARCHITECTURE
  61.    ;这里用了GetVersion插件,但是该插件的作者已经停止维护了,
  62.    ;但是不得已,需要使用,把GetVersion.dll放到了NSIS的插件目录下
  63.    GetVersion::WindowsPlatformArchitecture
  64.    Pop $WINDOWS_ARCHITECTURE ; 32 or 64
  65.    
  66. ; MessageBox MB_OK "${Version}"
  67. ; ${GetWindowsVersion} $R0
  68.    

  69.    
  70.    
  71.   ${If} ${IsWinXP}
  72.       
  73.       
  74.       ${If}   "$WINDOWS_ARCHITECTURE" != "32"
  75.           MessageBox MB_OK  "Sorry this application cannot run on this machine architecture!"
  76.           Quit ;结束整个安装进程
  77.       ${EndIf}
  78.       ${If}   "${Version32}" != "X86"
  79.           MessageBox MB_OK  "Sorry this application cannot run on this machine architecture!"
  80.           Quit ;结束整个安装进程
  81.       ${EndIf}
  82.   ${EndIf}
  83.   
  84.   
  85. ${If} ${IsWin7}
  86.   ${If} "X$WINDOWS_ARCHITECTURE" != "${Version64}"
  87.       MessageBox MB_OK  "Sorry this application cannot run on this machine architecture!"
  88.       Quit ;结束整个安装进程
  89.   ${EndIf}
  90. ${EndIf}
  91.    
  92. ${If} ${IsWin7}

  93.    
  94.       
  95.       Exec '"$INSTDIR\bin\driver\win7\dpinst.exe" /c /f /se /sw /path "$INSTDIR\bin\driver\win7"'
  96.       ExecWait '"$INSTDIR\bin\vs2010sp1vcredist.exe" /q'
  97.    
  98.    
  99.    
  100. ${EndIf}
  101.   
  102.    
  103.    
  104.   ;${If} ${IsWinXP}
  105.    
  106.    ;Exec '"$INSTDIR\bin\driver\win7\Psexec.exe"  -i  -d  -s  "$INSTDIR\bin\driver\win7\install_wdf_driver.exe"'
  107.    ;ExecWait '"$INSTDIR\bin\vs2010sp1vcredist.exe" /q'
  108.   
  109.   ;${EndIf}
  110.    
  111.    ${If} ${IsWinXP}
  112.    
  113.       
  114.      ExecWait '"$INSTDIR\bin\vs2010sp1vcredist.exe" /q'
  115.       
  116.      MessageBox MB_OK "You Must Install Driver manually! The Driver Installation Instruction is located in ReadMe.txt"
  117.   
  118.   ${EndIf}
  119.    
  120.    
  121.   ExecShell open "$INSTDIR"


  122.    
  123.   
  124. ;Detect windows is 32bit or 64bit
  125.   

  126. ;${If} ${RunningX64}
  127. ; 64bit bits go here
  128. ; Exec '"$INSTDIR\bin\driver\win7\Psexec.exe"  -i  -d  -s  "$INSTDIR\bin\driver\win7\install_wdf_driver.exe"'
  129.   ;-i -d -s "$INSTDIR\bin\Driver\win7install_wdf_driver.exe"'
  130.    
  131.    
  132. ; Exec "$INSTDIR\bin\driver\win7\install_wdf_driver.exe"
  133.   ;ExecWait '"$INSTDIR\bin\vs2010sp1vcredist.exe" /q'
  134.    
  135. ;${Else}
  136. ; 32bit bits go here
  137. ;  Exec '"$INSTDIR\bin\driver\win7\Psexec.exe"  -i  -d  -s  "$INSTDIR\bin\driver\win7\install_wdf_driver.exe"'
  138. ; ExecWait '"$INSTDIR\bin\vs2010sp1vcredist.exe"   /q'
  139. ;${EndIf}
  140.   

  141.    
  142. SectionEnd

  143. Section -AdditionalIcons
  144.   WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
  145.   CreateShortCut "$SMPROGRAMS\MyScript\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
  146.   CreateShortCut "$SMPROGRAMS\MyScript\Uninstall.lnk" "$INSTDIR\uninst.exe"
  147. SectionEnd

  148. Section -Post
  149.   WriteUninstaller "$INSTDIR\uninst.exe"
  150.   WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\makensis.exe"
  151.   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
  152.   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
  153.   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\makensis.exe"
  154.   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
  155.   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
  156.   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
  157. SectionEnd


  158. Function un.onUninstSuccess
  159.   HideWindow
  160.   MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从你的计算机移除。"
  161. FunctionEnd

  162. Function un.onInit
  163.   MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "你确实要完全移除 $(^Name) ,其及所有的组件?" IDYES +2
  164.   Abort
  165. FunctionEnd

  166. Section Uninstall
  167.   Delete "$INSTDIR\${PRODUCT_NAME}.url"
  168.   Delete "$INSTDIR\uninst.exe"
  169.   Delete "$INSTDIR\setup"
  170.   Delete "$INSTDIR\License.txt"
  171.   Delete "$INSTDIR\makensis.exe"

  172.   Delete "$SMPROGRAMS\${INSTALL_DIR_FILENAME}\Uninstall.lnk"
  173.   Delete "$SMPROGRAMS\${INSTALL_DIR_FILENAME}\Website.lnk"
  174.   Delete "$DESKTOP\${INSTALL_DIR_FILENAME}.lnk"
  175.   Delete "$SMPROGRAMS\${INSTALL_DIR_FILENAME}\${INSTALL_DIR_FILENAME}.lnk"

  176.   RMDir "$SMPROGRAMS\${INSTALL_DIR_FILENAME}"
  177.   RMDir "$INSTDIR"

  178.   DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  179.   DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
  180.   SetAutoClose true
  181. SectionEnd
复制代码


  1. ;获取操作系统盘符
  2. ReadEnvStr $R0 SYSTEMDRIVE
  3. ;创建log文件夹
  4. CreateDirectory "$R0\log"
  5. ;递归删除log文件夹
  6. RMDir /r "$R0\log"

  7. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  8. ;弹出Windows关机框
  9. FindWindow $0 "shell_traywnd"
  10. SendMessage $0 273 506 0

  11. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  12. ;请求Windows帮助
  13. FindWindow $0 "shell_traywnd"
  14. SendMessage $0 273 503 0

  15. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  16. ;一句话刷新屏幕
  17. System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)'

  18. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  19. ;打开桌面属性
  20. ;...cpl,0,3'中的3可以改为
  21. ;-1 主题 0 壁纸 1 屏保 2 外观 3 设置
  22. Exec 'Rundll32.exe shell32.dll,Control_RunDLL Desk.cpl,0,3'  ;打开"设置"

  23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  24. ;获得安装程序所在目录
  25. System::Call 'kernel32::GetCurrentDirectory(i 1024,t .R1)'
  26. MessageBox MB_OK '安装程序所在目录:$R1'
  27. ;或者直接使用变量
  28. MessageBox MB_OK '文件名$EXEFILE,所在文件夹$EXEDIR,完整路径$EXEPATH。'

  29. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  30. ;获得当前安装程序进程PID
  31. System::Call 'kernel32::GetCurrentProcessId()i .R0'
  32. MessageBox MB_OK '安装程序进程PID:$R0'

  33. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  34. ;获得磁盘卷标
  35. StrCpy $R0 "C:"
  36. System::Call 'kernel32::GetVolumeInformationA(t R0,t .R1,i 100,i .R3,i .R4,i .R5,t .R6,i 100)'
  37. MessageBox MB_OK '盘符:$R0$\n卷标:$R1$\n文件格式:$R6'

  38. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  39. ;设置磁盘卷标
  40. StrCpy $R0 "C:" ;盘符
  41. StrCpy $R1 "系统" ;卷标
  42. System::Call 'kernel32::SetVolumeLabelA(t R0,t R1)'

  43. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  44. ;设置文件属性
  45. StrCpy $R0 "C:\1.EXE" ;文件
  46. StrCpy $R1 0x20         ;属性
  47. System::Call 'kernel32::SetFileAttributesA(t R0,i 0x100)'
  48. ;属性表
  49. ;0x20   FILE_ATTRIBUTE_ARCHIVE,存档
  50. ;0x2 FILE_ATTRIBUTE_HIDDEN,隐藏
  51. ;0x80 FILE_ATTRIBUTE_NORMAL,正常
  52. ;0x2000 FILE_ATTRIBUTE_NOT_CONTENT_INDEXED,不索引
  53. ;0x1000 FILE_ATTRIBUTE_OFFLINE,离线
  54. ;0x1    FILE_ATTRIBUTE_READONLY,只读
  55. ;0x4 FILE_ATTRIBUTE_SYSTEM,系统
  56. ;0x100  FILE_ATTRIBUTE_TEMPORARY,;临时属性(一般无效)

  57. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  58. ;在WIN7任务栏中增加图标链接
  59. SetOutPath $WINDIR
  60. CreateShortcut "$DESKTOP\记事本.lnk" "$WINDIR\notepad.exe"
  61. ExecShell taskbarpin "$DESKTOP\记事本.lnk"

  62. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  63. ;安装结束后调用HTTP下载插件下载文件并运行
  64. Function .onGUIEnd
  65. NSISdl::download "http://www.flighty.cn/服务器文件名.exe" "本地文件名.exe"
  66. Pop $R0 ;获取返回值
  67.   StrCmp $R0 "success" +3
  68.     MessageBox MB_OK "下载失败,原因: $R0"
  69.     Quit
  70. exec ""本地文件名.exe""
  71. FunctionEnd

  72. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  73. ;隐藏/显示文件扩展名实时生效,写入 0 (0x00000000) 显示或 1 (0x00000001) 来隐藏
  74. WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" "HideFileExt" 0x00000001
  75. SendMessage ${HWND_BROADCAST} ${WM_SETTINGCHANGE} 0 "STR:ShellState"
  76. System::Call "shell32::SHChangeNotify(i0x08000000,i0,i0,i0)"

  77. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  78. OutFile "ScreenRes.exe"
  79. Name "获取当前屏幕分辨率"
  80. Caption "获取当前屏幕分辨率"
  81. XPStyle "on"

  82. Function ".onInit"
  83. System::Call 'user32::GetSystemMetrics(i 0) i .r0'
  84. System::Call 'user32::GetSystemMetrics(i 1) i .r1'
  85. MessageBox MB_OK|MB_ICONINFORMATION "当前屏幕分辨率为: $\r$\n$0 X $1"
  86. Quit
  87. FunctionEnd

  88. Section "轻狂志"
  89. ;您的其他代码
  90. SectionEnd

  91. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  92. OutFile flighty.exe
  93. Section "将轻狂志设为首页"
  94.     WriteRegStr HKCU "Software\Microsoft\Internet Explorer\Main" "Start Page" http://www.flighty.cn
  95. SectionEnd

  96. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  97. ;调用 Windows API 来获取运行时间
  98. System::Alloc 16
  99. System::Call kernel32::GetLocalTime(isR0)
  100. System::Call *$R0(&i2.R1,&i2.R2,&i2.R3,&i2.R4,&i2.R5,&i2.R6,&i2.R7,&i2.R8)
  101. System::Free $R0
  102. MessageBox MB_OK "$R1年$R2月$R4日,星期$R3,$R5:$R6:$R7.$R8"

  103. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  104. ;使用MiscButtonText修改按钮文本
  105. ;分别对应[上一步]、[下一步]、[取消]、[关闭],如果留空参数,则使用默认值
  106. MiscButtonText "" "" "" "完成(&G)"
  107. ;安装过程页面
  108. !insertmacro MUI_PAGE_INSTFILES

  109. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


  110. ;清除目录权限及设置目录权限
  111. AccessControl::DisableFileInheritance "$INSTDIR" ;禁止继承
  112. AccessControl::ClearOnFile "$INSTDIR" "(S-1-1-0)" "FullAccess" ;设置Everyone权限

  113. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  114. Name "获得CPU和BIOS信息"
  115. OutFile "flighty.exe"

  116. Section
  117. SectionEnd

  118. Function .onInit
  119.   ReadRegStr $0 HKLM "HARDWARE\DESCRIPTION\System\CentralProcessor\0" "VendorIdentifier"
  120.   ReadRegStr $1 HKLM "HARDWARE\DESCRIPTION\System\CentralProcessor\0" "ProcessorNameString"
  121.   ReadRegStr $2 HKLM "HARDWARE\DESCRIPTION\System\CentralProcessor\0" "Identifier"
  122.   ReadRegStr $3 HKLM "HARDWARE\DESCRIPTION\System\CentralProcessor\0" "~MHz"

  123.   ReadRegStr $4 HKLM "HARDWARE\DESCRIPTION\System\BIOS" "BaseBoardManufacturer"
  124.   ReadRegStr $5 HKLM "HARDWARE\DESCRIPTION\System\BIOS" "BIOSVersion"
  125.   ReadRegStr $6 HKLM "HARDWARE\DESCRIPTION\System\BIOS" "BIOSReleaseDate"
  126.   MessageBox MB_OK|MB_ICONEXCLAMATION "CPU制造商$0  $\r$\nCPU型号$1  $\r$\nCPU标识$2  $\r$\nCPU主频$3  $\r$\n$\r$\n主板品牌$4  $\r$\n主板BIOS版本$5  $\r$\n主板BIOS日期$6"
  127.     Abort
  128. FunctionEnd

  129. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  130. Name "判断操作系统位宽"
  131. OutFile "判断操作系统位宽.exe"
  132. !include "x64.nsh"

  133. Section
  134. SectionEnd

  135. Function .onInit
  136. ${If} ${RunningX64}
  137.   MessageBox MB_OK "64"
  138. ${Else}
  139.   MessageBox MB_OK "32"
  140. ${EndIf}
  141. FunctionEnd

  142. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  143. ;在 hosts 文件中追加地址屏蔽脚本
  144. ClearErrors
  145. SetFileAttributes "$SYSDIR\drivers\etc\hosts" NORMAL ;去只读属性
  146. FileOpen $9 $SYSDIR\drivers\etc\hosts a ;追加数据
  147. ;FileSeek $9 0 END ;指针定位到相对于文件结尾
  148. FileWrite $9 "127.0.0.1 adcount.sandai.net $\r$\n"
  149. FileWrite $9 "127.0.0.1 biz4.sandai.net $\r$\n"
  150. ;下面自己加
  151. SetFileAttributes "$SYSDIR\drivers\etc\hosts" READONLY ;加只读属性
  152. FileClose $9 ;关闭打开的文件

  153. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


  154. ;对比两个文件的时间,如两个时间相等,就返回0;如R0小于R1,返回-1;如R1小于R0,返回1
  155. StrCpy $R0 "C:\boot.ini"
  156. StrCpy $R1 "C:\AUTOEXEC.BAT"
  157. System::Call 'kernel32::CompareFileTime(t R0,t R1) i.R2'
  158. MessageBox MB_OK '文件$R0与$R1时间比较结果$R2'

  159. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  160. ;注册apache服务器, -n MyWebServer表示apache2注册服务名为MyWebServer,默认服务名为Apache2
  161. nsExec::ExecToLog 'cmd.exe /c "$INSTDIR/apache2/bin/httpd.exe" -k install -n MyWebServer'

  162. ;注册MySQL服务器, MyDBServer表示MySQL注册服务名为MyDBServer,默认服务名为MySQL
  163. nsExec::ExecToLog 'cmd.exe /c "$INSTDIR/mysql5/bin/mysqld-nt.exe" -install MyDBServer'

  164. ;启动apache服务和MySQL服务
  165. nsExec::ExecToLog 'cmd.exe /c "$INSTDIR/apache2/bin/httpd.exe" -k start -n MyWebServer'
  166. ;或者   
  167. nsExec::ExecToLog 'cmd.exe /c net start MyWebServer'
  168. nsExec::ExecToLog 'cmd.exe /c net start MyDBServer'

  169. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  170. ;从注册表中读取操作系统语言
  171. ReadRegStr $0 HKLM "SYSTEM\CurrentControlSet\Control\Nls\Language" "Default"
  172. ${If} $0 = 0804
  173.     MessageBox MB_OK "您的操作系统语言为简体中文。"
  174. ${ElseIf} $0 == 0404
  175.     MessageBox MB_OK "您的操作系统语言为繁体中文。"
  176. ${ElseIf} $0 == 0409
  177.     MessageBox MB_OK "您的操作系统语言为英文。"
  178. ${EndIf}
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 17:12 , Processed in 0.121632 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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