out_moya.nsi 9.75 KB
; NSIS script - ONLY for use with AutoPublish/AutoUpdate system

; //keitsi



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

;Include Modern UI



  !include "MUI.nsh"



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

;Configuration

  SetCompressor lzma



  Name "MoyaSignup moya v1_00_57"

  ; DO NOT CHANGE OutFile "installer_temp.exe" !!! AutoPublish requires this.

  ; AutoPublish will move the installer according to autopublish.xml file.

  OutFile "installer_temp.exe"

  

  ;Folder selection page

  ; InstallDir "$PROGRAMFILES\MoyaSignup_moya"

  

  ShowInstDetails show



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

;Interface Settings



  !define MUI_ABORTWARNING



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

;Pages



  ; !insertmacro MUI_PAGE_LICENSE "license.txt"

  !insertmacro MUI_PAGE_COMPONENTS

  !insertmacro MUI_PAGE_DIRECTORY

  !insertmacro MUI_PAGE_INSTFILES



  ; !define MUI_FINISHPAGE_RUN $INSTDIR\MoyaSignup.exe

  !insertmacro MUI_PAGE_FINISH



  !insertmacro MUI_UNPAGE_CONFIRM

  !insertmacro MUI_UNPAGE_INSTFILES



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

;Languages

 

  !insertmacro MUI_LANGUAGE "English"



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

;Installer Sections



Function GetDotNet

  IfFileExists "$WINDIR\Microsoft.NET\Framework\v2.0.50727\installUtil.exe" NextStep

  MessageBox MB_OK|MB_ICONEXCLAMATION "You must have the Microsoft .NET Framework 2.0 Installed to use this application. $\n$\nClick 'Open' in the following file dialog to download and run the Microsoft .NET Framework Installer..."

  ExecShell Open "http://www.microsoft.com/downloads/info.aspx?na=90&p=&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=0856eacb-4362-4b0d-8edd-aab15c5e04f5&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f5%2f6%2f7%2f567758a3-759e-473e-bf8f-52154438565a%2fdotnetfx.exe" SW_SHOWNORMAL

  Quit

NextStep:

FunctionEnd



Function .onInit

; Uber users are so uber that they do not need checks ;)

;  Call GetDotNet

  Call DetectInstallDir

FunctionEnd



Function DetectInstallDir

  ;Try to get install folder from obsoleted registry key first, if available

  ClearErrors

  ReadRegStr $INSTDIR HKCU "Software\MoyaSignup" ""

  IfErrors 0 instdirfound

  ClearErrors

  ; No obsoleted regkey present, try to read the correct one

  ReadRegStr $INSTDIR HKCU "Software\MoyaSignup_moya" ""

  IfErrors 0 instdirfound

  ClearErrors

  ; No installation dir regkey present at all - use default installation directory.

  StrCpy $INSTDIR "$PROGRAMFILES\MoyaSignup_moya"

instdirfound:

FunctionEnd



Function .onInstSuccess

  Exec '"$INSTDIR\MoyaSignup.exe"'

FunctionEnd



Function WaitProgramClose

  IfFileExists "$INSTDIR\MoyaSignup.exe" loop NotInstalled

loop:

  ClearErrors

  Delete "$INSTDIR\MoyaSignup.exe"

  ${If} ${Errors}

    ; Delete failed - means the program is still running. Sleep 2 seconds and retry.

    Sleep 3000

    ClearErrors

    Delete "$INSTDIR\MoyaSignup.exe"

    ${If} ${Errors}

      MessageBox MB_OK "Program MoyaSignup.exe didn't close in 2 seconds. Automatic update can't continue before it's closed. Please close the program manually and hit OK to retry."

      goto loop

    ${EndIf}

  ${EndIf}

NotInstalled:

FunctionEnd



Section "!MoyaSignup moya stable v1_00_57" SecMain

  SetShellVarContext current

  SetOutPath "$INSTDIR"

  Call WaitProgramClose

  ; SetOverwrite Off

  

  SetOverwrite On



  File /oname=opencv_core220.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\opencv_core220.dll"

  File /oname=opencv_imgproc220.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\opencv_imgproc220.dll"

  File /oname=cvextern.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\cvextern.dll"

  File /oname=opencv_calib3d220.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\opencv_calib3d220.dll"

  File /oname=opencv_contrib220.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\opencv_contrib220.dll"

  File /oname=opencv_features2d220.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\opencv_features2d220.dll"

  File /oname=opencv_flann220.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\opencv_flann220.dll"

  File /oname=opencv_gpu220.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\opencv_gpu220.dll"

  File /oname=opencv_highgui220.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\opencv_highgui220.dll"

  File /oname=opencv_imgproc220.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\opencv_imgproc220.dll"

  File /oname=opencv_legacy220.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\opencv_legacy220.dll"

  File /oname=opencv_ml220.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\opencv_ml220.dll"

  File /oname=opencv_objdetect220.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\opencv_objdetect220.dll"

  File /oname=opencv_video220.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\opencv_video220.dll"

  File /oname=highgui110.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\highgui110.dll"

  File /oname=cv110.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\cv110.dll"

  File /oname=cvaux110.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\cvaux110.dll"

  File /oname=cxcore110.dll "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\cxcore110.dll"



  File /oname=haarcascade_frontalface_default.xml "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\haarcascade_frontalface_default.xml"

  File /oname=autoupdate.xml "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\autoupdate.moya.xml"

  File /oname=MoyaSignup.exe "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\MoyaSignup.exe"

  File autoupdate.crt



  ; this line will be replicated for every non-default existing assembly

  ; that is referenced to the main project.

  File "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\MoyaAdminLib.dll"
  File "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\DirectShowLib.dll"
  File "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\ThermoPrinterLibrary.dll"
  File "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\Emgu.CV.dll"
  File "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\Emgu.Util.dll"
  File "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\Emgu.CV.UI.dll"
  File "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\ZedGraph.dll"
  File "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\QRCoder.dll"
  File "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\UnityEngine.dll"
  File "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\Mono.Security.dll"
  File "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\AutoUpdateLib.dll"

  File "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\MoyaSignup.pdb"
  File "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\MoyaAdminLib.pdb"
  File "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\DirectShowLib.pdb"
  File "C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\ThermoPrinterLibrary.pdb"



  ; Write install path to registry (projectname_customer_versiongroup)

  WriteRegStr HKCU "Software\MoyaSignup_moya" "" $INSTDIR

  ; Remove obsoleted registry key on install

  DeleteRegKey HKCU "Software\MoyaSignup"



  ;Create uninstaller

  WriteUninstaller "$INSTDIR\Uninstall.exe"



  ;Create shortcuts

  CreateDirectory "$SMPROGRAMS\MoyaSignup moya"

  CreateShortCut "$SMPROGRAMS\MoyaSignup moya\MoyaSignup.lnk" "$INSTDIR\MoyaSignup.exe"

  CreateShortCut "$SMPROGRAMS\MoyaSignup moya\Uninstall MoyaSignup.lnk" "$INSTDIR\Uninstall.exe"

  

  ; Remove shortcuts from old shortcut naming scheme path, if any

  SetShellVarContext all

  Delete "$SMPROGRAMS\MoyaSignup\MoyaSignup.lnk"

  Delete "$SMPROGRAMS\MoyaSignup\Uninstall MoyaSignup.lnk"

  RMDir "$SMPROGRAMS\MoyaSignup"

  SetShellVarContext current

  Delete "$SMPROGRAMS\MoyaSignup\MoyaSignup.lnk"

  Delete "$SMPROGRAMS\MoyaSignup\Uninstall MoyaSignup.lnk"

  RMDir "$SMPROGRAMS\MoyaSignup"

SectionEnd



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

;Descriptions



  LangString DESC_SecMain ${LANG_ENGLISH} "Base (required)"



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

;Uninstaller Section



Section "Uninstall"



  Delete "$SMPROGRAMS\MoyaSignup moya\*"

  RMDir "$SMPROGRAMS\MoyaSignup moya"

  Delete "$INSTDIR\MoyaSignup.exe"

  Delete "$INSTDIR\autoupdate.xml"

  Delete "$INSTDIR\autoupdate.crt"



  ; this line will be replicated for every non-default existing assembly

  ; that is referenced to the main project.

  Delete "$INSTDIR\C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\MoyaAdminLib.dll"
  Delete "$INSTDIR\C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\DirectShowLib.dll"
  Delete "$INSTDIR\C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\ThermoPrinterLibrary.dll"
  Delete "$INSTDIR\C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\Emgu.CV.dll"
  Delete "$INSTDIR\C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\Emgu.Util.dll"
  Delete "$INSTDIR\C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\Emgu.CV.UI.dll"
  Delete "$INSTDIR\C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\ZedGraph.dll"
  Delete "$INSTDIR\C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\QRCoder.dll"
  Delete "$INSTDIR\C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\UnityEngine.dll"
  Delete "$INSTDIR\C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\Mono.Security.dll"
  Delete "$INSTDIR\C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\AutoUpdateLib.dll"

  Delete "$INSTDIR\C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\MoyaSignup.pdb"
  Delete "$INSTDIR\C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\MoyaAdminLib.pdb"
  Delete "$INSTDIR\C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\DirectShowLib.pdb"
  Delete "$INSTDIR\C:\devel\proj\moya-info-tools\MoyaSignup\bin\x86\Debug\ThermoPrinterLibrary.pdb"



  Delete "$INSTDIR\Uninstall.exe"



  RMDir "$INSTDIR"

  

SectionEnd