OSDN Git Service

WinGUI:
[handbrake-jp/handbrake-jp-git.git] / win / C# / Installer / Installer.nsi
1 ; Script generated by the HM NIS Edit Script Wizard.\r
2 \r
3 ; HM NIS Edit Wizard helper defines\r
4 !define PRODUCT_NAME "Handbrake"\r
5 !define PRODUCT_VERSION "2.4"\r
6 !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Handbrake.exe"\r
7 !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"\r
8 !define PRODUCT_UNINST_ROOT_KEY "HKLM"\r
9 \r
10 ; MUI 1.67 compatible ------\r
11 !include "MUI.nsh"\r
12 \r
13 ; MUI Settings\r
14 !define MUI_ABORTWARNING\r
15 !define MUI_ICON "handbrakepineapple.ico"\r
16 !define MUI_UNICON "handbrakepineapple.ico"\r
17 \r
18 ; Welcome page\r
19 !insertmacro MUI_PAGE_WELCOME\r
20 ; License page\r
21 !insertmacro MUI_PAGE_LICENSE "doc\COPYING"\r
22 ; Directory page\r
23 !insertmacro MUI_PAGE_DIRECTORY\r
24 ; Instfiles page\r
25 !insertmacro MUI_PAGE_INSTFILES\r
26 ; Finish page\r
27 !define MUI_FINISHPAGE_RUN "$INSTDIR\Handbrake.exe"\r
28 !insertmacro MUI_PAGE_FINISH\r
29 \r
30 ; Uninstaller pages\r
31 !insertmacro MUI_UNPAGE_INSTFILES\r
32 \r
33 ; Language files\r
34 !insertmacro MUI_LANGUAGE "English"\r
35 \r
36 ; MUI end ------\r
37 \r
38 Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"\r
39 OutFile "Handbrake-Win.exe"\r
40 \r
41 !include WordFunc.nsh\r
42 !insertmacro VersionCompare\r
43 !include LogicLib.nsh\r
44 \r
45 ; Check to see if .NET Framework 2.0 or above is Installed.\r
46 Function .onInit\r
47   Call GetDotNETVersion\r
48   Pop $0\r
49   ${If} $0 == "not found"\r
50     MessageBox MB_OK|MB_ICONSTOP ".NET runtime library is not installed."\r
51     Abort\r
52   ${EndIf}\r
53 \r
54   StrCpy $0 $0 "" 1 # skip "v"\r
55 \r
56   ${VersionCompare} $0 "2.0" $1\r
57   ${If} $1 == 2\r
58     MessageBox MB_OK|MB_ICONSTOP ".NET runtime library v2.0 or newer is required. You have $0."\r
59     Abort\r
60   ${EndIf}\r
61 FunctionEnd\r
62 \r
63 Function GetDotNETVersion\r
64   Push $0\r
65   Push $1\r
66 \r
67   System::Call "mscoree::GetCORVersion(w .r0, i ${NSIS_MAX_STRLEN}, *i) i .r1 ?u"\r
68   StrCmp $1 "error" 0 +2\r
69     StrCpy $0 "not found"\r
70 \r
71   Pop $1\r
72   Exch $0\r
73 FunctionEnd\r
74 \r
75 \r
76 \r
77 \r
78 \r
79 InstallDir "$PROGRAMFILES\Handbrake"\r
80 InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""\r
81 ShowInstDetails show\r
82 ShowUnInstDetails show\r
83 \r
84 Section "Handbrake" SEC01\r
85   SetOutPath "$INSTDIR"\r
86   SetOverwrite ifnewer\r
87   File "Handbrake.exe"\r
88   CreateDirectory "$SMPROGRAMS\Handbrake"\r
89   CreateShortCut "$SMPROGRAMS\Handbrake\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
90   CreateShortCut "$DESKTOP\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
91   File "dvdinfo.dat"\r
92   File "cygwin1.dll"\r
93   File "hbcli.exe"\r
94   File "Handbrake.exe.config"\r
95   File "handbrakepineapple.ico"\r
96 SectionEnd\r
97 \r
98 Section -AdditionalIcons\r
99   CreateShortCut "$SMPROGRAMS\Handbrake\Uninstall.lnk" "$INSTDIR\uninst.exe"\r
100 SectionEnd\r
101 \r
102 Section -Post\r
103   WriteUninstaller "$INSTDIR\uninst.exe"\r
104   WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Handbrake.exe"\r
105   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"\r
106   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"\r
107   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Handbrake.exe"\r
108   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"\r
109 SectionEnd\r
110 \r
111 \r
112 Function un.onUninstSuccess\r
113   HideWindow\r
114   MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."\r
115 FunctionEnd\r
116 \r
117 Function un.onInit\r
118   MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2\r
119   Abort\r
120 FunctionEnd\r
121 \r
122 Section Uninstall\r
123   Delete "$INSTDIR\uninst.exe"\r
124   Delete "$INSTDIR\handbrakepineapple.ico"\r
125   Delete "$INSTDIR\hbcli.exe"\r
126   Delete "$INSTDIR\cygwin1.dll"\r
127   Delete "$INSTDIR\dvdinfo.dat"\r
128   Delete "$INSTDIR\Handbrake.exe"\r
129   Delete "$INSTDIR\Handbrake.exe.config"\r
130   Delete "$SMPROGRAMS\Handbrake\Uninstall.lnk"\r
131   Delete "$DESKTOP\Handbrake.lnk"\r
132   Delete "$SMPROGRAMS\Handbrake\Handbrake.lnk"\r
133   RMDir "$SMPROGRAMS\Handbrake"\r
134   RMDir "$INSTDIR"\r
135 \r
136   DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"\r
137   DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"\r
138   SetAutoClose true\r
139 SectionEnd