out_vectorama.nsi 5.75 KB
; NSIS script - ONLY for use with AutoPublish/AutoUpdate system

; //keitsi



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

;Include Modern UI



  !include "MUI.nsh"



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

;Configuration

  SetCompressor lzma



  Name "RamaSignup v1_00_05 vectorama"

  ; 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\RamaSignup"

  

  ;Get install folder from registry if available

  InstallDirRegKey HKCU "Software\RamaSignup" ""



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

;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\RamaSignup.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

	Call GetDotNet

FunctionEnd



Function .onInstSuccess

	Exec '"$INSTDIR\RamaSignup.exe"'

FunctionEnd



Function WaitProgramClose

	IfFileExists "$INSTDIR\RamaSignup.exe" loop NotInstalled

loop:

	ClearErrors

	Delete "$INSTDIR\RamaSignup.exe"

	${If} ${Errors}

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

		Sleep 2000

		ClearErrors

		Delete "$INSTDIR\RamaSignup.exe"

		${If} ${Errors}

			MessageBox MB_OK "Program RamaSignup.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 "!RamaSignup v1_00_05" SecMain

  SetOutPath "$INSTDIR"

  Call WaitProgramClose

  SetOverwrite off

  File /oname=ramasignup.conf "C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\ramasignup.conf"

  SetOverwrite on

  File /oname=autoupdate.xml "C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\autoupdate.vectorama.xml"

  File /oname=RamaSignup.exe "C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\RamaSignup.exe"

  File /oname=RamaSignup.pdb "C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\RamaSignup.pdb"

;  File /oname=Npgsql.pdb "C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\Npgsql.pdb"







;  File /oname=NpgsqlAltPool.pdb "C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\NpgsqlAltPool.pdb"

  File /oname=AutoUpdateLib.pdb "C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\AutoUpdateLib.pdb"

;  File /oname=ConfLibSql.pdb "C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\ConfLibSql.pdb"

  File autoupdate.crt

 ;File "..\..\res\speexenc.exe"

  ; File "C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\logo.jpg"

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

  ; that is referenced to the main project.

  File "C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\ConfLib2.dll"
  File "C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\NpgsqlAltPool.dll"
  File "C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\Npgsql.dll"
  File "C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\Mono.Security.dll"
  File "C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\AutoUpdateLib.dll"
  File "C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\DynamicPg.dll"



  WriteRegStr HKCU "Software\RamaSignup" "" $INSTDIR

  

  ;Create uninstaller

  WriteUninstaller "$INSTDIR\Uninstall.exe"



    ;Create shortcuts

    CreateDirectory "$SMPROGRAMS\RamaSignup"

    CreateShortCut "$SMPROGRAMS\RamaSignup\RamaSignup.lnk" "$INSTDIR\RamaSignup.exe"

    CreateShortCut "$SMPROGRAMS\RamaSignup\Uninstall RamaSignup.lnk" "$INSTDIR\Uninstall.exe"

  

SectionEnd



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

;Descriptions



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



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

;Uninstaller Section



Section "Uninstall"



  Delete "$SMPROGRAMS\RamaSignup\*"



  RMDir "$SMPROGRAMS\RamaSignup"

  Delete "$INSTDIR\RamaSignup.exe"

  Delete "$INSTDIR\autoupdate.xml"

  Delete "$INSTDIR\autoupdate.crt"

  Delete "$INSTDIR\speexenc.exe"



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

  ; that is referenced to the main project.

  Delete "$INSTDIR\C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\ConfLib2.dll"
  Delete "$INSTDIR\C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\NpgsqlAltPool.dll"
  Delete "$INSTDIR\C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\Npgsql.dll"
  Delete "$INSTDIR\C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\Mono.Security.dll"
  Delete "$INSTDIR\C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\AutoUpdateLib.dll"
  Delete "$INSTDIR\C:\Devel\proj\BigBrother\RamaSignup\RamaSignup\bin\Debug\DynamicPg.dll"



  Delete "$INSTDIR\Uninstall.exe"



  RMDir "$INSTDIR"

  

SectionEnd