Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- !define PRODUCT_NAME "Far Manager Settings BackUp"
- !define PRODUCT_VERSION "1.41"
- SetCompressor /solid lzma
- !include "TextReplace.nsh"
- !include "Registry.nsh"
- !include "ProcLib.nsh"
- !include "MUI.nsh"
- !define MUI_ABORTWARNING
- !define MUI_ICON "farbak.ico"
- !define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
- !insertmacro MUI_LANGUAGE "English"
- !insertmacro MUI_LANGUAGE "Russian"
- OutFile "backup.exe"
- !define HAVE_UPX
- !ifdef HAVE_UPX
- !packhdr tmpexe.tmp "UPX --best -q --compress-icons=0 tmpexe.tmp"
- !endif
- BrandingText "Far Manager Settings BackUp 1.41"
- Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
- XPStyle on
- ShowInstDetails hide
- VIProductVersion "1.40.0.0"
- VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Far Manager settings backup"
- 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..."
- VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "VictorVG @ VikSoft.Ru"
- VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "VictorVG @ VikSoft.Ru"
- VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "VictorVG @ VikSoft.Ru, Russia, Moscow. All Right Reserved."
- VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" 'Backup and Restore Far Manager settings for any users! Freeware for All. No any warranty, use "as-is"...'
- VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "1.41.0.1"
- VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "1.41"
- VIAddVersionKey /LANG=${LANG_ENGLISH} "InternalName" "usbackup"
- VIAddVersionKey /LANG=${LANG_ENGLISH} "OriginalFilename" "usbackup"
- VIAddVersionKey /LANG=${LANG_RUSSIAN} "ProductName" "Far Manager settings backup"
- VIAddVersionKey /LANG=${LANG_RUSSIAN} "Comments" "Простая программа для резервного копирования - восстановления настроек Far Manager. Сборка от 23 Ноября 2008. Написано для себя и моих друзей. Документация не писалась и писаться не будет - и так всё ясно и просто..."
- VIAddVersionKey /LANG=${LANG_RUSSIAN} "CompanyName" "VictorVG @ VikSoft.Ru"
- VIAddVersionKey /LANG=${LANG_RUSSIAN} "LegalTrademarks" "VictorVG @ VikSoft.Ru"
- VIAddVersionKey /LANG=${LANG_RUSSIAN} "LegalCopyright" "VictorVG @ VikSoft.Ru, Россия, Москва. Все права защищены."
- VIAddVersionKey /LANG=${LANG_RUSSIAN} "FileDescription" 'Резервирование и Восстановление настроек Far Manager для любых пользователей! Бесплатно, то бишь халява господа - налетай, подешевело... Без любых гарантий естественно, используйте "как есть"...'
- VIAddVersionKey /LANG=${LANG_RUSSIAN} "FileVersion" "1.41.0.1"
- VIAddVersionKey /LANG=${LANG_RUSSIAN} "ProductVersion" "1.41"
- VIAddVersionKey /LANG=${LANG_RUSSIAN} "InternalName" "usbackup"
- VIAddVersionKey /LANG=${LANG_RUSSIAN} "OriginalFilename" "usbackup"
- Function CheckError
- StrCmp $0 "-1" +4
- StrCmp $0 0 +1 +4
- StrCpy $R0 "Success"
- Return
- StrCpy $R0 "Filed"
- Return
- FunctionEnd
- Function back
- DeleteRegValue HKCU "Software\Far\Filters" "FolderFlags"
- Push $1
- Push $0
- Push $3
- Push $2
- ${registry::CopyKey} "HKEY_CURRENT_USER\Console\Far Manager" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Console\Far Manager" $1
- ${registry::CopyKey} "HKEY_CURRENT_USER\Console\Far Manager" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Console\Far Manager" $1
- ${registry::CopyKey} "HKEY_CURRENT_USER\Software\AtlSoft\FarPlugman" "HKEY_CURRENT_USER\Software\VikSoft.Ru\AtlSoft\FarPlugman" $1
- ${registry::CopyKey} "HKEY_CURRENT_USER\Software\AtlSoft\PlugRingGUI" "HKEY_CURRENT_USER\Software\VikSoft.Ru\AtlSoft\PlugRingGUI" $1
- ${registry::CopyKey} "HKEY_CURRENT_USER\Software\bobik\FarNetStat" "HKEY_CURRENT_USER\Software\VikSoft.Ru\bobik\FarNetStat" $1
- ${registry::CopyKey} "HKEY_CURRENT_USER\Software\colorer" "HKEY_CURRENT_USER\Software\VikSoft.Ru\colorer" $1
- ${registry::CopyKey} "HKEY_CURRENT_USER\Software\Far" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far" $1
- ${registry::CopyKey} "HKEY_CURRENT_USER\Software\HoopoePG_2x" "HKEY_CURRENT_USER\Software\VikSoft.Ru\HoopoePG_2x" $1
- ${registry::CopyKey} "HKEY_CURRENT_USER\SoftWare\GranDe Soft lab\ProxyFtp" "HKEY_CURRENT_USER\Software\VikSoft.Ru\GranDe Soft lab" $1
- DeleteRegKey HKCU "Software\VikSoft.Ru\Far\SavedDialogHistory"
- DeleteRegKey HKCU "Software\VikSoft.Ru\Far\SavedFolderHistory"
- DeleteRegKey HKCU "Software\VikSoft.Ru\Far\SavedHistory"
- DeleteRegKey HKCU "Software\VikSoft.Ru\Far\SavedViewHistory"
- DeleteRegKey HKCU "SoftWare\GranDe Soft lab\ProxyFtp"
- IfFileExists "$DOCUMENTS\FarUsSet.reg" +1 +2
- Delete "$DOCUMENTS\FarUsSet.reg"
- ${registry::SaveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru" "$DOCUMENTS\FarUsSet.reg" "" $0
- Call CheckError
- DeleteRegKey HKCU "Software\VikSoft.Ru\AtlSoft"
- DeleteRegKey HKCU "Software\VikSoft.Ru\Console"
- DeleteRegKey HKCU "Software\VikSoft.Ru\bobik\FarNetStat"
- DeleteRegKey HKCU "Software\VikSoft.Ru\bobik"
- DeleteRegKey HKCU "Software\VikSoft.Ru\colorer"
- DeleteRegKey HKCU "Software\VikSoft.Ru\Far"
- DeleteRegKey HKCU "Software\VikSoft.Ru\HoopoePG_2x"
- DeleteRegKey HKCU "Software\VikSoft.Ru\GranDe Soft lab"
- DeleteRegKey /ifempty HKCU "Software\VikSoft.Ru"
- ${textreplace::ReplaceInFile} "$DOCUMENTS\FarUsSet.reg" "$DOCUMENTS\FarUsSet.reg" "\Software\VikSoft.Ru" "\Software" "/AI=1 /AO=1" $0
- Pop $0
- Pop $1
- Return
- FunctionEnd
- Function Rest
- ClearErrors
- IfFileExists "$DOCUMENTS\FarUsSet.reg" +4
- StrCpy $0 "-1"
- Call CheckError
- Return
- Push $1
- Push $2
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedDialogHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedDialogHistory" $1
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedFolderHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedFolderHistory" $1
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedHistory" $1
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedViewHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedViewHistory" $1
- ${registry::RestoreKey} "$DOCUMENTS\FarUsSet.reg" $0
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedDialogHistory" "HKEY_CURRENT_USER\Software\Far\SavedDialogHistory" $1
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedFolderHistory" "HKEY_CURRENT_USER\Software\Far\SavedFolderHistory" $1
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedHistory" "HKEY_CURRENT_USER\Software\Far\SavedHistory" $1
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedViewHistory" "HKEY_CURRENT_USER\Software\Far\SavedViewHistory" $1
- Call CheckError
- DeleteRegKey HKCU "Software\VikSoft.Ru\Far"
- DeleteRegKey /ifempty HKCU "Software\VikSoft.Ru"
- DeleteRegValue HKCU "Software\Far\Filters" "FolderFlags"
- Pop $2
- Pop $1
- Pop $0
- Return
- FunctionEnd
- Function RestDef
- Push $0
- Push $1
- Push $2
- ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Far.exe" "Path"
- ClearErrors
- IfFileExists "$R0\FarDefSet.reg" +5 +1
- StrCpy $0 "-1"
- Call CheckError
- Return
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedDialogHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedDialogHistory" $1
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedFolderHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedFolderHistory" $1
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedHistory" $1
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\Far\SavedViewHistory" "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedViewHistory" $1
- DeleteRegKey HKCU "Software\Far"
- DeleteRegKey /ifempty HKCU "Software\VikSoft.Ru"
- ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Far.exe" "Path"
- ${registry::RestoreKey} "$R0\FarDefSet.reg" $0
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedDialogHistory" "HKEY_CURRENT_USER\Software\Far\SavedDialogHistory" $1
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedFolderHistory" "HKEY_CURRENT_USER\Software\Far\SavedFolderHistory" $1
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedHistory" "HKEY_CURRENT_USER\Software\Far\SavedHistory" $1
- ${registry::MoveKey} "HKEY_CURRENT_USER\Software\VikSoft.Ru\Far\SavedViewHistory" "HKEY_CURRENT_USER\Software\Far\SavedViewHistory" $1
- Call CheckError
- DeleteRegKey HKCU "Software\VikSoft.Ru\Far"
- DeleteRegKey /ifempty HKCU "Software\VikSoft.Ru"
- DeleteRegValue HKCU "Software\Far\Filters" "FolderFlags"
- Pop $2
- Pop $1
- Pop $0
- Return
- FunctionEnd
- Section main
- StrCpy $0 0
- EnumRegKey $1 HKLM Software\Far $0
- IntOp $0 $0 + 1
- StrCmp $1 "" -2 lbl1
- StrCmp $LANGUAGE "1049" +1 +2
- MessageBox MB_OK|MB_ICONSTOP "Far Manager не установлен. Резервное копирование отменено." IDOK +2
- MessageBox MB_OK|MB_ICONSTOP "Far Manager not installed. Backup aborted." IDOK +1
- Quit
- lbl1:
- ${PrDet} "Far.exe" $3
- IntCmp $3 604 error +1 error
- StrCmp $3 1 +1 +6
- StrCmp $LANGUAGE 1049 +2 +1
- 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
- MessageBox MB_ICONQUESTION|MB_YESNO "Внимание! Far Manager или похожая программа запущена!$\nРезервирование Ваших настроек не рекомендуется!$\nПожалуйста завершите их работу и перезапустите Резервирование$\nПри ответе 'Да' Резервирование завершит свою работу, иначе, при ответе 'Нет'$\nу Вас имеется значительный риск ошибок и потери данных." IDYES +1 IDNO +2
- Quit
- StrCmp $LANGUAGE "1049" +2
- 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
- MessageBox MB_OK|MB_ICONINFORMATION "Программа построена по приципу Мастера. Если текущая$\nоперация завершена успешно, то программа завершится,$\nнет операция повторяется.$\n$\nПожалуйста, используйте кнопку 'Нет' для перехода$\nк следующей операции. Если Вы не выбрали ничего,$\nто эта программа просто завершится." IDOK +2
- StrCpy $0 0
- EnumRegKey $1 HKCU "Software\Far" $0
- IfErrors +13 +1
- StrCmp $LANGUAGE "1049" +1 +2
- MessageBox MB_YESNO|MB_ICONQUESTION "Создать резервную копию Ваших настроек?" IDYES +2 IDNO usr
- MessageBox MB_YESNO|MB_ICONQUESTION "Do you like backup Your user settings?" IDYES +1 IDNO usr
- Call back
- StrCmp $R0 "Success" +4
- StrCmp $LANGUAGE "1049" +1 +2
- MessageBox MB_YESNO|MB_ICONQUESTION "Операция завершилась неудачно. Вы хотите повторить её?" IDYES -3 IDNO end
- MessageBox MB_YESNO|MB_ICONQUESTION "Оperation end is filed. Do you like retry it?" IDYES -4 IDNO end
- StrCmp $LANGUAGE "1049" +1 +2
- MessageBox MB_OK|MB_ICONINFORMATION "Операция завершена успешно." IDOK end
- MessageBox MB_OK|MB_ICONINFORMATION "Operation finishing success." IDOK end
- usr:
- ${PrDet} "Far.exe" $3
- IntCmp $3 604 error +1 error
- StrCmp $3 "1" +1 +6
- StrCmp $LANGUAGE 1049 +2 +1
- 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
- MessageBox MB_ICONSTOP|MB_OK "Внимание! Far Manager или похожая программа запущена!$\nВосстановление Ваших настроек не возможно!$\nПожалуйста завершите их работу и перезапустите Восстановление!$\nЭто необходимо для предотвращения ошибок или потери данных!" IDOK +1
- Quit
- StrCmp $LANGUAGE "1049" +1 +2
- MessageBox MB_YESNO|MB_ICONQUESTION "Восстановить Ваши пользовательские настройки?" IDYES +2 IDNO def
- MessageBox MB_YESNO|MB_ICONQUESTION "Do you like restore Your user settngs?" IDYES +1 IDNO def
- Call Rest
- StrCmp $R0 "Success" +4
- StrCmp $LANGUAGE "1049" +1 +2
- MessageBox MB_YESNO|MB_ICONQUESTION "Операция завершилась неудачно. Вы хотите повторить её?" IDYES -3 IDNO end
- MessageBox MB_YESNO|MB_ICONQUESTION "Оperation end is filed. Do you like retry it?" IDYES -4 IDNO end
- StrCmp $LANGUAGE "1049" +1 +2
- MessageBox MB_OK|MB_ICONINFORMATION "Операция завершена успешно." IDOK end
- MessageBox MB_OK|MB_ICONINFORMATION "Operation finishing success." IDOK end
- def:
- ${PrDet} "Far.exe" $3
- IntCmp $3 604 error +1 error
- StrCmp $3 "1" +1 +6
- StrCmp $LANGUAGE 1049 +2
- 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
- MessageBox MB_ICONSTOP|MB_OK "Внимание! Far Manager или похожая программа запущена!$\nВосстановление стандартных настроек блокировано!$\nПожалуйста завершите их работу и перезапустите Мастера!$\nЭто необходимо для предотвращения ошибок или потери данных!" IDOK +1
- Quit
- StrCmp $LANGUAGE "1049" +1 +2
- MessageBox MB_YESNO|MB_ICONQUESTION "Восстановить стандартные настройки?" IDYES +2 IDNO end
- MessageBox MB_YESNO|MB_ICONQUESTION "Do you like restore default settngs?" IDYES +1 IDNO end
- Call RestDef
- StrCmp $R0 "Success" +4
- StrCmp $LANGUAGE "1049" +1 +2
- MessageBox MB_YESNO|MB_ICONQUESTION "Операция завершилась неудачно. Вы хотите повторить её?" IDYES -3 IDNO end
- MessageBox MB_YESNO|MB_ICONQUESTION "Оperation end is filed. Do you like retry it?" IDYES -4 IDNO end
- StrCmp $LANGUAGE "1049" +1 +2
- MessageBox MB_OK|MB_ICONINFORMATION "Операция завершена успешно." IDOK +2
- MessageBox MB_OK|MB_ICONINFORMATION "Operation finishing success."
- end:
- ${registry::Unload}
- Goto finish
- error:
- ${ErrDec} $3
- finish:
- SetAutoClose true
- SectionEnd
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement