⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 docfrac-win32-programming.nsi

📁 把html转成txt 把html转成txt
💻 NSI
字号:
; docfrac-win32-programming.nsi
;
; This script is based on example1.nsi, but it remember the directory, 
; has uninstall support and (optionally) installs start menu shortcuts.
;
; It will install makensisw.exe into a directory that the user selects,

;--------------------------------

; The name of the installer
Name "DocFrac Programming Kit"

; The file to write
OutFile "docfrac-win32-programming.exe"

; Set compression
SetCompressor bzip2

; Define project name
!define PROJECT "DocFrac Programming Kit"

; The default installation directory
InstallDir "$PROGRAMFILES\${PROJECT}"

; Registry key to check for directory (so if you install again, it will 
; overwrite the old one automatically)
InstallDirRegKey HKLM "Software\${PROJECT}" "Install_Dir"

Var installed

;--------------------------------

; Pages

Page components
Page directory
Page instfiles

UninstPage uninstConfirm
UninstPage instfiles

;--------------------------------

; The stuff to install
Section "${PROJECT} (required)"

  SectionIn RO
  
  ; Set output path to the installation directory.
  SetOutPath $INSTDIR
  
  ; Put file there
  ;File "..\old-gui\dox_old.exe"
  
  ; Write the installation path into the registry
  WriteRegStr HKLM "SOFTWARE\${PROJECT}" "Install_Dir" "$INSTDIR"
  
  ; Write the uninstall keys for Windows
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROJECT}" "DisplayName" "${PROJECT}"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROJECT}" "UninstallString" '"$INSTDIR\uninstall.exe"'
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROJECT}" "NoModify" 1
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROJECT}" "NoRepair" 1
  WriteUninstaller "uninstall.exe"

  ; Create shortcut to uninstaller
  CreateDirectory "$SMPROGRAMS\${PROJECT}"
  CreateShortCut "$SMPROGRAMS\${PROJECT}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
  
SectionEnd



; Optional section (can be disabled by the user)
Section "ActiveX for VB, FoxPro etc."
  WriteRegStr HKLM "SOFTWARE\${PROJECT}" "ActiveX" "Installed"

  CreateDirectory "$INSTDIR\ActiveX"
  SetOutPath $INSTDIR\ActiveX

  File "..\dllcom\doxcom.dll"
  File "..\dllcom\doxcom.tlb"
  File "..\dllcom\readme.html"
  File "..\dllcom\bcpp\host.exe"

  RegDLL "$INSTDIR\ActiveX\doxcom.dll"

  CreateDirectory "$INSTDIR\ActiveX\vb\"
  SetOutPath "$INSTDIR\ActiveX\vb\"

  File "..\dllcom\vb\test.frm"
  File "..\dllcom\vb\test.frx"
  File "..\dllcom\vb\vbtest.vbp"  
  File "..\dllcom\vb\vbtest.vbw"  

  CreateDirectory "$INSTDIR\ActiveX\bcb3\"
  SetOutPath "$INSTDIR\ActiveX\bcb3\"
  File "..\dllcom\bcpp\host.bpr"  
  File "..\dllcom\bcpp\host.cpp"  
  File "..\dllcom\bcpp\host.res"  
  File "..\dllcom\bcpp\readme.txt"  
  File "..\dllcom\bcpp\TDodgyThread.cpp"  
  File "..\dllcom\bcpp\TDodgyThread.h"  
  File "..\dllcom\bcpp\TMain.cpp"  
  File "..\dllcom\bcpp\TMain.h"  
  File "..\dllcom\bcpp\TMain.dfm"  



  CreateDirectory "$SMPROGRAMS\${PROJECT}\ActiveX"
  CreateShortCut "$SMPROGRAMS\${PROJECT}\ActiveX\ActiveX Folder.lnk" "$INSTDIR\ActiveX"
  CreateShortCut "$SMPROGRAMS\${PROJECT}\ActiveX\Readme.lnk" "$INSTDIR\ActiveX\readme.html"
  CreateShortCut "$SMPROGRAMS\${PROJECT}\ActiveX\Test host.lnk" "$INSTDIR\ActiveX\host.exe"
  
SectionEnd



; Optional section (can be disabled by the user)
Section "DLL"
  WriteRegStr HKLM "SOFTWARE\${PROJECT}" "DLL" "Installed"

  CreateDirectory "$INSTDIR\DLL"
  SetOutPath "$INSTDIR\DLL"

  File "..\lib\doxlib.dll"
  File "..\lib\doxface.h"
  File "..\lib\readme.txt"
  File "..\lib\bcb3\testlib.exe"

  CreateDirectory "$INSTDIR\DLL\bcb3"
  SetOutPath "$INSTDIR\DLL\bcb3"
  File "..\lib\bcb3\main.cpp"
  File "..\lib\bcb3\main.dfm"
  File "..\lib\bcb3\main.h"
  File "..\lib\bcb3\TDodgyThread.cpp"
  File "..\lib\bcb3\TDodgyThread.h"
  File "..\lib\bcb3\testlib.bpr"
  File "..\lib\bcb3\testlib.cpp"
  File "..\lib\bcb3\testlib.res"


  CreateDirectory "$SMPROGRAMS\${PROJECT}\DLL"
  CreateShortCut "$SMPROGRAMS\${PROJECT}\DLL\DLL Folder.lnk" "$INSTDIR\DLL"
  CreateShortCut "$SMPROGRAMS\${PROJECT}\DLL\Readme.lnk" "$INSTDIR\DLL\readme.txt"
  CreateShortCut "$SMPROGRAMS\${PROJECT}\DLL\Test programme.lnk" "$INSTDIR\DLL\testlib.exe"
  
SectionEnd


;--------------------------------

; Uninstaller

Section "Uninstall"
  

  

  ReadRegStr $installed HKLM "SOFTWARE\${PROJECT}" "ActiveX"
  StrCmp $installed "" NoActiveX

    ; Remove ActiveX stuff
    UnRegDLL "$INSTDIR\ActiveX\doxcom.dll"
    Delete "$INSTDIR\ActiveX\*.*"
    Delete "$INSTDIR\ActiveX\vb\*.*"
    Delete "$INSTDIR\ActiveX\bcb3\*.*"

    RMDir "$INSTDIR\ActiveX\vb"
    RMDir "$INSTDIR\ActiveX\bcb3"
    RMDir "$INSTDIR\ActiveX"  

    Delete "$SMPROGRAMS\${PROJECT}\ActiveX\*.*"
    RMDir "$SMPROGRAMS\${PROJECT}\ActiveX"
  NoActiveX:


  ReadRegStr $installed HKLM "SOFTWARE\${PROJECT}" "DLL"
  StrCmp $installed "" NoDLL
    ; Remove DLL stuff
    Delete "$INSTDIR\DLL\*.*"
    Delete "$INSTDIR\DLL\bcb3\*.*"
    
    RMDir "$INSTDIR\DLL\bcb3"
    RMDir "$INSTDIR\DLL"

    Delete "$SMPROGRAMS\${PROJECT}\DLL\*.*"
    RMDir "$SMPROGRAMS\${PROJECT}\DLL"

  NoDLL:


  ; Delete uninstaller
  delete "$INSTDIR\uninstall.exe"
  ; Remove registry keys
  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROJECT}"
  DeleteRegKey HKLM "SOFTWARE\${PROJECT}"

  ; Remove shortcuts, if any
  Delete "$SMPROGRAMS\${PROJECT}\*.*"

  ; Remove directories used
  RMDir "$SMPROGRAMS\${PROJECT}"
  RMDir "$INSTDIR"

SectionEnd

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -