OSDN Git Service

WinGui:
[handbrake-jp/handbrake-jp-git.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 2592 Snapshot"\r
12 !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Handbrake.exe"\r
13 !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"\r
14 !define PRODUCT_UNINST_ROOT_KEY "HKLM"\r
15 \r
16 SetCompressor lzma\r
17 \r
18 ; MUI 1.67 compatible ------\r
19 !include "MUI.nsh"\r
20 \r
21 ; MUI Settings\r
22 !define MUI_ABORTWARNING\r
23 !define MUI_ICON "handbrakepineapple.ico"\r
24 !define MUI_UNICON "handbrakepineapple.ico"\r
25 \r
26 ; Welcome page\r
27 !insertmacro MUI_PAGE_WELCOME\r
28 ; License page\r
29 !insertmacro MUI_PAGE_LICENSE "doc\COPYING"\r
30 ; Directory page\r
31 !insertmacro MUI_PAGE_DIRECTORY\r
32 ; Instfiles page\r
33 !insertmacro MUI_PAGE_INSTFILES\r
34 ; Finish page\r
35 !define MUI_FINISHPAGE_RUN "$INSTDIR\Handbrake.exe"\r
36 !insertmacro MUI_PAGE_FINISH\r
37 \r
38 ; Uninstaller pages\r
39 !insertmacro MUI_UNPAGE_INSTFILES\r
40 \r
41 ; Language files\r
42 !insertmacro MUI_LANGUAGE "English"\r
43 \r
44 ; MUI end ------\r
45 \r
46 Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"\r
47 OutFile "Handbrake-Setup.exe"\r
48 \r
49 !include WordFunc.nsh\r
50 !insertmacro VersionCompare\r
51 !include LogicLib.nsh\r
52 \r
53 ; Check to see if .NET Framework 2.0 or above is Installed.\r
54 Function .onInit\r
55   Call GetDotNETVersion\r
56   Pop $0\r
57   ${If} $0 == "not found"\r
58     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
59     Abort\r
60   ${EndIf}\r
61 \r
62   StrCpy $0 $0 "" 1 # skip "v"\r
63 \r
64   ${VersionCompare} $0 "2.0" $1\r
65   ${If} $1 == 2\r
66     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
67     Abort\r
68   ${EndIf}\r
69 FunctionEnd\r
70 \r
71 Function GetDotNETVersion\r
72   Push $0\r
73   Push $1\r
74 \r
75   System::Call "mscoree::GetCORVersion(w .r0, i ${NSIS_MAX_STRLEN}, *i) i .r1 ?u"\r
76   StrCmp $1 "error" 0 +2\r
77     StrCpy $0 "not found"\r
78 \r
79   Pop $1\r
80   Exch $0\r
81 FunctionEnd\r
82 \r
83 \r
84 InstallDir "$PROGRAMFILES\Handbrake"\r
85 InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""\r
86 ShowInstDetails show\r
87 ShowUnInstDetails show\r
88 \r
89 Section "Handbrake" SEC01\r
90   SetOutPath "$INSTDIR"\r
91   SetOverwrite ifnewer\r
92   File "Handbrake.exe"\r
93   CreateDirectory "$SMPROGRAMS\Handbrake"\r
94   CreateShortCut "$SMPROGRAMS\Handbrake\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
95   CreateShortCut "$DESKTOP\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
96   File "Interop.QTOLibrary.dll"\r
97   File "Interop.QTOControlLib.dll"\r
98   File "AxInterop.QTOControlLib.dll"\r
99   File "HandBrakeCLI.exe"\r
100   File "Handbrake.exe.config"\r
101   File "handbrakepineapple.ico"\r
102 \r
103   SetOutPath "$INSTDIR\doc"\r
104   SetOverwrite ifnewer\r
105   File "doc\AUTHORS"\r
106   File "doc\COPYING"\r
107   File "doc\CREDITS"\r
108   File "doc\NEWS"\r
109   File "doc\THANKS"\r
110   File "doc\TRANSLATIONS"\r
111 SectionEnd\r
112 \r
113 Section -AdditionalIcons\r
114   CreateShortCut "$SMPROGRAMS\Handbrake\Uninstall.lnk" "$INSTDIR\uninst.exe"\r
115 SectionEnd\r
116 \r
117 Section -Post\r
118   WriteUninstaller "$INSTDIR\uninst.exe"\r
119   WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Handbrake.exe"\r
120   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"\r
121   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"\r
122   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Handbrake.exe"\r
123   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"\r
124 SectionEnd\r
125 \r
126 \r
127 Function un.onUninstSuccess\r
128   HideWindow\r
129   MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."\r
130 FunctionEnd\r
131 \r
132 Function un.onInit\r
133   MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2\r
134   Abort\r
135 FunctionEnd\r
136 \r
137 Section Uninstall\r
138   Delete "$INSTDIR\uninst.exe"\r
139   \r
140   Delete "$INSTDIR\Interop.QTOLibrary.dll"\r
141   Delete "$INSTDIR\Interop.QTOControlLib.dll"\r
142   Delete "$INSTDIR\AxInterop.QTOControlLib.dll"\r
143   Delete "$INSTDIR\HandBrakeCLI.exe"\r
144   Delete "$INSTDIR\handbrakepineapple.ico"\r
145   Delete "$INSTDIR\Handbrake.exe"\r
146   Delete "$INSTDIR\Handbrake.exe.config"\r
147   Delete "$INSTDIR\doc\AUTHORS"\r
148   Delete "$INSTDIR\doc\COPYING"\r
149   Delete "$INSTDIR\doc\CREDITS"\r
150   Delete "$INSTDIR\doc\NEWS"\r
151   Delete "$INSTDIR\doc\THANKS"\r
152   Delete "$INSTDIR\doc\TRANSLATIONS"\r
153   RMDir  "$INSTDIR"\r
154   Delete "$SMPROGRAMS\Handbrake\Uninstall.lnk"\r
155   Delete "$DESKTOP\Handbrake.lnk"\r
156   Delete "$SMPROGRAMS\Handbrake\Handbrake.lnk"\r
157   RMDir  "$SMPROGRAMS\Handbrake"\r
158   RMDir  "$INSTDIR"\r
159 \r
160   DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"\r
161   DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"\r
162   SetAutoClose true\r
163 SectionEnd