Advertisement
Guest User

My old code (nov, 2008)

a guest
Oct 21st, 2015
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.39 KB | None | 0 0
  1. !define PRODUCT_NAME "Far Manager Settings BackUp"
  2. !define PRODUCT_VERSION "1.41"
  3. SetCompressor /solid lzma
  4. !include "TextReplace.nsh"
  5. !include "Registry.nsh"
  6. !include "ProcLib.nsh"
  7. !include "MUI.nsh"
  8. !define MUI_ABORTWARNING
  9. !define MUI_ICON "farbak.ico"
  10. !define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
  11. !insertmacro MUI_LANGUAGE "English"
  12. !insertmacro MUI_LANGUAGE "Russian"
  13. OutFile "backup.exe"
  14. !define HAVE_UPX
  15. !ifdef HAVE_UPX
  16. !packhdr tmpexe.tmp "UPX --best -q --compress-icons=0 tmpexe.tmp"
  17. !endif
  18. BrandingText "Far Manager Settings BackUp 1.41"
  19. Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
  20. XPStyle on
  21. ShowInstDetails hide
  22. VIProductVersion "1.40.0.0"
  23. VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Far Manager settings backup"
  24. VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "Simple Far Manager settings backup - restore tools. Build at 23 Nowember 2008. Writing for myself and my friends. Manuals do not writing, and not planer write it - this is very simple tool..."
  25. VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "VictorVG @ VikSoft.Ru"
  26. VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "VictorVG @ VikSoft.Ru"
  27. VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "VictorVG @ VikSoft.Ru, Russia, Moscow. All Right Reserved."
  28. VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" 'Backup and Restore Far Manager settings for any users! Freeware for All. No any warranty, use "as-is"...'
  29. VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "1.41.0.1"
  30. VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "1.41"
  31. VIAddVersionKey /LANG=${LANG_ENGLISH} "InternalName" "usbackup"
  32. VIAddVersionKey /LANG=${LANG_ENGLISH} "OriginalFilename" "usbackup"
  33. VIAddVersionKey /LANG=${LANG_RUSSIAN} "ProductName" "Far Manager settings backup"
  34. VIAddVersionKey /LANG=${LANG_RUSSIAN} "Comments" "Простая программа для резервного копирования - восстановления настроек Far Manager. Сборка от 23 Ноября 2008. Написано для себя и моих друзей. Документация не писалась и писаться не будет - и так всё ясно и просто..."
  35. VIAddVersionKey /LANG=${LANG_RUSSIAN} "CompanyName" "VictorVG @ VikSoft.Ru"
  36. VIAddVersionKey /LANG=${LANG_RUSSIAN} "LegalTrademarks" "VictorVG @ VikSoft.Ru"
  37. VIAddVersionKey /LANG=${LANG_RUSSIAN} "LegalCopyright" "VictorVG @ VikSoft.Ru, Россия, Москва. Все права защищены."
  38. VIAddVersionKey /LANG=${LANG_RUSSIAN} "FileDescription" 'Резервирование и Восстановление настроек Far Manager для любых пользователей! Бесплатно, то бишь халява господа - налетай, подешевело... Без любых гарантий естественно, используйте "как есть"...'
  39. VIAddVersionKey /LANG=${LANG_RUSSIAN} "FileVersion" "1.41.0.1"
  40. VIAddVersionKey /LANG=${LANG_RUSSIAN} "ProductVersion" "1.41"
  41. VIAddVersionKey /LANG=${LANG_RUSSIAN} "InternalName" "usbackup"
  42. VIAddVersionKey /LANG=${LANG_RUSSIAN} "OriginalFilename" "usbackup"
  43. Function CheckError
  44. StrCmp $0 "-1" +4
  45. StrCmp $0 0 +1 +4
  46. StrCpy $R0 "Success"
  47. Return
  48. StrCpy $R0 "Filed"
  49. Return
  50. FunctionEnd
  51. Function back
  52. DeleteRegValue HKCU "Software\Far\Filters" "FolderFlags"
  53. Push $1
  54. Push $0
  55. Push $3
  56. Push $2
  57. ${registry::CopyKey} "HKEY_CURRENT_USER\Console\Far Manager" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Console\Far Manager" $1
  58. ${registry::CopyKey} "HKEY_CURRENT_USER\Console\Far Manager" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Console\Far Manager" $1
  59. ${registry::CopyKey} "HKEY_CURRENT_USER\Software\AtlSoft\FarPlugman" "HKEY_CURRENT_USER\Software\VikSoft.Ru\AtlSoft\FarPlugman" $1
  60. ${registry::CopyKey} "HKEY_CURRENT_USER\Software\AtlSoft\PlugRingGUI" "HKEY_CURRENT_USER\Software\VikSoft.Ru\AtlSoft\PlugRingGUI" $1
  61. ${registry::CopyKey} "HKEY_CURRENT_USER\Software\bobik\FarNetStat" "HKEY_CURRENT_USER\Software\VikSoft.Ru\bobik\FarNetStat" $1
  62. ${registry::CopyKey} "HKEY_CURRENT_USER\Software\colorer" "HKEY_CURRENT_USER\Software\VikSoft.Ru\colorer" $1
  63. ${registry::CopyKey} "HKEY_CURRENT_USER\Software\Far" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far" $1
  64. ${registry::CopyKey} "HKEY_CURRENT_USER\Software\HoopoePG_2x" "HKEY_CURRENT_USER\Software\VikSoft.Ru\HoopoePG_2x" $1
  65. ${registry::CopyKey} "HKEY_CURRENT_USER\SoftWare\GranDe Soft lab\ProxyFtp" "HKEY_CURRENT_USER\Software\VikSoft.Ru\GranDe Soft lab" $1
  66. DeleteRegKey HKCU "Software\VikSoft.Ru\Far\SavedDialogHistory"
  67. DeleteRegKey HKCU "Software\VikSoft.Ru\Far\SavedFolderHistory"
  68. DeleteRegKey HKCU "Software\VikSoft.Ru\Far\SavedHistory"
  69. DeleteRegKey HKCU "Software\VikSoft.Ru\Far\SavedViewHistory"
  70. DeleteRegKey HKCU "SoftWare\GranDe Soft lab\ProxyFtp"
  71. IfFileExists "$DOCUMENTS\FarUsSet.reg" +1 +2
  72. Delete "$DOCUMENTS\FarUsSet.reg"
  73. ${registry::SaveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru" "$DOCUMENTS\FarUsSet.reg" "" $0
  74. Call CheckError
  75. DeleteRegKey HKCU "Software\VikSoft.Ru\AtlSoft"
  76. DeleteRegKey HKCU "Software\VikSoft.Ru\Console"
  77. DeleteRegKey HKCU "Software\VikSoft.Ru\bobik\FarNetStat"
  78. DeleteRegKey HKCU "Software\VikSoft.Ru\bobik"
  79. DeleteRegKey HKCU "Software\VikSoft.Ru\colorer"
  80. DeleteRegKey HKCU "Software\VikSoft.Ru\Far"
  81. DeleteRegKey HKCU "Software\VikSoft.Ru\HoopoePG_2x"
  82. DeleteRegKey HKCU "Software\VikSoft.Ru\GranDe Soft lab"
  83. DeleteRegKey /ifempty HKCU "Software\VikSoft.Ru"
  84. ${textreplace::ReplaceInFile} "$DOCUMENTS\FarUsSet.reg" "$DOCUMENTS\FarUsSet.reg" "\Software\VikSoft.Ru" "\Software" "/AI=1 /AO=1" $0
  85. Pop $0
  86. Pop $1
  87. Return
  88. FunctionEnd
  89. Function Rest
  90. ClearErrors
  91. IfFileExists "$DOCUMENTS\FarUsSet.reg" +4
  92. StrCpy $0 "-1"
  93. Call CheckError
  94. Return
  95. Push $1
  96. Push $2
  97. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedDialogHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedDialogHistory" $1
  98. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedFolderHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedFolderHistory" $1
  99. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedHistory" $1
  100. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedViewHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedViewHistory" $1
  101. ${registry::RestoreKey} "$DOCUMENTS\FarUsSet.reg" $0
  102. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedDialogHistory" "HKEY_CURRENT_USER\Software\Far\SavedDialogHistory" $1
  103. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedFolderHistory" "HKEY_CURRENT_USER\Software\Far\SavedFolderHistory" $1
  104. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedHistory" "HKEY_CURRENT_USER\Software\Far\SavedHistory" $1
  105. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedViewHistory" "HKEY_CURRENT_USER\Software\Far\SavedViewHistory" $1
  106. Call CheckError
  107. DeleteRegKey HKCU "Software\VikSoft.Ru\Far"
  108. DeleteRegKey /ifempty HKCU "Software\VikSoft.Ru"
  109. DeleteRegValue HKCU "Software\Far\Filters" "FolderFlags"
  110. Pop $2
  111. Pop $1
  112. Pop $0
  113. Return
  114. FunctionEnd
  115. Function RestDef
  116. Push $0
  117. Push $1
  118. Push $2
  119. ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Far.exe" "Path"
  120. ClearErrors
  121. IfFileExists "$R0\FarDefSet.reg" +5 +1
  122. StrCpy $0 "-1"
  123. Call CheckError
  124. Return
  125. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedDialogHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedDialogHistory" $1
  126. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedFolderHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedFolderHistory" $1
  127. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedHistory" $1
  128. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedViewHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedViewHistory" $1
  129. DeleteRegKey HKCU "Software\Far"
  130. DeleteRegKey /ifempty HKCU "Software\VikSoft.Ru"
  131. ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Far.exe" "Path"
  132. ${registry::RestoreKey} "$R0\FarDefSet.reg" $0
  133. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedDialogHistory" "HKEY_CURRENT_USER\Software\Far\SavedDialogHistory" $1
  134. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedFolderHistory" "HKEY_CURRENT_USER\Software\Far\SavedFolderHistory" $1
  135. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedHistory" "HKEY_CURRENT_USER\Software\Far\SavedHistory" $1
  136. ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedViewHistory" "HKEY_CURRENT_USER\Software\Far\SavedViewHistory" $1
  137. Call CheckError
  138. DeleteRegKey HKCU "Software\VikSoft.Ru\Far"
  139. DeleteRegKey /ifempty HKCU "Software\VikSoft.Ru"
  140. DeleteRegValue HKCU "Software\Far\Filters" "FolderFlags"
  141. Pop $2
  142. Pop $1
  143. Pop $0
  144. Return
  145. FunctionEnd
  146. Section main
  147. StrCpy $0 0
  148. EnumRegKey $1 HKLM Software\Far $0
  149. IntOp $0 $0 + 1
  150. StrCmp $1 "" -2 lbl1
  151. StrCmp $LANGUAGE "1049" +1 +2
  152. MessageBox MB_OK|MB_ICONSTOP "Far Manager не установлен. Резервное копирование отменено." IDOK +2
  153. MessageBox MB_OK|MB_ICONSTOP "Far Manager not installed. Backup aborted." IDOK +1
  154. Quit
  155. lbl1:
  156. ${PrDet} "Far.exe" $3
  157. IntCmp $3 604 error +1 error
  158. StrCmp $3 1 +1 +6
  159. StrCmp $LANGUAGE 1049 +2 +1
  160. MessageBox MB_ICONQUESTION|MB_YESNO "Waring! Far Manager or like of name program is running!$\nBackup on Your settings not recommended!$\nPlease, close all running Far Manager session and restart Backup.$\nIf You choice 'Yes' then Backup is quit, else continue and if You$\nchoice is 'No', You have higest risk error or data lost." IDYES +2 IDNO +4
  161. MessageBox MB_ICONQUESTION|MB_YESNO "Внимание! Far Manager или похожая программа запущена!$\nРезервирование Ваших настроек не рекомендуется!$\nПожалуйста завершите их работу и перезапустите Резервирование$\nПри ответе 'Да' Резервирование завершит свою работу, иначе, при ответе 'Нет'$\nу Вас имеется значительный риск ошибок и потери данных." IDYES +1 IDNO +2
  162. Quit
  163. StrCmp $LANGUAGE "1049" +2
  164. MessageBox MB_YESNO|MB_ICONQUESTION "This program designed as Wizard. If current operation$\nfinish filed, then is repeated else program is finished.$\n$\nPlease, use the 'No' button for jump next chapters operation menu.$\nIf Your do not selected ant operations, this program$\nis simple finished." IDOK +1
  165. MessageBox MB_OK|MB_ICONINFORMATION "Программа построена по приципу Мастера. Если текущая$\nоперация завершена успешно, то программа завершится,$\nнет операция повторяется.$\n$\nПожалуйста, используйте кнопку 'Нет' для перехода$\nк следующей операции. Если Вы не выбрали ничего,$\nто эта программа просто завершится." IDOK +2
  166. StrCpy $0 0
  167. EnumRegKey $1 HKCU "Software\Far" $0
  168. IfErrors +13 +1
  169. StrCmp $LANGUAGE "1049" +1 +2
  170. MessageBox MB_YESNO|MB_ICONQUESTION "Создать резервную копию Ваших настроек?" IDYES +2 IDNO usr
  171. MessageBox MB_YESNO|MB_ICONQUESTION "Do you like backup Your user settings?" IDYES +1 IDNO usr
  172. Call back
  173. StrCmp $R0 "Success" +4
  174. StrCmp $LANGUAGE "1049" +1 +2
  175. MessageBox MB_YESNO|MB_ICONQUESTION "Операция завершилась неудачно. Вы хотите повторить её?" IDYES -3 IDNO end
  176. MessageBox MB_YESNO|MB_ICONQUESTION "Оperation end is filed. Do you like retry it?" IDYES -4 IDNO end
  177. StrCmp $LANGUAGE "1049" +1 +2
  178. MessageBox MB_OK|MB_ICONINFORMATION "Операция завершена успешно." IDOK end
  179. MessageBox MB_OK|MB_ICONINFORMATION "Operation finishing success." IDOK end
  180. usr:
  181. ${PrDet} "Far.exe" $3
  182. IntCmp $3 604 error +1 error
  183. StrCmp $3 "1" +1 +6
  184. StrCmp $LANGUAGE 1049 +2 +1
  185. MessageBox MB_ICONSTOP|MB_OK "Waring! Far Manager or like of name program is running!$\nReatorу on Your settings cannot continue!$\nPlease, close all running Far Manager session and restart Restore!$\nThis behavior needed for prevent risk of error or data lost!" IDOK +2
  186. MessageBox MB_ICONSTOP|MB_OK "Внимание! Far Manager или похожая программа запущена!$\nВосстановление Ваших настроек не возможно!$\nПожалуйста завершите их работу и перезапустите Восстановление!$\nЭто необходимо для предотвращения ошибок или потери данных!" IDOK +1
  187. Quit
  188. StrCmp $LANGUAGE "1049" +1 +2
  189. MessageBox MB_YESNO|MB_ICONQUESTION "Восстановить Ваши пользовательские настройки?" IDYES +2 IDNO def
  190. MessageBox MB_YESNO|MB_ICONQUESTION "Do you like restore Your user settngs?" IDYES +1 IDNO def
  191. Call Rest
  192. StrCmp $R0 "Success" +4
  193. StrCmp $LANGUAGE "1049" +1 +2
  194. MessageBox MB_YESNO|MB_ICONQUESTION "Операция завершилась неудачно. Вы хотите повторить её?" IDYES -3 IDNO end
  195. MessageBox MB_YESNO|MB_ICONQUESTION "Оperation end is filed. Do you like retry it?" IDYES -4 IDNO end
  196. StrCmp $LANGUAGE "1049" +1 +2
  197. MessageBox MB_OK|MB_ICONINFORMATION "Операция завершена успешно." IDOK end
  198. MessageBox MB_OK|MB_ICONINFORMATION "Operation finishing success." IDOK end
  199. def:
  200. ${PrDet} "Far.exe" $3
  201. IntCmp $3 604 error +1 error
  202. StrCmp $3 "1" +1 +6
  203. StrCmp $LANGUAGE 1049 +2
  204. MessageBox MB_ICONSTOP|MB_OK "Waring! Far Manager or like of name program is running!$\nRestore on Default settings is loked! Please,$\nclose All running Far Manager session and restart Wizard!$\nThis behavior needed for prevent risk of error or data lost!" IDOK +2
  205. MessageBox MB_ICONSTOP|MB_OK "Внимание! Far Manager или похожая программа запущена!$\nВосстановление стандартных настроек блокировано!$\nПожалуйста завершите их работу и перезапустите Мастера!$\nЭто необходимо для предотвращения ошибок или потери данных!" IDOK +1
  206. Quit
  207. StrCmp $LANGUAGE "1049" +1 +2
  208. MessageBox MB_YESNO|MB_ICONQUESTION "Восстановить стандартные настройки?" IDYES +2 IDNO end
  209. MessageBox MB_YESNO|MB_ICONQUESTION "Do you like restore default settngs?" IDYES +1 IDNO end
  210. Call RestDef
  211. StrCmp $R0 "Success" +4
  212. StrCmp $LANGUAGE "1049" +1 +2
  213. MessageBox MB_YESNO|MB_ICONQUESTION "Операция завершилась неудачно. Вы хотите повторить её?" IDYES -3 IDNO end
  214. MessageBox MB_YESNO|MB_ICONQUESTION "Оperation end is filed. Do you like retry it?" IDYES -4 IDNO end
  215. StrCmp $LANGUAGE "1049" +1 +2
  216. MessageBox MB_OK|MB_ICONINFORMATION "Операция завершена успешно." IDOK +2
  217. MessageBox MB_OK|MB_ICONINFORMATION "Operation finishing success."
  218. end:
  219. ${registry::Unload}
  220. Goto finish
  221. error:
  222. ${ErrDec} $3
  223. finish:
  224. SetAutoClose true
  225. SectionEnd
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement