freefiles

Untitled

Mar 13th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. !include x64.nsh
  2. OutFile TIB-ShellEx-11.5.38573.exe
  3.  
  4. Name "Acronis Shell Extension only"
  5. BrandingText ":: Nomadic ::"
  6.  
  7. CRCCheck on
  8. SetOverwrite ifnewer
  9. ShowInstDetails show
  10.  
  11. DirText "Based on Acronis Backup v11.5.38573"
  12.  
  13. Page directory
  14. Page components
  15. Page instfiles
  16.  
  17. Var InstDir32
  18. Var InstDir64
  19.  
  20. Section "!Required files" required_id
  21.     WriteRegStr HKEY_CLASSES_ROOT ".tib" "" "tibfile"
  22.     WriteRegStr HKEY_CLASSES_ROOT "tibfile" "" "Acronis True Image Backup Archive"
  23.     WriteRegStr HKEY_CLASSES_ROOT "tibfile\CLSID" "" "{C539A15B-3AF9-4c92-B771-50CB78F5C751}"
  24.     WriteRegStr HKEY_CLASSES_ROOT "tibfile\DefaultIcon" "" "$INSTDIR\tishell_abr.dll,0"
  25.     WriteRegStr HKEY_CLASSES_ROOT "tibfile\Shell" "" ""
  26.     WriteRegStr HKEY_CLASSES_ROOT "tibfile\Shell\open" "" ""
  27.     WriteRegStr HKEY_CLASSES_ROOT "tibfile\Shell\open\command" "" "explorer /idlist,%I,%L"
  28.     WriteRegStr HKEY_CLASSES_ROOT "tibfile\Shell\open\ddeexec" "NoActivateHandler" ""
  29.     WriteRegStr HKEY_CLASSES_ROOT "tibfile\Shell\open\ddeexec" "" "[ViewFolder($\"%l$\", %I, %S)]"
  30.     WriteRegStr HKEY_CLASSES_ROOT "tibfile\Shell\open\ddeexec\application" "" "Folders"
  31.     WriteRegStr HKEY_CLASSES_ROOT "tibfile\Shell\open\ddeexec\ifexec" "" "[]"
  32.     WriteRegStr HKEY_CLASSES_ROOT "tibfile\Shell\open\ddeexec\topic" "" "AppProperties"
  33.     WriteRegStr HKEY_CLASSES_ROOT "tibfile\ShellEx" "" ""
  34.     WriteRegStr HKEY_CLASSES_ROOT "tibfile\ShellEx\ContextMenuHandlers" "" ""
  35.     WriteRegStr HKEY_CLASSES_ROOT "tibfile\ShellEx\ContextMenuHandlers\{C539A15A-3AF9-4c92-B771-50CB78F5C751}" "" ""
  36.     ${If} ${RunningX64}
  37.         DetailPrint "Installer running on 64-bit host"
  38.         ; disable registry redirection (enable access to 64-bit portion of registry)
  39.         SetRegView 64
  40.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15A-3AF9-4c92-B771-50CB78F5C751}" "" ""
  41.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15A-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "" "$INSTDIR\tishell64.dll"
  42.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15A-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "ThreadingModel" "Apartment"
  43.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}" "" ""
  44.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}\Implemented Categories" "" ""
  45.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}\Implemented Categories\{00021490-0000-0000-C000-000000000046}" "" ""
  46.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "" "$INSTDIR\tishell64.dll"
  47.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "ThreadingModel" "Apartment"
  48.         WriteRegDWORD HKEY_CLASSES_ROOT "CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}\ShellFolder" "Attributes" 0xa0000000
  49.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15C-3AF9-4c92-B771-50CB78F5C751}" "" "Acronis True Image Shell Extension Backend"
  50.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15C-3AF9-4c92-B771-50CB78F5C751}" "AppID" "{C4E69DB9-E094-483e-B922-E7ADE65FB497}"
  51.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15C-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "ThreadingModel" "Apartment"
  52.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15C-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "" "$INSTDIR\tishell_svr64.dll"
  53.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15D-3AF9-4c92-B771-50CB78F5C751}" "" ""
  54.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15D-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "" "$INSTDIR\tishell64.dll"
  55.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15D-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "ThreadingModel" "Apartment"
  56.         WriteRegStr HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15A-3AF9-4c92-B771-50CB78F5C751}" "" "Acronis Backup and Recovery 10 Shell Context Menu Extension"
  57.         WriteRegStr HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15A-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "" "$INSTDIR\tishell_abr.dll"
  58.         WriteRegStr HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15A-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "ThreadingModel" "Apartment"
  59.         WriteRegStr HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}" "" "Acronis Backup and Recovery 10 Shell Extension"
  60.         WriteRegStr HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}\Implemented Categories" "" ""
  61.         WriteRegStr HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}\Implemented Categories\{00021490-0000-0000-C000-000000000046}" "" ""
  62.         WriteRegStr HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "ThreadingModel" "Apartment"
  63.         WriteRegStr HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "" "$INSTDIR\tishell_abr.dll"
  64.         WriteRegDWORD HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}\ShellFolder" "Attributes" 0xa0000000
  65.         WriteRegStr HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15C-3AF9-4c92-B771-50CB78F5C751}" "AppID" "{C4E69DB9-E094-483e-B922-E7ADE65FB497}"
  66.         WriteRegStr HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15C-3AF9-4c92-B771-50CB78F5C751}" "" "Acronis True Image Shell Extension Backend"
  67.         WriteRegStr HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15C-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "ThreadingModel" "Apartment"
  68.         WriteRegStr HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15C-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "" "$INSTDIR\tishell32.dll"
  69.         WriteRegStr HKEY_CLASSES_ROOT "AppID\{C4E69DB9-E094-483e-B922-E7ADE65FB497}" "" "Acronis True Image Shell Extension Backend"
  70.         WriteRegStr HKEY_CLASSES_ROOT "AppID\{C4E69DB9-E094-483e-B922-E7ADE65FB497}" "DllSurrogate" ""
  71.         StrCpy $InstDir64 $InstDir
  72.         SetOutPath $InstDir64
  73.         File x64\icu38.dll
  74.         File x64\icudt38.dll
  75.         File x64\libcrypto10.dll
  76.         File x64\libssl10.dll
  77.         File x64\resource.dll
  78.         File x64\thread_pool.dll
  79.         File x32\tishell_abr.dll
  80.         File x64\tishell_svr64.dll
  81.         File x32\tishell32.dll
  82.         File x64\tishell64.dll
  83.         WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Wow6432Node\Acronis\BackupAndRecovery\CommonComponents" "icu38.dll" "$INSTDIR\icu38.dll"
  84.         WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Wow6432Node\Acronis\BackupAndRecovery\CommonComponents" "libcrypto10.dll" "$INSTDIR\libcrypto10.dll"
  85.         WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Wow6432Node\Acronis\BackupAndRecovery\CommonComponents" "libssl10.dll" "$INSTDIR\libssl10.dll"
  86.         WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Wow6432Node\Acronis\BackupAndRecovery\CommonComponents" "resource.dll" "$INSTDIR\resource.dll"
  87.         WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Wow6432Node\Acronis\BackupAndRecovery\CommonComponents" "thread_pool.dll" "$INSTDIR\thread_pool.dll"
  88.     ${Else}
  89.         DetailPrint "Installer running on 32-bit host"
  90.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15A-3AF9-4c92-B771-50CB78F5C751}" "" ""
  91.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15A-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "" "$INSTDIR\tishell_abr.dll"
  92.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15A-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "ThreadingModel" "Apartment"
  93.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}" "" "Acronis Backup and Recovery 10 Shell Extension"
  94.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}\Implemented Categories" "" ""
  95.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}\Implemented Categories\{00021490-0000-0000-C000-000000000046}" "" ""
  96.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "ThreadingModel" "Apartment"
  97.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "" "$INSTDIR\tishell_abr.dll"
  98.         WriteRegDWORD HKEY_CLASSES_ROOT "CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}\ShellFolder" "Attributes" 0xa0000000
  99.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15C-3AF9-4c92-B771-50CB78F5C751}" "AppID" "{C4E69DB9-E094-483e-B922-E7ADE65FB497}"
  100.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15C-3AF9-4c92-B771-50CB78F5C751}" "" "Acronis True Image Shell Extension Backend"
  101.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15C-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "ThreadingModel" "Apartment"
  102.         WriteRegStr HKEY_CLASSES_ROOT "CLSID\{C539A15C-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" "" "$INSTDIR\tishell32.dll"
  103.         StrCpy $InstDir32 $InstDir
  104.         SetOutPath $InstDir32
  105.         File x32\icu38.dll
  106.         File x32\icudt38.dll
  107.         File x32\libcrypto10.dll
  108.         File x32\libssl10.dll
  109.         File x32\resource.dll
  110.         File x32\thread_pool.dll
  111.         File x32\tishell_abr.dll
  112.         File x32\tishell32.dll
  113.     ${EndIf}
  114.     WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Acronis\BackupAndRecovery\CommonComponents" "icu38.dll" "$INSTDIR\icu38.dll"
  115.     WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Acronis\BackupAndRecovery\CommonComponents" "libcrypto10.dll" "$INSTDIR\libcrypto10.dll"
  116.     WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Acronis\BackupAndRecovery\CommonComponents" "libssl10.dll" "$INSTDIR\libssl10.dll"
  117.     WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Acronis\BackupAndRecovery\CommonComponents" "resource.dll" "$INSTDIR\resource.dll"
  118.     WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Acronis\BackupAndRecovery\CommonComponents" "thread_pool.dll" "$INSTDIR\thread_pool.dll"
  119. SectionEnd
  120.  
  121. Section "MS Visual C++ 2005 CRT files"
  122.     ${If} ${RunningX64}
  123.         File x64\msvcp80.dll
  124.         File x64\msvcr80.dll
  125.     ${Else}
  126.         File x32\Microsoft.VC80.CRT.manifest
  127.         File x32\msvcp80.dll
  128.         File x32\msvcr80.dll
  129.     ${EndIf}
  130. SectionEnd
  131.  
  132. Section "Write Uninstaller"
  133.     WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Acronis Shell Extension" "UninstallString" '"$INSTDIR\TIB-uninst.exe"'
  134.     WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Acronis Shell Extension" "DisplayName" "Acronis Shell Extension (Remove Only)"
  135.     WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Acronis Shell Extension" "DisplayIcon" '"$INSTDIR\TIB-uninst.exe"'
  136.     WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Acronis Shell Extension" "NoModify" "1"
  137.     WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Acronis Shell Extension" "NoRepair" "1"
  138.     WriteUninstaller $INSTDIR\TIB-uninst.exe
  139. SectionEnd
  140.  
  141. Section # Final
  142.     System::Call "shell32::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)"
  143.     DetailPrint "If doesn't work - reload explorer.exe !!!"
  144. SectionEnd
  145.  
  146. Section "Uninstall"
  147.     ${If} ${RunningX64}
  148.         SetRegView 64
  149.     ${EndIf}
  150.     RMDir /r /REBOOTOK "$INSTDIR"
  151.     DeleteRegKey HKEY_CLASSES_ROOT ".tib"
  152.     DeleteRegKey HKEY_CLASSES_ROOT "tibfile"
  153.     DeleteRegKey HKEY_CLASSES_ROOT "CLSID\{C539A15A-3AF9-4c92-B771-50CB78F5C751}"
  154.     DeleteRegKey HKEY_CLASSES_ROOT "CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}"
  155.     DeleteRegKey HKEY_CLASSES_ROOT "CLSID\{C539A15C-3AF9-4c92-B771-50CB78F5C751}"
  156.     DeleteRegKey HKEY_CLASSES_ROOT "CLSID\{C539A15D-3AF9-4c92-B771-50CB78F5C751}"
  157.     DeleteRegKey HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15A-3AF9-4c92-B771-50CB78F5C751}"
  158.     DeleteRegKey HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15B-3AF9-4c92-B771-50CB78F5C751}"
  159.     DeleteRegKey HKEY_CLASSES_ROOT "Wow6432Node\CLSID\{C539A15C-3AF9-4c92-B771-50CB78F5C751}"
  160.     DeleteRegKey HKEY_CLASSES_ROOT "AppID\{C4E69DB9-E094-483e-B922-E7ADE65FB497}"
  161.     DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Acronis\BackupAndRecovery\CommonComponents"
  162.     DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Wow6432Node\Acronis\BackupAndRecovery\CommonComponents"
  163.     DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Acronis Shell Extension"
  164.     System::Call "shell32::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)"
  165. SectionEnd
  166.  
  167. Function .onInit
  168.     ReadRegStr $R0 HKEY_CLASSES_ROOT "CLSID\{C539A15A-3AF9-4c92-B771-50CB78F5C751}\InProcServer32" ""
  169.     IfFileExists $R0 +1 NotInstalled
  170.         messageBox MB_OK|MB_ICONSTOP "Acronis Shell Extension already installed!"
  171.         Quit
  172.     NotInstalled:
  173.  
  174.     # set required section as selected and read-only
  175.     IntOp $0 ${SF_SELECTED} | ${SF_RO}
  176.     SectionSetFlags ${required_id} $0
  177.  
  178.     ${If} ${RunningX64}
  179.         ${EnableX64FSRedirection}
  180.         StrCpy $InstDir "$PROGRAMFILES64\Acronis\TIB ShellEx"
  181.     ${Else}
  182.         StrCpy $InstDir "$PROGRAMFILES\Acronis\TIB ShellEx"
  183.     ${EndIf}
  184. FunctionEnd
Add Comment
Please, Sign In to add comment