summaryrefslogtreecommitdiffstats
path: root/win/C#/Installer
diff options
context:
space:
mode:
authorsr55 <[email protected]>2007-09-24 15:49:16 +0000
committersr55 <[email protected]>2007-09-24 15:49:16 +0000
commit75e20b1d703e59b9a74738bf5301e6352b428a33 (patch)
treea70ecb08575040de36eacc3dc603eb464b9868da /win/C#/Installer
parent2f4097f0af04cbefc10b2981dedea457ab1054b5 (diff)
WinGUI:
- New Open Source Based Installed in use. (NullSoft Install System) Script for generating installer in /Installer - Added System Resolution and Total Available Memory Checks to the GUI. Someone with knowledge of the Scripting Language could add these to the installer script. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@986 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'win/C#/Installer')
-rw-r--r--win/C#/Installer/Installer.nsi139
1 files changed, 139 insertions, 0 deletions
diff --git a/win/C#/Installer/Installer.nsi b/win/C#/Installer/Installer.nsi
new file mode 100644
index 000000000..66a3f73df
--- /dev/null
+++ b/win/C#/Installer/Installer.nsi
@@ -0,0 +1,139 @@
+; Script generated by the HM NIS Edit Script Wizard.
+
+; HM NIS Edit Wizard helper defines
+!define PRODUCT_NAME "Handbrake"
+!define PRODUCT_VERSION "2.4"
+!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Handbrake.exe"
+!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
+!define PRODUCT_UNINST_ROOT_KEY "HKLM"
+
+; MUI 1.67 compatible ------
+!include "MUI.nsh"
+
+; MUI Settings
+!define MUI_ABORTWARNING
+!define MUI_ICON "handbrakepineapple.ico"
+!define MUI_UNICON "handbrakepineapple.ico"
+
+; Welcome page
+!insertmacro MUI_PAGE_WELCOME
+; License page
+!insertmacro MUI_PAGE_LICENSE "doc\COPYING"
+; Directory page
+!insertmacro MUI_PAGE_DIRECTORY
+; Instfiles page
+!insertmacro MUI_PAGE_INSTFILES
+; Finish page
+!define MUI_FINISHPAGE_RUN "$INSTDIR\Handbrake.exe"
+!insertmacro MUI_PAGE_FINISH
+
+; Uninstaller pages
+!insertmacro MUI_UNPAGE_INSTFILES
+
+; Language files
+!insertmacro MUI_LANGUAGE "English"
+
+; MUI end ------
+
+Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
+OutFile "Handbrake-Win.exe"
+
+!include WordFunc.nsh
+!insertmacro VersionCompare
+!include LogicLib.nsh
+
+; Check to see if .NET Framework 2.0 or above is Installed.
+Function .onInit
+ Call GetDotNETVersion
+ Pop $0
+ ${If} $0 == "not found"
+ MessageBox MB_OK|MB_ICONSTOP ".NET runtime library is not installed."
+ Abort
+ ${EndIf}
+
+ StrCpy $0 $0 "" 1 # skip "v"
+
+ ${VersionCompare} $0 "2.0" $1
+ ${If} $1 == 2
+ MessageBox MB_OK|MB_ICONSTOP ".NET runtime library v2.0 or newer is required. You have $0."
+ Abort
+ ${EndIf}
+FunctionEnd
+
+Function GetDotNETVersion
+ Push $0
+ Push $1
+
+ System::Call "mscoree::GetCORVersion(w .r0, i ${NSIS_MAX_STRLEN}, *i) i .r1 ?u"
+ StrCmp $1 "error" 0 +2
+ StrCpy $0 "not found"
+
+ Pop $1
+ Exch $0
+FunctionEnd
+
+
+
+
+
+InstallDir "$PROGRAMFILES\Handbrake"
+InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
+ShowInstDetails show
+ShowUnInstDetails show
+
+Section "Handbrake" SEC01
+ SetOutPath "$INSTDIR"
+ SetOverwrite ifnewer
+ File "Handbrake.exe"
+ CreateDirectory "$SMPROGRAMS\Handbrake"
+ CreateShortCut "$SMPROGRAMS\Handbrake\Handbrake.lnk" "$INSTDIR\Handbrake.exe"
+ CreateShortCut "$DESKTOP\Handbrake.lnk" "$INSTDIR\Handbrake.exe"
+ File "dvdinfo.dat"
+ File "cygwin1.dll"
+ File "hbcli.exe"
+ File "Handbrake.exe.config"
+ File "handbrakepineapple.ico"
+SectionEnd
+
+Section -AdditionalIcons
+ CreateShortCut "$SMPROGRAMS\Handbrake\Uninstall.lnk" "$INSTDIR\uninst.exe"
+SectionEnd
+
+Section -Post
+ WriteUninstaller "$INSTDIR\uninst.exe"
+ WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Handbrake.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Handbrake.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
+SectionEnd
+
+
+Function un.onUninstSuccess
+ HideWindow
+ MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."
+FunctionEnd
+
+Function un.onInit
+ MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2
+ Abort
+FunctionEnd
+
+Section Uninstall
+ Delete "$INSTDIR\uninst.exe"
+ Delete "$INSTDIR\handbrakepineapple.ico"
+ Delete "$INSTDIR\hbcli.exe"
+ Delete "$INSTDIR\cygwin1.dll"
+ Delete "$INSTDIR\dvdinfo.dat"
+ Delete "$INSTDIR\Handbrake.exe"
+ Delete "$INSTDIR\Handbrake.exe.config"
+ Delete "$SMPROGRAMS\Handbrake\Uninstall.lnk"
+ Delete "$DESKTOP\Handbrake.lnk"
+ Delete "$SMPROGRAMS\Handbrake\Handbrake.lnk"
+ RMDir "$SMPROGRAMS\Handbrake"
+ RMDir "$INSTDIR"
+
+ DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
+ DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
+ SetAutoClose true
+SectionEnd \ No newline at end of file