root/trunk/uploadr/win_installer/build_dev.nsi

Revision 602, 6.0 kB (checked in by ashot, 8 months ago)

in the right place now..

Line 
1 ;
2 ; Flickr Uploadr
3 ;
4 ; Copyright (c) 2007-2008 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 Function WriteToFile
43  Exch $0 ;file to write to
44  Exch
45  Exch $1 ;text to write
46  
47   FileOpen $0 $0 w #open file
48    #FileSeek $0 0 END #go to end
49    FileWrite $0 $1 #write to file
50   FileClose $0
51  
52  Pop $1
53  Pop $0
54 FunctionEnd
55  
56 !macro WriteToFile String File
57  Push "${String}"
58  Push "${File}"
59   Call WriteToFile
60 !macroend
61
62 !define WriteToFile "!insertmacro WriteToFile"
63
64 !include "strings.nsh"
65 !insertmacro MUI_LANGUAGE "${LANG_NAME}"
66
67 !insertmacro LANG_STRING title_version          "${LANG_STR_TITLE_VERSION}"
68 !insertmacro LANG_STRING title_version_inst     "${LANG_STR_TITLE_VERSION_INST}"
69 !insertmacro LANG_STRING copyright              "${LANG_STR_COPYRIGHT}"
70 !insertmacro LANG_STRING inst                   "${LANG_STR_INST}"
71 !insertmacro LANG_STRING integ_title            "${LANG_STR_INTEG_TITLE}"
72 !insertmacro LANG_STRING integ_text             "${LANG_STR_INTEG_TEXT}"
73 !insertmacro LANG_STRING send                   "${LANG_STR_SEND}"
74
75 ;
76 ; Version-y bits
77 ;
78
79 Name "$(title_version)"
80 Caption "$(title_version_inst)"
81
82 OutFile "FlickrUploadr-${VERSION}-XX.exe"
83 XPStyle on
84
85 InstallDir "$PROGRAMFILES\Flickr Uploadr"
86
87 InstallDirRegKey HKCU "Software\Flickr Uploadr" ""
88
89 VIProductVersion "${VERSION_DATE}"
90 VIAddVersionKey "CompanyName" "Flickr"
91 VIAddVersionKey "LegalCopyright" "$(copyright)"
92 VIAddVersionKey "FileDescription" "$(title_version)"
93 VIAddVersionKey "FileVersion" "${VERSION}"
94
95
96
97 ReserveFile "config.ini"
98 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
99
100 Var INI_VALUE
101
102 Section "Install" SecInstall
103
104         SetOutPath "$INSTDIR"
105
106         SetOverwrite on 
107
108         ; Chrome
109         File /r "Flickr Uploadr\chrome"
110        
111
112         ; XPCOM components
113         CreateDirectory "$INSTDIR\components"
114         File /oname=components\gm.dll                   "Flickr Uploadr\components\gm.dll"
115         File /oname=components\flIGM.xpt                "Flickr Uploadr\components\flIGM.xpt"
116         File /oname=components\key.dll                  "Flickr Uploadr\components\key.dll"
117         File /oname=components\flIKey.xpt               "Flickr Uploadr\components\flIKey.xpt"
118         File /oname=components\clh.js                   "Flickr Uploadr\components\clh.js"
119         File /oname=components\flICLH.xpt               "Flickr Uploadr\components\flICLH.xpt"
120
121         ; CRT
122         File "Flickr Uploadr\vcredist_x86.exe"
123         ExecWait '"$INSTDIR\vcredist_x86.exe" /q:a /c:"VCREDI~1.EXE /q:a /c:""msiexec /i vcredist.msi /qb!"" "'
124         Delete "$INSTDIR\vcredist_x86.exe"
125
126         ; XULRunner and friends
127         File /r /x .svn "Flickr Uploadr\defaults"
128         File /r /x .svn "Flickr Uploadr\xulrunner"
129         File "Flickr Uploadr\application.ini"
130         File "Flickr Uploadr\updater.ini"       
131         File "Flickr Uploadr\LICENSE.txt"
132         File "Flickr Uploadr\icons.ico"
133         File "Flickr Uploadr\magic.mgk"
134         File "Flickr Uploadr\modules.mgk"
135         File "Flickr Uploadr\delegates.mgk"
136         File "Flickr Uploadr\libexpat.dll"
137         File "Flickr Uploadr\Flickr Uploadr.exe"
138
139         ; Uninstaller
140         WriteRegStr HKCU "Software\Flickr Uploadr" "" $INSTDIR
141         WriteUninstaller "$INSTDIR\uninstall.exe"
142         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Flickr Uploadr" "DisplayName" "Flickr Uploadr ${VERSION}"
143         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Flickr Uploadr" "UninstallString" '"$INSTDIR\uninstall.exe"'
144         WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Flickr Uploadr" "NoModify" 1
145         WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Flickr Uploadr" "NoRepair" 1
146
147         ; Right click menu options
148         WriteRegStr HKCR "SystemFileAssociations\image\shell\edit.FlickrUploadr" "" "$(send)"
149         WriteRegStr HKCR "SystemFileAssociations\image\shell\edit.FlickrUploadr\command" "" '"$INSTDIR\Flickr Uploadr.exe" "%1"'
150         WriteRegStr HKCR "SystemFileAssociations\video\shell\edit.FlickrUploadr" "" "$(send)"
151         WriteRegStr HKCR "SystemFileAssociations\video\shell\edit.FlickrUploadr\command" "" '"$INSTDIR\Flickr Uploadr.exe" "%1"'
152         ${WriteToFile} "$INSTDIR" "$APPDATA\Macromedia\Flash Player\#Security\FlashPlayerTrust\flickruploadr.cfg"
153
154 SectionEnd
155
156 Section "Start Menu Shortcuts"
157         CreateShortCut "$SMPROGRAMS\Flickr Uploadr.lnk" "$INSTDIR\Flickr Uploadr.exe" "" "$INSTDIR\Flickr Uploadr.exe" 0
158         !insertmacro MUI_INSTALLOPTIONS_READ $INI_VALUE "config.ini" "Field 1" "State"
159         StrCmp $INI_VALUE "1" "" +2   
160                 CreateShortCut "$DESKTOP\Flickr Uploadr.lnk" "$INSTDIR\Flickr Uploadr.exe" "" "$INSTDIR\Flickr Uploadr.exe" 0
161 SectionEnd
162
163 Function .onInit
164         !insertmacro MUI_INSTALLOPTIONS_EXTRACT "config.ini"
165 FunctionEnd
166
167 Function CustomPageA
168         !insertmacro MUI_HEADER_TEXT "$(integ_title)" "$(integ_text)"
169         !insertmacro MUI_INSTALLOPTIONS_DISPLAY "config.ini"
170 FunctionEnd
171
172 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
173 !insertmacro MUI_DESCRIPTION_TEXT ${SecInstall} $(inst)
174 !insertmacro MUI_FUNCTION_DESCRIPTION_END
175
176 UninstallIcon "Flickr Uploadr\icons.ico"
177
178 Section "Uninstall"
179         DeleteRegKey /ifempty HKCU "Software\Flickr Uploadr"
180         DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Flickr Uploadr"
181         DeleteRegKey HKLM "Software\Flickr Uploadr"
182         DeleteRegKey HKCR "SystemFileAssociations\image\shell\edit.FlickrUploadr"
183         DeleteRegKey HKCR "SystemFileAssociations\image\shell\edit.FlickrUploadr\command"
184         Delete "$INSTDIR"
185         Delete "$SMPROGRAMS\Flickr Uploadr.lnk"
186         Delete "$DESKTOP\Flickr Uploadr.lnk"
187         RMDir /r "$SMPROGRAMS\Flickr Uploadr"
188         RMDir /r "$INSTDIR"
189 SectionEnd
190
191 Icon "Flickr Uploadr\icons.ico"
Note: See TracBrowser for help on using the browser.