OSDN Git Service

import 0.9.4
[handbrake-jp/handbrake-jp.git] / win / C# / Installer / Installer.nsi
1 /*  Resources.Designer.cs $\r
2 \r
3            This file is part of the HandBrake source code.\r
4            Homepage: <http://handbrake.fr/>.\r
5            It may be used under the terms of the GNU General Public License. */\r
6 \r
7 ; Script generated by the HM NIS Edit Script Wizard.\r
8 \r
9 ; HM NIS Edit Wizard helper defines\r
10 !define PRODUCT_NAME "Handbrake"\r
11 !define PRODUCT_VERSION "SVN 2754 Snapshot"\r
12 !define PRODUCT_VERSION_NUMBER "svn2754"\r
13 !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Handbrake.exe"\r
14 !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"\r
15 !define PRODUCT_UNINST_ROOT_KEY "HKLM"\r
16 \r
17 SetCompressor lzma\r
18 \r
19 ; MUI 1.67 compatible ------\r
20 !include "MUI.nsh"\r
21 \r
22 ; MUI Settings\r
23 !define MUI_ABORTWARNING\r
24 !define MUI_ICON "handbrakepineapple.ico"\r
25 !define MUI_UNICON "handbrakepineapple.ico"\r
26 \r
27 ; Welcome page\r
28 !insertmacro MUI_PAGE_WELCOME\r
29 ; License page\r
30 !insertmacro MUI_PAGE_LICENSE "doc\COPYING"\r
31 ; Directory page\r
32 !insertmacro MUI_PAGE_DIRECTORY\r
33 ; Instfiles page\r
34 !insertmacro MUI_PAGE_INSTFILES\r
35 ; Finish page\r
36 !define MUI_FINISHPAGE_RUN "$INSTDIR\Handbrake.exe"\r
37 !insertmacro MUI_PAGE_FINISH\r
38 \r
39 ; Uninstaller pages\r
40 !insertmacro MUI_UNPAGE_INSTFILES\r
41 \r
42 ; Language files\r
43 !insertmacro MUI_LANGUAGE "English"\r
44 \r
45 ; MUI end ------\r
46 \r
47 Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"\r
48 OutFile "HandBrake-${PRODUCT_VERSION_NUMBER}-Win_GUI_CLI.exe"\r
49 \r
50 !include WordFunc.nsh\r
51 !insertmacro VersionCompare\r
52 !include LogicLib.nsh\r
53 \r
54 ; Check to see if .NET Framework 2.0 or above is Installed.\r
55 Function .onInit\r
56   Call GetDotNETVersion\r
57   Pop $0\r
58   ${If} $0 == "not found"\r
59     MessageBox MB_OK|MB_ICONSTOP ".NET runtime library is not installed. $\r$\n You can download .Net Framework 2.0 redistributable from the microsoft website. $\r$\n Alternatively you can use google for a direct download URL"\r
60     Abort\r
61   ${EndIf}\r
62 \r
63   StrCpy $0 $0 "" 1 # skip "v"\r
64 \r
65   ${VersionCompare} $0 "2.0" $1\r
66   ${If} $1 == 2\r
67     MessageBox MB_OK|MB_ICONSTOP ".NET runtime library v2.0 or newer is required. You have $0. $\r$\n You can download .Net Framework 2.0 redistributable from the Microsoft website. $\r$\n Alternatively you can use google for a direct download URL"\r
68     Abort\r
69   ${EndIf}\r
70 FunctionEnd\r
71 \r
72 Function GetDotNETVersion\r
73   Push $0\r
74   Push $1\r
75 \r
76   System::Call "mscoree::GetCORVersion(w .r0, i ${NSIS_MAX_STRLEN}, *i) i .r1 ?u"\r
77   StrCmp $1 "error" 0 +2\r
78     StrCpy $0 "not found"\r
79 \r
80   Pop $1\r
81   Exch $0\r
82 FunctionEnd\r
83 \r
84 \r
85 InstallDir "$PROGRAMFILES\Handbrake"\r
86 InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""\r
87 ShowInstDetails show\r
88 ShowUnInstDetails show\r
89 \r
90 Section "Handbrake" SEC01\r
91   SetOutPath "$INSTDIR"\r
92   SetOverwrite ifnewer\r
93   File "Handbrake.exe"\r
94   CreateDirectory "$SMPROGRAMS\Handbrake"\r
95   CreateShortCut "$SMPROGRAMS\Handbrake\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
96   CreateShortCut "$DESKTOP\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
97   File "Interop.QTOLibrary.dll"\r
98   File "Interop.QTOControlLib.dll"\r
99   File "AxInterop.QTOControlLib.dll"\r
100   File "Growl.Connector.dll"\r
101   File "Growl.CoreLibrary.dll"\r
102   File "libgcc_s_sjlj-1.dll"\r
103   File "HandBrakeCLI.exe"\r
104   File "Handbrake.exe.config"\r
105   File "handbrakepineapple.ico"\r
106 \r
107   SetOutPath "$INSTDIR\doc"\r
108   SetOverwrite ifnewer\r
109   File "doc\AUTHORS"\r
110   File "doc\COPYING"\r
111   File "doc\CREDITS"\r
112   File "doc\NEWS"\r
113   File "doc\THANKS"\r
114   File "doc\TRANSLATIONS"\r
115 SectionEnd\r
116 \r
117 Section -AdditionalIcons\r
118   CreateShortCut "$SMPROGRAMS\Handbrake\Uninstall.lnk" "$INSTDIR\uninst.exe"\r
119 SectionEnd\r
120 \r
121 Section -Post\r
122   WriteUninstaller "$INSTDIR\uninst.exe"\r
123   WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Handbrake.exe"\r
124   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"\r
125   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"\r
126   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Handbrake.exe"\r
127   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"\r
128 SectionEnd\r
129 \r
130 \r
131 Function un.onUninstSuccess\r
132   HideWindow\r
133   MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."\r
134 FunctionEnd\r
135 \r
136 Function un.onInit\r
137   MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2\r
138   Abort\r
139 FunctionEnd\r
140 \r
141 Section Uninstall\r
142   Delete "$INSTDIR\uninst.exe"\r
143   \r
144   Delete "$INSTDIR\Interop.QTOLibrary.dll"\r
145   Delete "$INSTDIR\Interop.QTOControlLib.dll"\r
146   Delete "$INSTDIR\AxInterop.QTOControlLib.dll"\r
147   Delete "$INSTDIR\HandBrakeCLI.exe"\r
148   Delete "$INSTDIR\handbrakepineapple.ico"\r
149   Delete "$INSTDIR\Handbrake.exe"\r
150   Delete "$INSTDIR\Handbrake.exe.config"\r
151   Delete "$INSTDIR\Growl.Connector.dll"\r
152   Delete "$INSTDIR\Growl.CoreLibrary.dll"\r
153   Delete "$INSTDIR\libgcc_s_sjlj-1.dll"\r
154   Delete "$INSTDIR\doc\AUTHORS"\r
155   Delete "$INSTDIR\doc\COPYING"\r
156   Delete "$INSTDIR\doc\CREDITS"\r
157   Delete "$INSTDIR\doc\NEWS"\r
158   Delete "$INSTDIR\doc\THANKS"\r
159   Delete "$INSTDIR\doc\TRANSLATIONS"\r
160   RMDir  "$INSTDIR"\r
161   Delete "$SMPROGRAMS\Handbrake\Uninstall.lnk"\r
162   Delete "$DESKTOP\Handbrake.lnk"\r
163   Delete "$SMPROGRAMS\Handbrake\Handbrake.lnk"\r
164   RMDir  "$SMPROGRAMS\Handbrake"\r
165   RMDir  "$INSTDIR"\r
166 \r
167   DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"\r
168   DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"\r
169   SetAutoClose true\r
170 SectionEnd