| 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" |
|---|