root/trunk/uploadr/win_installer/build.nsi

Revision 534, 6.1 kB (checked in by jdecq, 9 months ago)

install updater.ini

Line 
1 ;
2 ; Flickr Uploadr
3 ;
4 ; Copyright (c) 2007-2009 Yahoo! Inc.  All rights reserved.  This library is
5 ; free software; you can redistribute it and/or modify it under the terms of
6 ; the GNU General Public License (GPL), version 2 only.  This library is
7 ; distributed WITHOUT ANY WARRANTY, whether express or implied. See the GNU
8 ; GPL for more details (http://www.gnu.org/licenses/gpl.html)
9 ;
10
11 ; Compile-Time Variables:
12 ; VERSION       #.#.#           (whatever, really)
13 ; VERSION_DATE  YYYY.MM.DD.nn   (strictly now)
14
15 !include "MUI.nsh"
16 !include "LogicLib.nsh"
17
18 !define MUI_ABORTWARNING
19 !define MUI_HEADERIMAGE
20
21 !insertmacro MUI_PAGE_WELCOME
22 !insertmacro MUI_PAGE_DIRECTORY
23 Page custom CustomPageA
24 !insertmacro MUI_PAGE_INSTFILES
25 !insertmacro MUI_PAGE_FINISH
26
27 !insertmacro MUI_UNPAGE_WELCOME
28 !insertmacro MUI_UNPAGE_CONFIRM
29 !insertmacro MUI_UNPAGE_INSTFILES
30 !insertmacro MUI_UNPAGE_FINISH
31
32
33
34 ;
35 ; Strings and intl and burritos
36 ;
37
38 !macro LANG_STRING NAME VALUE
39         LangString "${NAME}" "${LANG_${LANG}}" "${VALUE}"
40 !macroend
41
42 !include "strings.nsh"
43 !insertmacro MUI_LANGUAGE "${LANG_NAME}"
44
45 !insertmacro LANG_STRING title_version          "${LANG_STR_TITLE_VERSION}"
46 !insertmacro LANG_STRING title_version_inst     "${LANG_STR_TITLE_VERSION_INST}"
47 !insertmacro LANG_STRING copyright              "${LANG_STR_COPYRIGHT}"
48 !insertmacro LANG_STRING inst                   "${LANG_STR_INST}"
49 !insertmacro LANG_STRING integ_title            "${LANG_STR_INTEG_TITLE}"
50 !insertmacro LANG_STRING integ_text             "${LANG_STR_INTEG_TEXT}"
51 !insertmacro LANG_STRING send                   "${LANG_STR_SEND}"
52
53 ;
54 ; Version-y bits
55 ;
56
57 Name "$(title_version)"
58 Caption "$(title_version_inst)"
59
60 OutFile "FlickrUploadr-${VERSION}-XX.exe"
61 XPStyle on
62
63 InstallDir "$PROGRAMFILES\Flickr Uploadr"
64
65 InstallDirRegKey HKCU "Software\Flickr Uploadr" ""
66
67 VIProductVersion "${VERSION_DATE}"
68 VIAddVersionKey "CompanyName" "Flickr"
69 VIAddVersionKey "LegalCopyright" "$(copyright)"
70 VIAddVersionKey "FileDescription" "$(title_version)"
71 VIAddVersionKey "FileVersion" "${VERSION}"
72
73
74
75 ReserveFile "config.ini"
76 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
77
78 Var INI_VALUE
79
80 Section "Install" SecInstall
81
82         SetOutPath "$INSTDIR"
83
84         SetOverwrite on 
85
86         ; Chrome
87         CreateDirectory "$INSTDIR\chrome"
88         CreateDirectory "$INSTDIR\chrome\icons"
89         CreateDirectory "$INSTDIR\chrome\icons\default"
90         File /oname=chrome\icons\default\main.ico       "Flickr Uploadr\chrome\icons\default\main.ico"
91         File /oname=chrome\icons\default\updates.ico    "Flickr Uploadr\chrome\icons\default\updates.ico"
92         File /oname=chrome\uploadr.jar                  "Flickr Uploadr\chrome\uploadr.jar"
93         File /oname=chrome\chrome.manifest              "Flickr Uploadr\chrome\chrome.manifest"
94
95         ; XPCOM components
96         CreateDirectory "$INSTDIR\components"
97         File /oname=components\gm.dll                   "Flickr Uploadr\components\gm.dll"
98         File /oname=components\flIGM.xpt                "Flickr Uploadr\components\flIGM.xpt"
99         File /oname=components\key.dll                  "Flickr Uploadr\components\key.dll"
100         File /oname=components\flIKey.xpt               "Flickr Uploadr\components\flIKey.xpt"
101         File /oname=components\clh.js                   "Flickr Uploadr\components\clh.js"
102         File /oname=components\flICLH.xpt               "Flickr Uploadr\components\flICLH.xpt"
103
104         ; CRT
105         File "Flickr Uploadr\vcredist_x86.exe"
106         ExecWait '"$INSTDIR\vcredist_x86.exe" /q:a /c:"VCREDI~1.EXE /q:a /c:""msiexec /i vcredist.msi /qb!"" "'
107
108         ; XULRunner and friends
109         File /r /x .svn "Flickr Uploadr\defaults"
110         File /r /x .svn "Flickr Uploadr\xulrunner"
111         File "Flickr Uploadr\application.ini"
112         File "Flickr Uploadr\updater.ini"
113         File "Flickr Uploadr\LICENSE.txt"
114         File "Flickr Uploadr\icons.ico"
115         File "Flickr Uploadr\magic.mgk"
116         File "Flickr Uploadr\modules.mgk"
117         File "Flickr Uploadr\delegates.mgk"
118         File "Flickr Uploadr\libexpat.dll"
119         File "Flickr Uploadr\Flickr Uploadr.exe"
120
121         ; Uninstaller
122         WriteRegStr HKCU "Software\Flickr Uploadr" "" $INSTDIR
123         WriteUninstaller "$INSTDIR\uninstall.exe"
124         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Flickr Uploadr" "DisplayName" "Flickr Uploadr ${VERSION}"
125         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Flickr Uploadr" "UninstallString" '"$INSTDIR\uninstall.exe"'
126         WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Flickr Uploadr" "NoModify" 1
127         WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Flickr Uploadr" "NoRepair" 1
128
129         ; Right click menu options
130         WriteRegStr HKCR "SystemFileAssociations\image\shell\edit.FlickrUploadr" "" "$(send)"
131         WriteRegStr HKCR "SystemFileAssociations\image\shell\edit.FlickrUploadr\command" "" '"$INSTDIR\Flickr Uploadr.exe" "%1"'
132         WriteRegStr HKCR "SystemFileAssociations\video\shell\edit.FlickrUploadr" "" "$(send)"
133         WriteRegStr HKCR "SystemFileAssociations\video\shell\edit.FlickrUploadr\command" "" '"$INSTDIR\Flickr Uploadr.exe" "%1"'
134
135 SectionEnd
136
137 Section "Start Menu Shortcuts"
138         CreateShortCut "$SMPROGRAMS\Flickr Uploadr.lnk" "$INSTDIR\Flickr Uploadr.exe" "" "$INSTDIR\Flickr Uploadr.exe" 0
139         !insertmacro MUI_INSTALLOPTIONS_READ $INI_VALUE "config.ini" "Field 1" "State"
140         StrCmp $INI_VALUE "1" "" +2   
141                 CreateShortCut "$DESKTOP\Flickr Uploadr.lnk" "$INSTDIR\Flickr Uploadr.exe" "" "$INSTDIR\Flickr Uploadr.exe" 0
142 SectionEnd
143
144 Function .onInit
145         !insertmacro MUI_INSTALLOPTIONS_EXTRACT "config.ini"
146 FunctionEnd
147
148 Function CustomPageA
149         !insertmacro MUI_HEADER_TEXT "$(integ_title)" "$(integ_text)"
150         !insertmacro MUI_INSTALLOPTIONS_DISPLAY "config.ini"
151 FunctionEnd
152
153 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
154 !insertmacro MUI_DESCRIPTION_TEXT ${SecInstall} $(inst)
155 !insertmacro MUI_FUNCTION_DESCRIPTION_END
156
157 UninstallIcon "Flickr Uploadr\icons.ico"
158
159 Section "Uninstall"
160         DeleteRegKey /ifempty HKCU "Software\Flickr Uploadr"
161         DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Flickr Uploadr"
162         DeleteRegKey HKLM "Software\Flickr Uploadr"
163         DeleteRegKey HKCR "SystemFileAssociations\image\shell\edit.FlickrUploadr"
164         DeleteRegKey HKCR "SystemFileAssociations\image\shell\edit.FlickrUploadr\command"
165         Delete "$INSTDIR"
166         Delete "$SMPROGRAMS\Flickr Uploadr.lnk"
167         Delete "$DESKTOP\Flickr Uploadr.lnk"
168         RMDir /r "$SMPROGRAMS\Flickr Uploadr"
169         RMDir /r "$INSTDIR"
170 SectionEnd
171
172 Icon "Flickr Uploadr\icons.ico"
Note: See TracBrowser for help on using the browser.