SHARE
TWEET

Untitled

a guest Dec 31st, 2018 190 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; NSIS script NSIS-2
  2. ; Install
  3.  
  4. SetCompressor /SOLID lzma
  5. SetCompressorDictSize 8
  6.  
  7. ; --------------------
  8. ; HEADER SIZE: 175202
  9. ; START HEADER SIZE: 300
  10. ; MAX STRING LENGTH: 1024
  11. ; STRING CHARS: 22264
  12.  
  13. OutFile [NSIS].exe
  14. !include WinMessages.nsh
  15.  
  16. ShowInstDetails show
  17. InstallDirRegKey HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag InstallLocation
  18. LicenseBkColor /windows
  19.  
  20.  
  21. ; --------------------
  22. ; LANG TABLES: 1
  23. ; LANG STRINGS: 84
  24.  
  25. Name "UltraDefrag 8.0.0 Standard Edition"
  26. BrandingText "Nullsoft Install System v2.46"
  27.  
  28. ; LANG: 1033
  29. LangString LSTR_0 1033 "Nullsoft Install System v2.46"
  30. LangString LSTR_1 1033 "$(LSTR_2) Setup"
  31. LangString LSTR_2 1033 "UltraDefrag 8.0.0 Standard Edition"
  32. LangString LSTR_3 1033 "Space available: "
  33. LangString LSTR_4 1033 "Space required: "
  34. LangString LSTR_5 1033 "Can't write: "
  35. LangString LSTR_6 1033 "Copy failed"
  36. LangString LSTR_7 1033 "Copy to "
  37. LangString LSTR_8 1033 "Could not find symbol: "
  38. LangString LSTR_9 1033 "Could not load: "
  39. LangString LSTR_10 1033 "Create folder: "
  40. LangString LSTR_11 1033 "Create shortcut: "
  41. LangString LSTR_12 1033 "Created uninstaller: "
  42. LangString LSTR_13 1033 "Delete file: "
  43. LangString LSTR_14 1033 "Delete on reboot: "
  44. LangString LSTR_15 1033 "Error creating shortcut: "
  45. LangString LSTR_16 1033 "Error creating: "
  46. LangString LSTR_17 1033 "Error decompressing data! Corrupted installer?"
  47. LangString LSTR_20 1033 "Execute: "
  48. LangString LSTR_21 1033 "Extract: "
  49. LangString LSTR_22 1033 "Extract: error writing to file "
  50. LangString LSTR_23 1033 "Installer corrupted: invalid opcode"
  51. LangString LSTR_24 1033 "No OLE for: "
  52. LangString LSTR_25 1033 "Output folder: "
  53. LangString LSTR_26 1033 "Remove folder: "
  54. LangString LSTR_27 1033 "Rename on reboot: "
  55. LangString LSTR_28 1033 "Rename: "
  56. LangString LSTR_29 1033 "Skipped: "
  57. LangString LSTR_30 1033 "Copy Details To Clipboard"
  58. LangString LSTR_32 1033 B
  59. LangString LSTR_33 1033 K
  60. LangString LSTR_34 1033 M
  61. LangString LSTR_35 1033 G
  62. LangString LSTR_36 1033 "Error opening file for writing: $\r$\n$\r$\n$0$\r$\n$\r$\nClick Abort to stop the installation,$\r$\nRetry to try again, or$\r$\nIgnore to skip this file."
  63. LangString LSTR_37 1033 "Error opening file for writing: $\r$\n$\r$\n$0$\r$\n$\r$\nClick Retry to try again, or$\r$\nCancel to stop the installation."
  64. LangString LSTR_38 1033 0
  65. LangString LSTR_39 1033 "Welcome to the $(LSTR_41) Setup Wizard"
  66. LangString LSTR_40 1033 "MS Shell Dlg"
  67. LangString LSTR_41 1033 "UltraDefrag 8.0.0 Standard Edition"
  68. LangString LSTR_42 1033 "If you accept the terms of the agreement, click I Agree to continue. You must accept the agreement to install $(LSTR_41)."
  69. LangString LSTR_43 1033 "License Agreement"
  70. LangString LSTR_44 1033 "Please review the license terms before installing $(LSTR_41)."
  71. LangString LSTR_45 1033 "Press Page Down to see the rest of the agreement."
  72. LangString LSTR_46 1033 "Choose Install Location"
  73. LangString LSTR_47 1033 "Choose the folder in which to install $(LSTR_41)."
  74. LangString LSTR_48 1033 "Choose Components"
  75. LangString LSTR_49 1033 "Choose which features of $(LSTR_41) you want to install."
  76. LangString LSTR_50 1033 Description
  77. LangString LSTR_51 1033 "Position your mouse over a component to see its description."
  78. LangString LSTR_52 1033 Installing
  79. LangString LSTR_53 1033 "Please wait while $(LSTR_41) is being installed."
  80. LangString LSTR_54 1033 "Installation Complete"
  81. LangString LSTR_55 1033 "Setup was completed successfully."
  82. LangString LSTR_56 1033 "Installation Aborted"
  83. LangString LSTR_57 1033 "Setup was not completed successfully."
  84. LangString LSTR_58 1033 &Finish
  85. LangString LSTR_59 1033 "Completing the $(LSTR_41) Setup Wizard"
  86. LangString LSTR_60 1033 "Your computer must be restarted in order to complete the installation of $(LSTR_41). Do you want to reboot now?"
  87. LangString LSTR_61 1033 "Reboot now"
  88. LangString LSTR_62 1033 "I want to manually reboot later"
  89. LangString LSTR_63 1033 "$(LSTR_41) has been installed on your computer.$\r$\n$\r$\nClick Finish to close this wizard."
  90. LangString LSTR_64 1033 8
  91. LangString LSTR_65 1033 Custom
  92. LangString LSTR_66 1033 Cancel
  93. LangString LSTR_67 1033 "< &Back"
  94. LangString LSTR_68 1033 "&Next >"
  95. LangString LSTR_69 1033 "Click Next to continue."
  96. LangString LSTR_70 1033 "I &Agree"
  97. LangString LSTR_71 1033 "Destination Folder"
  98. LangString LSTR_72 1033 B&rowse...
  99. LangString LSTR_73 1033 "Select the folder to install $(LSTR_41) in:"
  100. LangString LSTR_74 1033 "Check the components you want to install and uncheck the components you don't want to install. $_CLICK"
  101. LangString LSTR_75 1033 "Select the type of install:"
  102. LangString LSTR_76 1033 "Or, select the optional components you wish to install:"
  103. LangString LSTR_77 1033 "Select components to install:"
  104. LangString LSTR_78 1033 &Install
  105. LangString LSTR_79 1033 "Click Install to start the installation."
  106. LangString LSTR_80 1033 "Show &details"
  107. LangString LSTR_81 1033 Completed
  108. LangString LSTR_82 1033 " "
  109. LangString LSTR_83 1033 &Close
  110.  
  111.  
  112. ; --------------------
  113. ; VARIABLES: 73
  114.  
  115. Var _0_
  116. Var _1_
  117. Var _2_
  118. Var _3_
  119. Var _4_
  120. Var _5_
  121. Var _6_
  122. Var _7_
  123. Var _8_
  124. Var _9_
  125. Var _10_
  126. Var _11_
  127. Var _12_
  128. Var _13_
  129. Var _14_
  130. Var _15_
  131. Var _16_
  132. Var _17_
  133. Var _18_
  134. Var _19_
  135. Var _20_
  136. Var _21_
  137. Var _22_
  138. Var _23_
  139. Var _24_
  140. Var _25_
  141. Var _26_
  142. Var _27_
  143. Var _28_
  144. Var _29_
  145. Var _30_
  146. Var _31_
  147. Var _32_
  148. Var _33_
  149. Var _34_
  150. Var _35_
  151. Var _36_
  152. Var _37_
  153. Var _38_
  154. Var _39_
  155. Var _40_
  156. Var _41_
  157. Var _42_
  158. Var _43_
  159. Var _44_
  160. Var _45_
  161. Var _46_
  162. Var _47_
  163. Var _48_
  164. Var _49_
  165. Var _50_
  166. Var _51_
  167. Var _52_
  168. Var _53_
  169. Var _54_
  170. Var _55_
  171. Var _56_
  172. Var _57_
  173. Var _58_
  174. Var _59_
  175. Var _60_
  176. Var _61_
  177. Var _62_
  178. Var _63_
  179. Var _64_
  180. Var _65_
  181. Var _66_
  182. Var _67_
  183. Var _68_
  184. Var _69_
  185. Var _70_
  186. Var _71_
  187. Var _72_
  188.  
  189.  
  190. InstType Full
  191. InstType "Micro Edition"
  192. InstType $(LSTR_65)    ;  Custom
  193. InstallDir $PROGRAMFILES\UltraDefrag
  194. ; install_directory_auto_append = UltraDefrag
  195. ; wininit = $WINDIR\wininit.ini
  196.  
  197.  
  198. ; --------------------
  199. ; PAGES: 7
  200.  
  201. ; Page 0
  202. Page custom func_491 func_607 /ENABLECANCEL
  203.  
  204. ; Page 1
  205. Page license func_609 func_612 func_618 /ENABLECANCEL
  206.   LicenseText $(LSTR_42) $(LSTR_70)    ;  "If you accept the terms of the agreement, click I Agree to continue. You must accept the agreement to install $(LSTR_41)." "I &Agree" "UltraDefrag 8.0.0 Standard Edition"
  207.   LicenseData [LICENSE].txt
  208.  
  209. ; Page 2
  210. Page directory func_619 func_622 func_630 /ENABLECANCEL
  211.   DirText "Only empty folders and folders containing a previous UltraDefrag installation are valid!$\nFor any other folders the $\"Next$\" button will be disabled." $(LSTR_71) $(LSTR_72) $(LSTR_73)    ;  "Destination Folder" B&rowse... "Select the folder to install $(LSTR_41) in:" "UltraDefrag 8.0.0 Standard Edition"
  212.   DirVar $CMDLINE
  213.  
  214. ; Page 3
  215. Page components func_631 func_634 func_648 /ENABLECANCEL
  216.   ComponentsText $(LSTR_74) $(LSTR_75) $(LSTR_76)    ;  "Check the components you want to install and uncheck the components you don't want to install. $_CLICK" "Select the type of install:" "Or, select the optional components you wish to install:"
  217.  
  218. ; Page 4
  219. Page instfiles func_649 func_652 func_658
  220.   CompletedText $(LSTR_81)    ;  Completed
  221.   DetailsButtonText $(LSTR_80)    ;  "Show &details"
  222.  
  223. /*
  224. ; Page 5
  225. Page COMPLETED
  226. */
  227.  
  228. ; Page 6
  229. Page custom func_671 func_889
  230.  
  231.  
  232. ; --------------------
  233. ; SECTIONS: 17
  234. ; COMMANDS: 4785
  235.  
  236. Function func_0
  237.   Push $R0
  238.   nsDialogs::CreateControl STATIC 0x40000000|0x10000000|0x04000000|0x00000100 0x00000020 120u 140u 36u 10u Username:
  239.     ; Call Initialize_____Plugins
  240.     ; SetOverwrite off
  241.     ; File $PLUGINSDIR\nsDialogs.dll
  242.     ; SetDetailsPrint lastused
  243.     ; Push Username:
  244.     ; Push 10u
  245.     ; Push 36u
  246.     ; Push 140u
  247.     ; Push 120u
  248.     ; Push 0x00000020
  249.     ; Push 0x40000000|0x10000000|0x04000000|0x00000100
  250.     ; Push STATIC
  251.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  252.   Pop $R0
  253.   SetCtlColors $R0 "" 0xFFFFFF
  254.   nsDialogs::CreateControl EDIT 0x40000000|0x10000000|0x04000000|0x00010000|0x00000080 0x00000100|0x00000200 158u 139u 155u 12u $_18_
  255.     ; Call Initialize_____Plugins
  256.     ; AllowSkipFiles off
  257.     ; File $PLUGINSDIR\nsDialogs.dll
  258.     ; SetDetailsPrint lastused
  259.     ; Push $_18_
  260.     ; Push 12u
  261.     ; Push 155u
  262.     ; Push 139u
  263.     ; Push 158u
  264.     ; Push 0x00000100|0x00000200
  265.     ; Push 0x40000000|0x10000000|0x04000000|0x00010000|0x00000080
  266.     ; Push EDIT
  267.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  268.   Pop $_20_
  269.   SetCtlColors $_20_ "" 0xFFFFFF
  270.   nsDialogs::CreateControl STATIC 0x40000000|0x10000000|0x04000000|0x00000100 0x00000020 120u 160u 36u 10u Password:
  271.     ; Call Initialize_____Plugins
  272.     ; File $PLUGINSDIR\nsDialogs.dll
  273.     ; SetDetailsPrint lastused
  274.     ; Push Password:
  275.     ; Push 10u
  276.     ; Push 36u
  277.     ; Push 160u
  278.     ; Push 120u
  279.     ; Push 0x00000020
  280.     ; Push 0x40000000|0x10000000|0x04000000|0x00000100
  281.     ; Push STATIC
  282.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  283.   Pop $R0
  284.   SetCtlColors $R0 "" 0xFFFFFF
  285.   nsDialogs::CreateControl EDIT 0x40000000|0x10000000|0x04000000|0x00010000|0x00000080|0x00000020 0x00000100|0x00000200 158u 159u 155u 12u $_19_
  286.     ; Call Initialize_____Plugins
  287.     ; File $PLUGINSDIR\nsDialogs.dll
  288.     ; SetDetailsPrint lastused
  289.     ; Push $_19_
  290.     ; Push 12u
  291.     ; Push 155u
  292.     ; Push 159u
  293.     ; Push 158u
  294.     ; Push 0x00000100|0x00000200
  295.     ; Push 0x40000000|0x10000000|0x04000000|0x00010000|0x00000080|0x00000020
  296.     ; Push EDIT
  297.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  298.   Pop $_21_
  299.   SetCtlColors $_21_ "" 0xFFFFFF
  300.   Pop $R0
  301. FunctionEnd
  302.  
  303.  
  304. Function func_59
  305.   System::Call user32::GetWindowText(i$_20_,t.s,i1024)
  306.     ; Call Initialize_____Plugins
  307.     ; AllowSkipFiles on
  308.     ; File $PLUGINSDIR\System.dll
  309.     ; SetDetailsPrint lastused
  310.     ; Push user32::GetWindowText(i$_20_,t.s,i1024)
  311.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  312.   Pop $_18_
  313.   System::Call user32::GetWindowText(i$_21_,t.s,i1024)
  314.     ; Call Initialize_____Plugins
  315.     ; AllowSkipFiles off
  316.     ; File $PLUGINSDIR\System.dll
  317.     ; SetDetailsPrint lastused
  318.     ; Push user32::GetWindowText(i$_21_,t.s,i1024)
  319.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  320.   Pop $_19_
  321.   Push $R0
  322.   StrCpy $_2_ 0
  323.   StrCmp $_18_ "" 0 label_75
  324.   Goto label_76
  325. label_75:
  326.   StrCmp $_19_ "" 0 label_223
  327. label_76:
  328.   IfSilent 0 label_221
  329.   Push $R0
  330.   Push $R1
  331.   Push $R2
  332.   Push $R3
  333.   Call :label_83
  334.   Goto label_186
  335. label_83:
  336.   StrCmp $_22_ "" label_85
  337.   Return
  338.  
  339. label_85:
  340.   Push $0
  341.   Push $1
  342.   Push $2
  343.   Push $3
  344.   Push $R0
  345.   System::Alloc 156
  346.     ; Call Initialize_____Plugins
  347.     ; AllowSkipFiles on
  348.     ; File $PLUGINSDIR\System.dll
  349.     ; SetDetailsPrint lastused
  350.     ; Push 156
  351.     ; CallInstDLL $PLUGINSDIR\System.dll Alloc
  352.   Pop $0
  353.   System::Call "*$0(i 156)"
  354.     ; Call Initialize_____Plugins
  355.     ; AllowSkipFiles off
  356.     ; File $PLUGINSDIR\System.dll
  357.     ; SetDetailsPrint lastused
  358.     ; Push "*$0(i 156)"
  359.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  360.   System::Call kernel32::GetVersionEx(ir0)i.r3
  361.     ; Call Initialize_____Plugins
  362.     ; File $PLUGINSDIR\System.dll
  363.     ; SetDetailsPrint lastused
  364.     ; Push kernel32::GetVersionEx(ir0)i.r3
  365.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  366.   IntCmp $3 0 0 label_117 label_117
  367.   System::Call "*$0(i 148)"
  368.     ; Call Initialize_____Plugins
  369.     ; File $PLUGINSDIR\System.dll
  370.     ; SetDetailsPrint lastused
  371.     ; Push "*$0(i 148)"
  372.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  373.   System::Call kernel32::GetVersionEx(ir0)i.r3
  374.     ; Call Initialize_____Plugins
  375.     ; File $PLUGINSDIR\System.dll
  376.     ; SetDetailsPrint lastused
  377.     ; Push kernel32::GetVersionEx(ir0)i.r3
  378.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  379. label_117:
  380.   System::Call *$0(i.s,i.r1,i.r2,i.r3,i.s,&t128.s,&i2.s,&i2,&i2,&i1.s,&i1)
  381.     ; Call Initialize_____Plugins
  382.     ; File $PLUGINSDIR\System.dll
  383.     ; SetDetailsPrint lastused
  384.     ; Push *$0(i.s,i.r1,i.r2,i.r3,i.s,&t128.s,&i2.s,&i2,&i2,&i1.s,&i1)
  385.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  386.   System::Free $0
  387.     ; Call Initialize_____Plugins
  388.     ; AllowSkipFiles on
  389.     ; File $PLUGINSDIR\System.dll
  390.     ; SetDetailsPrint lastused
  391.     ; Push $0
  392.     ; CallInstDLL $PLUGINSDIR\System.dll Free
  393.   IntOp $3 $3 & 0xFFFF
  394.   Pop $R0
  395.   Pop $0
  396.   IntCmp $0 2 0 label_133 label_133
  397.   IntOp $_23_ $_23_ | 0x80000000
  398.   IntOp $_22_ $_22_ | 0x80000000
  399. label_133:
  400.   IntCmp $0 2 label_149 0 label_149
  401.   Pop $0
  402.   StrCpy $0 $0 1 1
  403.   Pop $R0
  404.   Pop $R0
  405.   StrCmp $0 A 0 label_141
  406.   StrCpy $0 1
  407.   Goto label_165
  408. label_141:
  409.   StrCmp $0 B 0 label_144
  410.   StrCpy $0 2
  411.   Goto label_165
  412. label_144:
  413.   StrCmp $0 C 0 label_147
  414.   StrCpy $0 3
  415.   Goto label_165
  416. label_147:
  417.   StrCpy $0 0
  418.   Goto label_165
  419. label_149:
  420.   IntCmp $R0 156 0 label_157 label_157
  421.   Pop $0
  422.   Exch
  423.   Pop $0
  424.   IntCmp $0 1 label_155 label_155
  425.   IntOp $_23_ $_23_ | 0x40000000
  426. label_155:
  427.   Pop $0
  428.   Goto label_165
  429. label_157:
  430.   Pop $0
  431.   Pop $R0
  432.   Pop $R0
  433.   StrCpy $R0 $0 13
  434.   StrCmp $R0 "Service Pack " 0 label_164
  435.   StrCpy $0 $0 "" 13
  436.   Goto label_165
  437. label_164:
  438.   StrCpy $0 0
  439. label_165:
  440.   IntOp $0 $0 << 16
  441.   IntOp $_23_ $_23_ | $0
  442.   IntOp $0 $_23_ & 0x40000000
  443.   IntCmp $0 0 0 label_172 label_172
  444.   IntCmp $1 5 0 label_172 label_172
  445.   IntCmp $2 2 0 label_172 label_172
  446.   StrCpy $2 1
  447. label_172:
  448.   IntCmp $0 0 label_175
  449.   IntCmp 6 $1 0 0 label_175
  450.   IntOp $_22_ $_22_ | 0x00000001
  451. label_175:
  452.   IntOp $1 $1 << 24
  453.   IntOp $_22_ $_22_ | $1
  454.   IntOp $0 $2 << 16
  455.   IntOp $_22_ $_22_ | $0
  456.   IntOp $_23_ $_23_ | $3
  457.   Pop $R0
  458.   Pop $3
  459.   Pop $2
  460.   Pop $1
  461.   Pop $0
  462.   Return
  463.  
  464. label_186:
  465.   IntOp $R1 $_22_ & 0x7F000000
  466.   IntOp $R1 $R1 >> 24
  467.   Call :label_83
  468.   IntOp $R2 $_22_ & 0x00FF0000
  469.   IntOp $R2 $R2 >> 16
  470.   Call :label_83
  471.   IntOp $R3 $_23_ & 0x0000FFFF
  472.   ClearErrors
  473.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  474.   IfErrors label_217
  475.   FileWrite $R0 $\r$\n
  476.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  477.   FileWrite $R0 $\r$\n
  478.   FileWrite $R0 "Error Message ..... Invalid username or password!$\r$\n"
  479.   FileWrite $R0 $\r$\n
  480.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  481.   FileWrite $R0 $\r$\n
  482.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  483.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  484.   FileWrite $R0 $\r$\n
  485.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  486.   FileWrite $R0 $\r$\n
  487.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  488.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  489.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  490.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  491.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  492.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  493.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  494.   FileWrite $R0 $\r$\n
  495.   FileClose $R0
  496. label_217:
  497.   Pop $R3
  498.   Pop $R2
  499.   Pop $R1
  500.   Pop $R0
  501. label_221:
  502.   MessageBox MB_OK|MB_ICONSTOP "Invalid username or password!" /SD IDOK
  503.   Goto label_463
  504. label_223:
  505.   SetOutPath $PLUGINSDIR
  506.   ClearErrors
  507.   StrCmp $$TargetCPU amd64 0 label_228
  508.   SetOverwrite on
  509.   AllowSkipFiles off
  510.   File zenwinx.dll
  511.   Goto label_232
  512. label_228:
  513.   StrCmp $$TargetCPU ia64 0 label_231
  514.   File zenwinx.dll
  515.   Goto label_232
  516. label_231:
  517.   File zenwinx.dll
  518. label_232:
  519.   IfErrors 0 label_276
  520.   IfSilent 0 label_274
  521.   Push $R0
  522.   Push $R1
  523.   Push $R2
  524.   Push $R3
  525.   Call :label_83
  526.   IntOp $R1 $_22_ & 0x7F000000
  527.   IntOp $R1 $R1 >> 24
  528.   Call :label_83
  529.   IntOp $R2 $_22_ & 0x00FF0000
  530.   IntOp $R2 $R2 >> 16
  531.   Call :label_83
  532.   IntOp $R3 $_23_ & 0x0000FFFF
  533.   ClearErrors
  534.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  535.   IfErrors label_270
  536.   FileWrite $R0 $\r$\n
  537.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  538.   FileWrite $R0 $\r$\n
  539.   FileWrite $R0 "Error Message ..... Unable to extract zenwinx.dll file to $PLUGINSDIR folder!$\r$\n"
  540.   FileWrite $R0 $\r$\n
  541.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  542.   FileWrite $R0 $\r$\n
  543.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  544.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  545.   FileWrite $R0 $\r$\n
  546.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  547.   FileWrite $R0 $\r$\n
  548.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  549.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  550.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  551.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  552.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  553.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  554.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  555.   FileWrite $R0 $\r$\n
  556.   FileClose $R0
  557. label_270:
  558.   Pop $R3
  559.   Pop $R2
  560.   Pop $R1
  561.   Pop $R0
  562. label_274:
  563.   MessageBox MB_OK|MB_ICONSTOP "Unable to extract zenwinx.dll file to $PLUGINSDIR folder!" /SD IDOK
  564.   Goto label_463
  565. label_276:
  566.   ClearErrors
  567.   StrCmp $$TargetCPU amd64 0 label_280
  568.   File udefrag-dbg.exe
  569.   Goto label_284
  570. label_280:
  571.   StrCmp $$TargetCPU ia64 0 label_283
  572.   File udefrag-dbg.exe
  573.   Goto label_284
  574. label_283:
  575.   File udefrag-dbg.exe
  576. label_284:
  577.   IfErrors 0 label_328
  578.   IfSilent 0 label_326
  579.   Push $R0
  580.   Push $R1
  581.   Push $R2
  582.   Push $R3
  583.   Call :label_83
  584.   IntOp $R1 $_22_ & 0x7F000000
  585.   IntOp $R1 $R1 >> 24
  586.   Call :label_83
  587.   IntOp $R2 $_22_ & 0x00FF0000
  588.   IntOp $R2 $R2 >> 16
  589.   Call :label_83
  590.   IntOp $R3 $_23_ & 0x0000FFFF
  591.   ClearErrors
  592.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  593.   IfErrors label_322
  594.   FileWrite $R0 $\r$\n
  595.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  596.   FileWrite $R0 $\r$\n
  597.   FileWrite $R0 "Error Message ..... Unable to extract udefrag-dbg.exe file to $PLUGINSDIR folder!$\r$\n"
  598.   FileWrite $R0 $\r$\n
  599.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  600.   FileWrite $R0 $\r$\n
  601.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  602.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  603.   FileWrite $R0 $\r$\n
  604.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  605.   FileWrite $R0 $\r$\n
  606.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  607.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  608.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  609.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  610.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  611.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  612.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  613.   FileWrite $R0 $\r$\n
  614.   FileClose $R0
  615. label_322:
  616.   Pop $R3
  617.   Pop $R2
  618.   Pop $R1
  619.   Pop $R0
  620. label_326:
  621.   MessageBox MB_OK|MB_ICONSTOP "Unable to extract udefrag-dbg.exe file to $PLUGINSDIR folder!" /SD IDOK
  622.   Goto label_463
  623. label_328:
  624.   ClearErrors
  625.   ExecWait "$\"$PLUGINSDIR\udefrag-dbg.exe$\" --check $\"$_18_$\" $\"$_19_$\"" $R0
  626.   IfErrors 0 label_374
  627.   IfSilent 0 label_372
  628.   Push $R0
  629.   Push $R1
  630.   Push $R2
  631.   Push $R3
  632.   Call :label_83
  633.   IntOp $R1 $_22_ & 0x7F000000
  634.   IntOp $R1 $R1 >> 24
  635.   Call :label_83
  636.   IntOp $R2 $_22_ & 0x00FF0000
  637.   IntOp $R2 $R2 >> 16
  638.   Call :label_83
  639.   IntOp $R3 $_23_ & 0x0000FFFF
  640.   ClearErrors
  641.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  642.   IfErrors label_368
  643.   FileWrite $R0 $\r$\n
  644.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  645.   FileWrite $R0 $\r$\n
  646.   FileWrite $R0 "Error Message ..... Unable to execute $PLUGINSDIR\udefrag-dbg.exe program!$\r$\n"
  647.   FileWrite $R0 $\r$\n
  648.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  649.   FileWrite $R0 $\r$\n
  650.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  651.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  652.   FileWrite $R0 $\r$\n
  653.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  654.   FileWrite $R0 $\r$\n
  655.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  656.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  657.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  658.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  659.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  660.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  661.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  662.   FileWrite $R0 $\r$\n
  663.   FileClose $R0
  664. label_368:
  665.   Pop $R3
  666.   Pop $R2
  667.   Pop $R1
  668.   Pop $R0
  669. label_372:
  670.   MessageBox MB_OK|MB_ICONSTOP "Unable to execute $PLUGINSDIR\udefrag-dbg.exe program!" /SD IDOK
  671.   Goto label_463
  672. label_374:
  673.   StrCmp $R0 0 0 label_377
  674.   StrCpy $_2_ 1
  675.   Goto label_463
  676. label_377:
  677.   StrCmp $R0 3 0 label_421
  678.   IfSilent 0 label_419
  679.   Push $R0
  680.   Push $R1
  681.   Push $R2
  682.   Push $R3
  683.   Call :label_83
  684.   IntOp $R1 $_22_ & 0x7F000000
  685.   IntOp $R1 $R1 >> 24
  686.   Call :label_83
  687.   IntOp $R2 $_22_ & 0x00FF0000
  688.   IntOp $R2 $R2 >> 16
  689.   Call :label_83
  690.   IntOp $R3 $_23_ & 0x0000FFFF
  691.   ClearErrors
  692.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  693.   IfErrors label_415
  694.   FileWrite $R0 $\r$\n
  695.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  696.   FileWrite $R0 $\r$\n
  697.   FileWrite $R0 "Error Message ..... Invalid username or password!$\r$\n"
  698.   FileWrite $R0 $\r$\n
  699.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  700.   FileWrite $R0 $\r$\n
  701.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  702.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  703.   FileWrite $R0 $\r$\n
  704.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  705.   FileWrite $R0 $\r$\n
  706.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  707.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  708.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  709.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  710.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  711.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  712.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  713.   FileWrite $R0 $\r$\n
  714.   FileClose $R0
  715. label_415:
  716.   Pop $R3
  717.   Pop $R2
  718.   Pop $R1
  719.   Pop $R0
  720. label_419:
  721.   MessageBox MB_OK|MB_ICONSTOP "Invalid username or password!" /SD IDOK
  722.   Goto label_463
  723. label_421:
  724.   IfSilent 0 label_462
  725.   Push $R0
  726.   Push $R1
  727.   Push $R2
  728.   Push $R3
  729.   Call :label_83
  730.   IntOp $R1 $_22_ & 0x7F000000
  731.   IntOp $R1 $R1 >> 24
  732.   Call :label_83
  733.   IntOp $R2 $_22_ & 0x00FF0000
  734.   IntOp $R2 $R2 >> 16
  735.   Call :label_83
  736.   IntOp $R3 $_23_ & 0x0000FFFF
  737.   ClearErrors
  738.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  739.   IfErrors label_458
  740.   FileWrite $R0 $\r$\n
  741.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  742.   FileWrite $R0 $\r$\n
  743.   FileWrite $R0 "Error Message ..... Unable to check credentials!$\r$\n"
  744.   FileWrite $R0 $\r$\n
  745.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  746.   FileWrite $R0 $\r$\n
  747.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  748.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  749.   FileWrite $R0 $\r$\n
  750.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  751.   FileWrite $R0 $\r$\n
  752.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  753.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  754.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  755.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  756.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  757.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  758.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  759.   FileWrite $R0 $\r$\n
  760.   FileClose $R0
  761. label_458:
  762.   Pop $R3
  763.   Pop $R2
  764.   Pop $R1
  765.   Pop $R0
  766. label_462:
  767.   MessageBox MB_OK|MB_ICONSTOP "Unable to check credentials!" /SD IDOK
  768. label_463:
  769.   Pop $R0
  770.   StrCmp $_2_ 0 0 label_466
  771.   Abort
  772. label_466:
  773. FunctionEnd
  774.  
  775.  
  776. Function func_467
  777.   InitPluginsDir
  778.     ; Call Initialize_____Plugins
  779.     ; SetDetailsPrint lastused
  780.   File $PLUGINSDIR\modern-wizard.bmp
  781. FunctionEnd
  782.  
  783.  
  784. Function func_471
  785.   LockWindow on
  786.   ShowWindow $_12_ ${SW_HIDE}
  787.   ShowWindow $_11_ ${SW_HIDE}
  788.   ShowWindow $_6_ ${SW_HIDE}
  789.   ShowWindow $_8_ ${SW_HIDE}
  790.   ShowWindow $_10_ ${SW_HIDE}
  791.   ShowWindow $_13_ ${SW_HIDE}
  792.   ShowWindow $_14_ ${SW_SHOWNORMAL}
  793.   LockWindow off
  794. FunctionEnd
  795.  
  796.  
  797. Function func_481
  798.   LockWindow on
  799.   ShowWindow $_12_ ${SW_SHOWNORMAL}
  800.   ShowWindow $_11_ ${SW_SHOWNORMAL}
  801.   ShowWindow $_6_ ${SW_SHOWNORMAL}
  802.   ShowWindow $_8_ ${SW_SHOWNORMAL}
  803.   ShowWindow $_10_ ${SW_SHOWNORMAL}
  804.   ShowWindow $_13_ ${SW_SHOWNORMAL}
  805.   ShowWindow $_14_ ${SW_HIDE}
  806.   LockWindow off
  807. FunctionEnd
  808.  
  809.  
  810. Function func_491    ; Page 0, Pre
  811.   nsDialogs::Create 1044
  812.     ; Call Initialize_____Plugins
  813.     ; SetOverwrite off
  814.     ; AllowSkipFiles on
  815.     ; File $PLUGINSDIR\nsDialogs.dll
  816.     ; SetDetailsPrint lastused
  817.     ; Push 1044
  818.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll Create
  819.   Pop $_25_
  820.   nsDialogs::SetRTL $(LSTR_38)    ;  0
  821.     ; Call Initialize_____Plugins
  822.     ; File $PLUGINSDIR\nsDialogs.dll
  823.     ; SetDetailsPrint lastused
  824.     ; Push $(LSTR_38)    ;  0
  825.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll SetRTL
  826.   SetCtlColors $_25_ "" 0xFFFFFF
  827.   nsDialogs::CreateControl STATIC 0x40000000|0x10000000|0x04000000|0x0000000E|0x00000100 0 0u 0u 109u 193u ""
  828.     ; Call Initialize_____Plugins
  829.     ; AllowSkipFiles off
  830.     ; File $PLUGINSDIR\nsDialogs.dll
  831.     ; SetDetailsPrint lastused
  832.     ; Push ""
  833.     ; Push 193u
  834.     ; Push 109u
  835.     ; Push 0u
  836.     ; Push 0u
  837.     ; Push 0
  838.     ; Push 0x40000000|0x10000000|0x04000000|0x0000000E|0x00000100
  839.     ; Push STATIC
  840.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  841.   Pop $_26_
  842.   Push $0
  843.   Push $1
  844.   Push $2
  845.   Push $R0
  846.   StrCpy $R0 $_26_
  847.   StrCpy $1 ""
  848.   StrCpy $2 ""
  849.   System::Call "*(i, i, i, i) i.s"
  850.     ; Call Initialize_____Plugins
  851.     ; File $PLUGINSDIR\System.dll
  852.     ; SetDetailsPrint lastused
  853.     ; Push "*(i, i, i, i) i.s"
  854.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  855.   Pop $0
  856.   IntCmp $0 0 label_547
  857.   System::Call "user32::GetClientRect(iR0, ir0)"
  858.     ; Call Initialize_____Plugins
  859.     ; File $PLUGINSDIR\System.dll
  860.     ; SetDetailsPrint lastused
  861.     ; Push "user32::GetClientRect(iR0, ir0)"
  862.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  863.   System::Call "*$0(i, i, i .s, i .s)"
  864.     ; Call Initialize_____Plugins
  865.     ; File $PLUGINSDIR\System.dll
  866.     ; SetDetailsPrint lastused
  867.     ; Push "*$0(i, i, i .s, i .s)"
  868.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  869.   System::Free $0
  870.     ; Call Initialize_____Plugins
  871.     ; File $PLUGINSDIR\System.dll
  872.     ; SetDetailsPrint lastused
  873.     ; Push $0
  874.     ; CallInstDLL $PLUGINSDIR\System.dll Free
  875.   Pop $1
  876.   Pop $2
  877. label_547:
  878.   System::Call "user32::LoadImage(i0, ts, i 0, ir1, ir2, i0x0010) i.s" $PLUGINSDIR\modern-wizard.bmp
  879.     ; Call Initialize_____Plugins
  880.     ; File $PLUGINSDIR\System.dll
  881.     ; SetDetailsPrint lastused
  882.     ; Push $PLUGINSDIR\modern-wizard.bmp
  883.     ; Push "user32::LoadImage(i0, ts, i 0, ir1, ir2, i0x0010) i.s"
  884.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  885.   Pop $0
  886.   SendMessage $R0 0x0172 0 $0
  887.   Pop $R0
  888.   Pop $2
  889.   Pop $1
  890.   Exch $0
  891.     ; Push $0
  892.     ; Exch
  893.     ; Pop $0
  894.   Pop $_27_
  895.   nsDialogs::CreateControl STATIC 0x40000000|0x10000000|0x04000000|0x00000100 0x00000020 120u 10u 195u 28u $(LSTR_39)    ;  "Welcome to the $(LSTR_41) Setup Wizard" "UltraDefrag 8.0.0 Standard Edition"
  896.     ; Call Initialize_____Plugins
  897.     ; File $PLUGINSDIR\nsDialogs.dll
  898.     ; SetDetailsPrint lastused
  899.     ; Push $(LSTR_39)    ;  "Welcome to the $(LSTR_41) Setup Wizard" "UltraDefrag 8.0.0 Standard Edition"
  900.     ; Push 28u
  901.     ; Push 195u
  902.     ; Push 10u
  903.     ; Push 120u
  904.     ; Push 0x00000020
  905.     ; Push 0x40000000|0x10000000|0x04000000|0x00000100
  906.     ; Push STATIC
  907.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  908.   Pop $_28_
  909.   SetCtlColors $_28_ "" 0xFFFFFF
  910.   CreateFont $_29_ $(LSTR_40) 12 700    ;  "MS Shell Dlg"
  911.   SendMessage $_28_ ${WM_SETFONT} $_29_ 0
  912.   nsDialogs::CreateControl STATIC 0x40000000|0x10000000|0x04000000|0x00000100 0x00000020 120u 45u 195u 90u "This wizard will guide you through the installation of $(LSTR_41).$\r$\rIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without having to reboot your computer.$\r$\rEnter registration information you have received along with this program and then click Next to continue."    ;  "UltraDefrag 8.0.0 Standard Edition"
  913.     ; Call Initialize_____Plugins
  914.     ; File $PLUGINSDIR\nsDialogs.dll
  915.     ; SetDetailsPrint lastused
  916.     ; Push "This wizard will guide you through the installation of $(LSTR_41).$\r$\rIt is recommended that you close all other applications before starting Setup. This will make it possible to update relevant system files without having to reboot your computer.$\r$\rEnter registration information you have received along with this program and then click Next to continue."    ;  "UltraDefrag 8.0.0 Standard Edition"
  917.     ; Push 90u
  918.     ; Push 195u
  919.     ; Push 45u
  920.     ; Push 120u
  921.     ; Push 0x00000020
  922.     ; Push 0x40000000|0x10000000|0x04000000|0x00000100
  923.     ; Push STATIC
  924.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  925.   Pop $_30_
  926.   SetCtlColors $_30_ "" 0xFFFFFF
  927.   Call func_471
  928.   Call func_0
  929.   nsDialogs::Show
  930.     ; Call Initialize_____Plugins
  931.     ; AllowSkipFiles on
  932.     ; File $PLUGINSDIR\nsDialogs.dll
  933.     ; SetDetailsPrint lastused
  934.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll Show
  935.   Call func_481
  936.   IntCmp $_27_ 0 label_606
  937.   System::Call gdi32::DeleteObject(is) $_27_
  938.     ; Call Initialize_____Plugins
  939.     ; AllowSkipFiles off
  940.     ; File $PLUGINSDIR\System.dll
  941.     ; SetDetailsPrint lastused
  942.     ; Push $_27_
  943.     ; Push gdi32::DeleteObject(is)
  944.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  945. label_606:
  946. FunctionEnd
  947.  
  948.  
  949. Function func_607    ; Page 0, Leave
  950.   Call func_59
  951. FunctionEnd
  952.  
  953.  
  954. Function func_609    ; Page 1, Pre
  955.   SendMessage $_6_ ${WM_SETTEXT} 0 STR:$(LSTR_43)    ;  "License Agreement"
  956.   SendMessage $_8_ ${WM_SETTEXT} 0 STR:$(LSTR_44)    ;  "Please review the license terms before installing $(LSTR_41)." "UltraDefrag 8.0.0 Standard Edition"
  957. FunctionEnd
  958.  
  959.  
  960. Function func_612    ; Page 1, Show
  961.   FindWindow $_31_ "#32770" "" $HWNDPARENT
  962.   GetDlgItem $_32_ $_31_ 1040
  963.   GetDlgItem $_33_ $_31_ 1006
  964.   GetDlgItem $_34_ $_31_ 1000
  965.   SendMessage $_32_ ${WM_SETTEXT} 0 STR:$(LSTR_45)    ;  "Press Page Down to see the rest of the agreement."
  966. FunctionEnd
  967.  
  968.  
  969. Function func_618    ; Page 1, Leave
  970. FunctionEnd
  971.  
  972.  
  973. Function func_619    ; Page 2, Pre
  974.   SendMessage $_6_ ${WM_SETTEXT} 0 STR:$(LSTR_46)    ;  "Choose Install Location"
  975.   SendMessage $_8_ ${WM_SETTEXT} 0 STR:$(LSTR_47)    ;  "Choose the folder in which to install $(LSTR_41)." "UltraDefrag 8.0.0 Standard Edition"
  976. FunctionEnd
  977.  
  978.  
  979. Function func_622    ; Page 2, Show
  980.   FindWindow $_35_ "#32770" "" $HWNDPARENT
  981.   GetDlgItem $_36_ $_35_ 1006
  982.   GetDlgItem $_37_ $_35_ 1020
  983.   GetDlgItem $_38_ $_35_ 1019
  984.   GetDlgItem $_39_ $_35_ 1001
  985.   GetDlgItem $_40_ $_35_ 1023
  986.   GetDlgItem $_41_ $_35_ 1024
  987. FunctionEnd
  988.  
  989.  
  990. Function func_630    ; Page 2, Leave
  991. FunctionEnd
  992.  
  993.  
  994. Function func_631    ; Page 3, Pre
  995.   SendMessage $_6_ ${WM_SETTEXT} 0 STR:$(LSTR_48)    ;  "Choose Components"
  996.   SendMessage $_8_ ${WM_SETTEXT} 0 STR:$(LSTR_49)    ;  "Choose which features of $(LSTR_41) you want to install." "UltraDefrag 8.0.0 Standard Edition"
  997. FunctionEnd
  998.  
  999.  
  1000. Function func_634    ; Page 3, Show
  1001.   FindWindow $_42_ "#32770" "" $HWNDPARENT
  1002.   GetDlgItem $_43_ $_42_ 1006
  1003.   GetDlgItem $_44_ $_42_ 1021
  1004.   GetDlgItem $_45_ $_42_ 1022
  1005.   GetDlgItem $_46_ $_42_ 1017
  1006.   GetDlgItem $_47_ $_42_ 1032
  1007.   GetDlgItem $_48_ $_42_ 1042
  1008.   GetDlgItem $_50_ $_42_ 1043
  1009.   GetDlgItem $_51_ $_42_ 1023
  1010.   SendMessage $_48_ ${WM_SETTEXT} 0 STR:$(LSTR_50)    ;  Description
  1011.   EnableWindow $_50_ 0
  1012.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:$(LSTR_51)    ;  "Position your mouse over a component to see its description."
  1013.   StrCpy $_49_ $(LSTR_51)    ;  "Position your mouse over a component to see its description."
  1014. FunctionEnd
  1015.  
  1016.  
  1017. Function func_648    ; Page 3, Leave
  1018. FunctionEnd
  1019.  
  1020.  
  1021. Function func_649    ; Page 4, Pre
  1022.   SendMessage $_6_ ${WM_SETTEXT} 0 STR:$(LSTR_52)    ;  Installing
  1023.   SendMessage $_8_ ${WM_SETTEXT} 0 STR:$(LSTR_53)    ;  "Please wait while $(LSTR_41) is being installed." "UltraDefrag 8.0.0 Standard Edition"
  1024. FunctionEnd
  1025.  
  1026.  
  1027. Function func_652    ; Page 4, Show
  1028.   FindWindow $_52_ "#32770" "" $HWNDPARENT
  1029.   GetDlgItem $_53_ $_52_ 1006
  1030.   GetDlgItem $_54_ $_52_ 1004
  1031.   GetDlgItem $_55_ $_52_ 1027
  1032.   GetDlgItem $_56_ $_52_ 1016
  1033. FunctionEnd
  1034.  
  1035.  
  1036. Function func_658    ; Page 4, Leave
  1037.   IfAbort label_662
  1038.   SendMessage $_6_ ${WM_SETTEXT} 0 STR:$(LSTR_54)    ;  "Installation Complete"
  1039.   SendMessage $_8_ ${WM_SETTEXT} 0 STR:$(LSTR_55)    ;  "Setup was completed successfully."
  1040.   Goto label_664
  1041. label_662:
  1042.   SendMessage $_6_ ${WM_SETTEXT} 0 STR:$(LSTR_56)    ;  "Installation Aborted"
  1043.   SendMessage $_8_ ${WM_SETTEXT} 0 STR:$(LSTR_57)    ;  "Setup was not completed successfully."
  1044. label_664:
  1045.   IfAbort label_665
  1046. label_665:
  1047. FunctionEnd
  1048.  
  1049.  
  1050. Function func_666
  1051.   InitPluginsDir
  1052.     ; Call Initialize_____Plugins
  1053.     ; SetDetailsPrint lastused
  1054.   SetOverwrite on
  1055.   File $PLUGINSDIR\modern-wizard.bmp
  1056.   Call func_467
  1057. FunctionEnd
  1058.  
  1059.  
  1060. Function func_671    ; Page 6, Pre
  1061.   SendMessage $_15_ ${WM_SETTEXT} 0 STR:$(LSTR_58)    ;  &Finish
  1062.   nsDialogs::Create 1044
  1063.     ; Call Initialize_____Plugins
  1064.     ; SetOverwrite off
  1065.     ; File $PLUGINSDIR\nsDialogs.dll
  1066.     ; SetDetailsPrint lastused
  1067.     ; Push 1044
  1068.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll Create
  1069.   Pop $_57_
  1070.   nsDialogs::SetRTL $(LSTR_38)    ;  0
  1071.     ; Call Initialize_____Plugins
  1072.     ; File $PLUGINSDIR\nsDialogs.dll
  1073.     ; SetDetailsPrint lastused
  1074.     ; Push $(LSTR_38)    ;  0
  1075.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll SetRTL
  1076.   SetCtlColors $_57_ "" 0xFFFFFF
  1077.   nsDialogs::CreateControl STATIC 0x40000000|0x10000000|0x04000000|0x0000000E|0x00000100 0 0u 0u 109u 193u ""
  1078.     ; Call Initialize_____Plugins
  1079.     ; File $PLUGINSDIR\nsDialogs.dll
  1080.     ; SetDetailsPrint lastused
  1081.     ; Push ""
  1082.     ; Push 193u
  1083.     ; Push 109u
  1084.     ; Push 0u
  1085.     ; Push 0u
  1086.     ; Push 0
  1087.     ; Push 0x40000000|0x10000000|0x04000000|0x0000000E|0x00000100
  1088.     ; Push STATIC
  1089.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  1090.   Pop $_58_
  1091.   Push $0
  1092.   Push $1
  1093.   Push $2
  1094.   Push $R0
  1095.   StrCpy $R0 $_58_
  1096.   StrCpy $1 ""
  1097.   StrCpy $2 ""
  1098.   System::Call "*(i, i, i, i) i.s"
  1099.     ; Call Initialize_____Plugins
  1100.     ; File $PLUGINSDIR\System.dll
  1101.     ; SetDetailsPrint lastused
  1102.     ; Push "*(i, i, i, i) i.s"
  1103.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  1104.   Pop $0
  1105.   IntCmp $0 0 label_728
  1106.   System::Call "user32::GetClientRect(iR0, ir0)"
  1107.     ; Call Initialize_____Plugins
  1108.     ; File $PLUGINSDIR\System.dll
  1109.     ; SetDetailsPrint lastused
  1110.     ; Push "user32::GetClientRect(iR0, ir0)"
  1111.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  1112.   System::Call "*$0(i, i, i .s, i .s)"
  1113.     ; Call Initialize_____Plugins
  1114.     ; File $PLUGINSDIR\System.dll
  1115.     ; SetDetailsPrint lastused
  1116.     ; Push "*$0(i, i, i .s, i .s)"
  1117.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  1118.   System::Free $0
  1119.     ; Call Initialize_____Plugins
  1120.     ; File $PLUGINSDIR\System.dll
  1121.     ; SetDetailsPrint lastused
  1122.     ; Push $0
  1123.     ; CallInstDLL $PLUGINSDIR\System.dll Free
  1124.   Pop $1
  1125.   Pop $2
  1126. label_728:
  1127.   System::Call "user32::LoadImage(i0, ts, i 0, ir1, ir2, i0x0010) i.s" $PLUGINSDIR\modern-wizard.bmp
  1128.     ; Call Initialize_____Plugins
  1129.     ; File $PLUGINSDIR\System.dll
  1130.     ; SetDetailsPrint lastused
  1131.     ; Push $PLUGINSDIR\modern-wizard.bmp
  1132.     ; Push "user32::LoadImage(i0, ts, i 0, ir1, ir2, i0x0010) i.s"
  1133.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  1134.   Pop $0
  1135.   SendMessage $R0 0x0172 0 $0
  1136.   Pop $R0
  1137.   Pop $2
  1138.   Pop $1
  1139.   Exch $0
  1140.     ; Push $0
  1141.     ; Exch
  1142.     ; Pop $0
  1143.   Pop $_59_
  1144.   IfRebootFlag 0 label_809
  1145.   nsDialogs::CreateControl STATIC 0x40000000|0x10000000|0x04000000|0x00000100 0x00000020 120u 10u 195u 28u $(LSTR_59)    ;  "Completing the $(LSTR_41) Setup Wizard" "UltraDefrag 8.0.0 Standard Edition"
  1146.     ; Call Initialize_____Plugins
  1147.     ; File $PLUGINSDIR\nsDialogs.dll
  1148.     ; SetDetailsPrint lastused
  1149.     ; Push $(LSTR_59)    ;  "Completing the $(LSTR_41) Setup Wizard" "UltraDefrag 8.0.0 Standard Edition"
  1150.     ; Push 28u
  1151.     ; Push 195u
  1152.     ; Push 10u
  1153.     ; Push 120u
  1154.     ; Push 0x00000020
  1155.     ; Push 0x40000000|0x10000000|0x04000000|0x00000100
  1156.     ; Push STATIC
  1157.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  1158.   Pop $_60_
  1159.   SetCtlColors $_60_ "" 0xFFFFFF
  1160.   CreateFont $_61_ $(LSTR_40) 12 700    ;  "MS Shell Dlg"
  1161.   SendMessage $_60_ ${WM_SETFONT} $_61_ 0
  1162.   nsDialogs::CreateControl STATIC 0x40000000|0x10000000|0x04000000|0x00000100 0x00000020 120u 45u 195u 40u $(LSTR_60)    ;  "Your computer must be restarted in order to complete the installation of $(LSTR_41). Do you want to reboot now?" "UltraDefrag 8.0.0 Standard Edition"
  1163.     ; Call Initialize_____Plugins
  1164.     ; File $PLUGINSDIR\nsDialogs.dll
  1165.     ; SetDetailsPrint lastused
  1166.     ; Push $(LSTR_60)    ;  "Your computer must be restarted in order to complete the installation of $(LSTR_41). Do you want to reboot now?" "UltraDefrag 8.0.0 Standard Edition"
  1167.     ; Push 40u
  1168.     ; Push 195u
  1169.     ; Push 45u
  1170.     ; Push 120u
  1171.     ; Push 0x00000020
  1172.     ; Push 0x40000000|0x10000000|0x04000000|0x00000100
  1173.     ; Push STATIC
  1174.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  1175.   Pop $_62_
  1176.   SetCtlColors $_62_ "" 0xFFFFFF
  1177.   nsDialogs::CreateControl BUTTON 0x40000000|0x10000000|0x04000000|0x00010000|0x00000000|0x00000C00|0x00000009|0x00002000 0 120u 90u 195u 10u $(LSTR_61)    ;  "Reboot now"
  1178.     ; Call Initialize_____Plugins
  1179.     ; File $PLUGINSDIR\nsDialogs.dll
  1180.     ; SetDetailsPrint lastused
  1181.     ; Push $(LSTR_61)    ;  "Reboot now"
  1182.     ; Push 10u
  1183.     ; Push 195u
  1184.     ; Push 90u
  1185.     ; Push 120u
  1186.     ; Push 0
  1187.     ; Push 0x40000000|0x10000000|0x04000000|0x00010000|0x00000000|0x00000C00|0x00000009|0x00002000
  1188.     ; Push BUTTON
  1189.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  1190.   Pop $_66_
  1191.   SetCtlColors $_66_ "" 0xFFFFFF
  1192.   nsDialogs::CreateControl BUTTON 0x40000000|0x10000000|0x04000000|0x00010000|0x00000000|0x00000C00|0x00000009|0x00002000 0 120u 115u 195u 10u $(LSTR_62)    ;  "I want to manually reboot later"
  1193.     ; Call Initialize_____Plugins
  1194.     ; File $PLUGINSDIR\nsDialogs.dll
  1195.     ; SetDetailsPrint lastused
  1196.     ; Push $(LSTR_62)    ;  "I want to manually reboot later"
  1197.     ; Push 10u
  1198.     ; Push 195u
  1199.     ; Push 115u
  1200.     ; Push 120u
  1201.     ; Push 0
  1202.     ; Push 0x40000000|0x10000000|0x04000000|0x00010000|0x00000000|0x00000C00|0x00000009|0x00002000
  1203.     ; Push BUTTON
  1204.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  1205.   Pop $_67_
  1206.   SetCtlColors $_67_ "" 0xFFFFFF
  1207.   SendMessage $_66_ 0x00F1 1 0
  1208.   System::Call user32::SetFocus(i$_66_)
  1209.     ; Call Initialize_____Plugins
  1210.     ; File $PLUGINSDIR\System.dll
  1211.     ; SetDetailsPrint lastused
  1212.     ; Push user32::SetFocus(i$_66_)
  1213.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  1214.   Goto label_874
  1215. label_809:
  1216.   nsDialogs::CreateControl STATIC 0x40000000|0x10000000|0x04000000|0x00000100 0x00000020 120u 10u 195u 28u $(LSTR_59)    ;  "Completing the $(LSTR_41) Setup Wizard" "UltraDefrag 8.0.0 Standard Edition"
  1217.     ; Call Initialize_____Plugins
  1218.     ; File $PLUGINSDIR\nsDialogs.dll
  1219.     ; SetDetailsPrint lastused
  1220.     ; Push $(LSTR_59)    ;  "Completing the $(LSTR_41) Setup Wizard" "UltraDefrag 8.0.0 Standard Edition"
  1221.     ; Push 28u
  1222.     ; Push 195u
  1223.     ; Push 10u
  1224.     ; Push 120u
  1225.     ; Push 0x00000020
  1226.     ; Push 0x40000000|0x10000000|0x04000000|0x00000100
  1227.     ; Push STATIC
  1228.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  1229.   Pop $_60_
  1230.   SetCtlColors $_60_ "" 0xFFFFFF
  1231.   CreateFont $_61_ $(LSTR_40) 12 700    ;  "MS Shell Dlg"
  1232.   SendMessage $_60_ ${WM_SETFONT} $_61_ 0
  1233.   nsDialogs::CreateControl STATIC 0x40000000|0x10000000|0x04000000|0x00000100 0x00000020 120u 45u 195u 40u $(LSTR_63)    ;  "$(LSTR_41) has been installed on your computer.$\r$\n$\r$\nClick Finish to close this wizard." "UltraDefrag 8.0.0 Standard Edition"
  1234.     ; Call Initialize_____Plugins
  1235.     ; File $PLUGINSDIR\nsDialogs.dll
  1236.     ; SetDetailsPrint lastused
  1237.     ; Push $(LSTR_63)    ;  "$(LSTR_41) has been installed on your computer.$\r$\n$\r$\nClick Finish to close this wizard." "UltraDefrag 8.0.0 Standard Edition"
  1238.     ; Push 40u
  1239.     ; Push 195u
  1240.     ; Push 45u
  1241.     ; Push 120u
  1242.     ; Push 0x00000020
  1243.     ; Push 0x40000000|0x10000000|0x04000000|0x00000100
  1244.     ; Push STATIC
  1245.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  1246.   Pop $_62_
  1247.   SetCtlColors $_62_ "" 0xFFFFFF
  1248.   nsDialogs::CreateControl BUTTON 0x40000000|0x10000000|0x04000000|0x00010000|0x00000000|0x00000C00|0x00000003|0x00002000 0 120u 90u 195u 10u "Launch UltraDefrag"
  1249.     ; Call Initialize_____Plugins
  1250.     ; File $PLUGINSDIR\nsDialogs.dll
  1251.     ; SetDetailsPrint lastused
  1252.     ; Push "Launch UltraDefrag"
  1253.     ; Push 10u
  1254.     ; Push 195u
  1255.     ; Push 90u
  1256.     ; Push 120u
  1257.     ; Push 0
  1258.     ; Push 0x40000000|0x10000000|0x04000000|0x00010000|0x00000000|0x00000C00|0x00000003|0x00002000
  1259.     ; Push BUTTON
  1260.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  1261.   Pop $_64_
  1262.   SetCtlColors $_64_ "" 0xFFFFFF
  1263.   SendMessage $_64_ 0x00F1 1 0
  1264.   System::Call user32::SetFocus(i$_64_)
  1265.     ; Call Initialize_____Plugins
  1266.     ; File $PLUGINSDIR\System.dll
  1267.     ; SetDetailsPrint lastused
  1268.     ; Push user32::SetFocus(i$_64_)
  1269.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  1270.   nsDialogs::CreateControl BUTTON 0x40000000|0x10000000|0x04000000|0x00010000|0x00000000|0x00000C00|0x00000003|0x00002000 0 120u 110u 195u 10u "Show extracted portable edition"
  1271.     ; Call Initialize_____Plugins
  1272.     ; File $PLUGINSDIR\nsDialogs.dll
  1273.     ; SetDetailsPrint lastused
  1274.     ; Push "Show extracted portable edition"
  1275.     ; Push 10u
  1276.     ; Push 195u
  1277.     ; Push 110u
  1278.     ; Push 120u
  1279.     ; Push 0
  1280.     ; Push 0x40000000|0x10000000|0x04000000|0x00010000|0x00000000|0x00000C00|0x00000003|0x00002000
  1281.     ; Push BUTTON
  1282.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll CreateControl
  1283.   Pop $_65_
  1284.   SetCtlColors $_65_ "" 0xFFFFFF
  1285.   SendMessage $_65_ 0x00F1 1 0
  1286. label_874:
  1287.   Call func_471
  1288.   Call func_4362
  1289.   nsDialogs::Show
  1290.     ; Call Initialize_____Plugins
  1291.     ; File $PLUGINSDIR\nsDialogs.dll
  1292.     ; SetDetailsPrint lastused
  1293.     ; CallInstDLL $PLUGINSDIR\nsDialogs.dll Show
  1294.   Call func_481
  1295.   IntCmp $_59_ 0 label_888
  1296.   System::Call gdi32::DeleteObject(is) $_59_
  1297.     ; Call Initialize_____Plugins
  1298.     ; File $PLUGINSDIR\System.dll
  1299.     ; SetDetailsPrint lastused
  1300.     ; Push $_59_
  1301.     ; Push gdi32::DeleteObject(is)
  1302.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  1303. label_888:
  1304. FunctionEnd
  1305.  
  1306.  
  1307. Function func_889    ; Page 6, Leave
  1308.   Call func_4391
  1309.   IfRebootFlag 0 label_897
  1310.   SendMessage $_66_ 0x00F0 0 0 $_63_
  1311.   IntCmp $_63_ 1 0 label_896 label_896
  1312.   Reboot
  1313.     ; Quit
  1314.   Goto label_897
  1315. label_896:
  1316.   Return
  1317.  
  1318. label_897:
  1319.   SendMessage $_64_ 0x00F0 0 0 $_63_
  1320.   IntCmp $_63_ 1 0 label_900 label_900
  1321.   Exec $\"$INSTDIR\ultradefrag.exe$\"
  1322. label_900:
  1323.   SendMessage $_65_ 0x00F0 0 0 $_63_
  1324.   IntCmp $_63_ 1 0 label_903 label_903
  1325.   Call func_4411
  1326. label_903:
  1327. FunctionEnd
  1328.  
  1329.  
  1330. Function .onGUIInit
  1331.   GetDlgItem $_6_ $HWNDPARENT 1037
  1332.   CreateFont $_7_ $(LSTR_40) $(LSTR_64) 700    ;  "MS Shell Dlg" 8
  1333.   SendMessage $_6_ ${WM_SETFONT} $_7_ 0
  1334.   GetDlgItem $_8_ $HWNDPARENT 1038
  1335.   SetCtlColors $_6_ "" 0xFFFFFF
  1336.   SetCtlColors $_8_ "" 0xFFFFFF
  1337.   GetDlgItem $_9_ $HWNDPARENT 1034
  1338.   SetCtlColors $_9_ "" 0xFFFFFF
  1339.   GetDlgItem $_10_ $HWNDPARENT 1039
  1340.   SetCtlColors $_10_ "" 0xFFFFFF
  1341.   GetDlgItem $_12_ $HWNDPARENT 1028
  1342.   SetCtlColors $_12_ /BRANDING ""
  1343.   GetDlgItem $_11_ $HWNDPARENT 1256
  1344.   SetCtlColors $_11_ /BRANDING ""
  1345.   SendMessage $_11_ ${WM_SETTEXT} 0 "STR:$(LSTR_0) "    ;  "Nullsoft Install System v2.46"
  1346.   GetDlgItem $_13_ $HWNDPARENT 1035
  1347.   GetDlgItem $_14_ $HWNDPARENT 1045
  1348.   GetDlgItem $_15_ $HWNDPARENT 1
  1349.   GetDlgItem $_16_ $HWNDPARENT 2
  1350.   GetDlgItem $_17_ $HWNDPARENT 3
  1351.   Call func_666
  1352. FunctionEnd
  1353.  
  1354.  
  1355. Function .onUserAbort
  1356. FunctionEnd
  1357.  
  1358.  
  1359. Section "!UltraDefrag core files (required)" ; Section_0
  1360.   ; AddSize 4922
  1361.   SectionIn 1 2 RO
  1362.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  1363.     ; Call Initialize_____Plugins
  1364.     ; File $PLUGINSDIR\System.dll
  1365.     ; SetDetailsPrint lastused
  1366.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  1367.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  1368.   IfSilent 0 label_996
  1369.   StrCpy $_1_ 1
  1370.   IfFileExists $INSTDIR\lua5.1a_gui.exe label_952
  1371.   Push $R1
  1372.   Push $R2
  1373.   FindFirst $R1 $R2 $INSTDIR\*
  1374.   StrCmp $R1 "" label_948
  1375.   StrCmp $R2 "" label_947
  1376. label_940:
  1377.   StrCmp $R2 . label_943
  1378.   StrCmp $R2 .. label_943
  1379.   Goto label_947
  1380. label_943:
  1381.   FindNext $R1 $R2
  1382. label_944:
  1383.   Goto label_940
  1384.   Goto label_944
  1385.   Goto label_947
  1386. label_947:
  1387.   FindClose $R1
  1388. label_948:
  1389.   StrCmp $R2 "" label_950
  1390.   StrCpy $_1_ 0
  1391. label_950:
  1392.   Pop $R2
  1393.   Pop $R1
  1394. label_952:
  1395.   StrCmp $_1_ 0 0 label_996
  1396.   IfSilent 0 label_994
  1397.   Push $R0
  1398.   Push $R1
  1399.   Push $R2
  1400.   Push $R3
  1401.   Call :label_83
  1402.   IntOp $R1 $_22_ & 0x7F000000
  1403.   IntOp $R1 $R1 >> 24
  1404.   Call :label_83
  1405.   IntOp $R2 $_22_ & 0x00FF0000
  1406.   IntOp $R2 $R2 >> 16
  1407.   Call :label_83
  1408.   IntOp $R3 $_23_ & 0x0000FFFF
  1409.   ClearErrors
  1410.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  1411.   IfErrors label_990
  1412.   FileWrite $R0 $\r$\n
  1413.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  1414.   FileWrite $R0 $\r$\n
  1415.   FileWrite $R0 "Error Message ..... Destination folder is invalid!$\r$\n"
  1416.   FileWrite $R0 $\r$\n
  1417.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  1418.   FileWrite $R0 $\r$\n
  1419.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  1420.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  1421.   FileWrite $R0 $\r$\n
  1422.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  1423.   FileWrite $R0 $\r$\n
  1424.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  1425.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  1426.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  1427.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  1428.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  1429.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  1430.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  1431.   FileWrite $R0 $\r$\n
  1432.   FileClose $R0
  1433. label_990:
  1434.   Pop $R3
  1435.   Pop $R2
  1436.   Pop $R1
  1437.   Pop $R0
  1438. label_994:
  1439.   MessageBox MB_OK|MB_ICONSTOP "Destination folder is invalid!" /SD IDOK
  1440.   Abort
  1441. label_996:
  1442.   IfFileExists $_0_\*.* 0 label_1049
  1443.   StrCmp $INSTDIR $_0_ label_1049
  1444.   DetailPrint "Relocating the installation..."
  1445.   CreateDirectory $INSTDIR
  1446.   ClearErrors
  1447.   CopyFiles /SILENT $_0_\* $INSTDIR    ; $(LSTR_7)$INSTDIR    ;  "Copy to "
  1448.   IfErrors 0 label_1046
  1449.   IfSilent 0 label_1044
  1450.   Push $R0
  1451.   Push $R1
  1452.   Push $R2
  1453.   Push $R3
  1454.   Call :label_83
  1455.   IntOp $R1 $_22_ & 0x7F000000
  1456.   IntOp $R1 $R1 >> 24
  1457.   Call :label_83
  1458.   IntOp $R2 $_22_ & 0x00FF0000
  1459.   IntOp $R2 $R2 >> 16
  1460.   Call :label_83
  1461.   IntOp $R3 $_23_ & 0x0000FFFF
  1462.   ClearErrors
  1463.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  1464.   IfErrors label_1040
  1465.   FileWrite $R0 $\r$\n
  1466.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  1467.   FileWrite $R0 $\r$\n
  1468.   FileWrite $R0 "Error Message ..... Cannot relocate the installation!$\r$\n"
  1469.   FileWrite $R0 $\r$\n
  1470.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  1471.   FileWrite $R0 $\r$\n
  1472.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  1473.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  1474.   FileWrite $R0 $\r$\n
  1475.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  1476.   FileWrite $R0 $\r$\n
  1477.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  1478.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  1479.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  1480.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  1481.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  1482.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  1483.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  1484.   FileWrite $R0 $\r$\n
  1485.   FileClose $R0
  1486. label_1040:
  1487.   Pop $R3
  1488.   Pop $R2
  1489.   Pop $R1
  1490.   Pop $R0
  1491. label_1044:
  1492.   MessageBox MB_OK|MB_ICONSTOP "Cannot relocate the installation!" /SD IDOK
  1493.   Abort
  1494. label_1046:
  1495.   SetDetailsPrint textonly
  1496.   RMDir /r $_0_
  1497.   SetDetailsPrint both
  1498. label_1049:
  1499.   DetailPrint "Removing old executable files..."
  1500.   Delete $INSTDIR\*.exe
  1501.   Delete $INSTDIR\*.dll
  1502.   DetailPrint "Installing core files..."
  1503.   SetOutPath $SYSDIR
  1504.   StrCmp $_24_ amd64 0 label_1057
  1505.   SetOverwrite on
  1506.   File lua5.1a.dll
  1507.   Goto label_1061
  1508. label_1057:
  1509.   StrCmp $_24_ ia64 0 label_1060
  1510.   File lua5.1a.dll
  1511.   Goto label_1061
  1512. label_1060:
  1513.   File lua5.1a.dll
  1514. label_1061:
  1515.   StrCmp $_24_ amd64 0 label_1064
  1516.   File zenwinx.dll
  1517.   Goto label_1068
  1518. label_1064:
  1519.   StrCmp $_24_ ia64 0 label_1067
  1520.   File zenwinx.dll
  1521.   Goto label_1068
  1522. label_1067:
  1523.   File zenwinx.dll
  1524. label_1068:
  1525.   StrCmp $_24_ amd64 0 label_1071
  1526.   File udefrag.dll
  1527.   Goto label_1075
  1528. label_1071:
  1529.   StrCmp $_24_ ia64 0 label_1074
  1530.   File udefrag.dll
  1531.   Goto label_1075
  1532. label_1074:
  1533.   File udefrag.dll
  1534. label_1075:
  1535.   StrCmp $_24_ amd64 0 label_1078
  1536.   File hibernate4win.exe
  1537.   Goto label_1082
  1538. label_1078:
  1539.   StrCmp $_24_ ia64 0 label_1081
  1540.   File hibernate4win.exe
  1541.   Goto label_1082
  1542. label_1081:
  1543.   File hibernate4win.exe
  1544. label_1082:
  1545.   StrCmp $_24_ amd64 0 label_1085
  1546.   File udefrag-dbg.exe
  1547.   Goto label_1089
  1548. label_1085:
  1549.   StrCmp $_24_ ia64 0 label_1088
  1550.   File udefrag-dbg.exe
  1551.   Goto label_1089
  1552. label_1088:
  1553.   File udefrag-dbg.exe
  1554. label_1089:
  1555.   SetOutPath $INSTDIR
  1556.   File HISTORY.TXT
  1557.   File README.TXT
  1558.   File LICENSE.TXT
  1559.   StrCmp $_24_ amd64 0 label_1096
  1560.   File lua5.1a.exe
  1561.   Goto label_1100
  1562. label_1096:
  1563.   StrCmp $_24_ ia64 0 label_1099
  1564.   File lua5.1a.exe
  1565.   Goto label_1100
  1566. label_1099:
  1567.   File lua5.1a.exe
  1568. label_1100:
  1569.   StrCmp $_24_ amd64 0 label_1103
  1570.   File lua5.1a_gui.exe
  1571.   Goto label_1107
  1572. label_1103:
  1573.   StrCmp $_24_ ia64 0 label_1106
  1574.   File lua5.1a_gui.exe
  1575.   Goto label_1107
  1576. label_1106:
  1577.   File lua5.1a_gui.exe
  1578. label_1107:
  1579.   SetOutPath $INSTDIR\scripts
  1580.   File udreportcnv.lua
  1581.   File udsorting.js
  1582.   File upgrade-options.lua
  1583.   DetailPrint "Configuration files upgrade..."
  1584.   CreateDirectory $INSTDIR\conf
  1585.   IfSilent 0 label_1116
  1586.   ExecWait "$\"$INSTDIR\lua5.1a_gui.exe$\" -s $\"$INSTDIR\scripts\upgrade-options.lua$\" $\"$INSTDIR$\""
  1587.   Goto label_1117
  1588. label_1116:
  1589.   ExecWait "$\"$INSTDIR\lua5.1a_gui.exe$\" $\"$INSTDIR\scripts\upgrade-options.lua$\" $\"$INSTDIR$\""
  1590. label_1117:
  1591.   File udreport.css
  1592.   DetailPrint "Registering .luar file extension..."
  1593.   WriteRegStr HKCR .luar "" LuaReport
  1594.   WriteRegStr HKCR LuaReport "" "Lua Report"
  1595.   WriteRegStr HKCR LuaReport\DefaultIcon "" $INSTDIR\lua5.1a_gui.exe,1
  1596.   WriteRegStr HKCR LuaReport\shell "" view
  1597.   WriteRegStr HKCR LuaReport\shell\view "" "View report"
  1598.   WriteRegStr HKCR LuaReport\shell\view\command "" "$\"$INSTDIR\lua5.1a_gui.exe$\" $\"$INSTDIR\scripts\udreportcnv.lua$\" $\"%1$\" -v"
  1599.   ClearErrors
  1600.   WriteINIStr $INSTDIR\user.ini Registration UserName $_18_
  1601.   IfErrors 0 label_1171
  1602.   IfSilent 0 label_1169
  1603.   Push $R0
  1604.   Push $R1
  1605.   Push $R2
  1606.   Push $R3
  1607.   Call :label_83
  1608.   IntOp $R1 $_22_ & 0x7F000000
  1609.   IntOp $R1 $R1 >> 24
  1610.   Call :label_83
  1611.   IntOp $R2 $_22_ & 0x00FF0000
  1612.   IntOp $R2 $R2 >> 16
  1613.   Call :label_83
  1614.   IntOp $R3 $_23_ & 0x0000FFFF
  1615.   ClearErrors
  1616.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  1617.   IfErrors label_1165
  1618.   FileWrite $R0 $\r$\n
  1619.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  1620.   FileWrite $R0 $\r$\n
  1621.   FileWrite $R0 "Error Message ..... Cannot save registration information to $INSTDIR\user.ini file!$\r$\n"
  1622.   FileWrite $R0 $\r$\n
  1623.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  1624.   FileWrite $R0 $\r$\n
  1625.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  1626.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  1627.   FileWrite $R0 $\r$\n
  1628.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  1629.   FileWrite $R0 $\r$\n
  1630.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  1631.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  1632.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  1633.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  1634.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  1635.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  1636.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  1637.   FileWrite $R0 $\r$\n
  1638.   FileClose $R0
  1639. label_1165:
  1640.   Pop $R3
  1641.   Pop $R2
  1642.   Pop $R1
  1643.   Pop $R0
  1644. label_1169:
  1645.   MessageBox MB_OK|MB_ICONSTOP "Cannot save registration information to $INSTDIR\user.ini file!" /SD IDOK
  1646.   Abort
  1647. label_1171:
  1648.   ClearErrors
  1649.   WriteINIStr $INSTDIR\user.ini Registration Password $_19_
  1650.   IfErrors 0 label_1217
  1651.   IfSilent 0 label_1215
  1652.   Push $R0
  1653.   Push $R1
  1654.   Push $R2
  1655.   Push $R3
  1656.   Call :label_83
  1657.   IntOp $R1 $_22_ & 0x7F000000
  1658.   IntOp $R1 $R1 >> 24
  1659.   Call :label_83
  1660.   IntOp $R2 $_22_ & 0x00FF0000
  1661.   IntOp $R2 $R2 >> 16
  1662.   Call :label_83
  1663.   IntOp $R3 $_23_ & 0x0000FFFF
  1664.   ClearErrors
  1665.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  1666.   IfErrors label_1211
  1667.   FileWrite $R0 $\r$\n
  1668.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  1669.   FileWrite $R0 $\r$\n
  1670.   FileWrite $R0 "Error Message ..... Cannot save registration information to $INSTDIR\user.ini file!$\r$\n"
  1671.   FileWrite $R0 $\r$\n
  1672.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  1673.   FileWrite $R0 $\r$\n
  1674.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  1675.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  1676.   FileWrite $R0 $\r$\n
  1677.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  1678.   FileWrite $R0 $\r$\n
  1679.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  1680.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  1681.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  1682.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  1683.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  1684.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  1685.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  1686.   FileWrite $R0 $\r$\n
  1687.   FileClose $R0
  1688. label_1211:
  1689.   Pop $R3
  1690.   Pop $R2
  1691.   Pop $R1
  1692.   Pop $R0
  1693. label_1215:
  1694.   MessageBox MB_OK|MB_ICONSTOP "Cannot save registration information to $INSTDIR\user.ini file!" /SD IDOK
  1695.   Abort
  1696. label_1217:
  1697.   FlushINI $INSTDIR\user.ini
  1698.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  1699.     ; Call Initialize_____Plugins
  1700.     ; SetOverwrite off
  1701.     ; File $PLUGINSDIR\System.dll
  1702.     ; SetDetailsPrint lastused
  1703.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  1704.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  1705. SectionEnd
  1706.  
  1707.  
  1708. SectionGroup /e "Interfaces (at least one must be selected)"    ; Section 1
  1709.  
  1710. Section Boot ; Section_2
  1711.   ; AddSize 2041
  1712.   SectionIn 1 2
  1713.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  1714.     ; Call Initialize_____Plugins
  1715.     ; File $PLUGINSDIR\System.dll
  1716.     ; SetDetailsPrint lastused
  1717.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  1718.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  1719.   IfFileExists $SYSDIR\defrag_native.exe 0 label_1293
  1720.   DetailPrint "Removing old boot time interface..."
  1721.   ClearErrors
  1722.   Delete $SYSDIR\defrag_native.exe
  1723.   IfErrors 0 label_1293
  1724.   IfSilent 0 label_1276
  1725.   Push $R0
  1726.   Push $R1
  1727.   Push $R2
  1728.   Push $R3
  1729.   Call :label_83
  1730.   IntOp $R1 $_22_ & 0x7F000000
  1731.   IntOp $R1 $R1 >> 24
  1732.   Call :label_83
  1733.   IntOp $R2 $_22_ & 0x00FF0000
  1734.   IntOp $R2 $R2 >> 16
  1735.   Call :label_83
  1736.   IntOp $R3 $_23_ & 0x0000FFFF
  1737.   ClearErrors
  1738.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  1739.   IfErrors label_1272
  1740.   FileWrite $R0 $\r$\n
  1741.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  1742.   FileWrite $R0 $\r$\n
  1743.   FileWrite $R0 "Error Message ..... Cannot update $SYSDIR\defrag_native.exe file!$\r$\n"
  1744.   FileWrite $R0 $\r$\n
  1745.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  1746.   FileWrite $R0 $\r$\n
  1747.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  1748.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  1749.   FileWrite $R0 $\r$\n
  1750.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  1751.   FileWrite $R0 $\r$\n
  1752.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  1753.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  1754.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  1755.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  1756.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  1757.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  1758.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  1759.   FileWrite $R0 $\r$\n
  1760.   FileClose $R0
  1761. label_1272:
  1762.   Pop $R3
  1763.   Pop $R2
  1764.   Pop $R1
  1765.   Pop $R0
  1766. label_1276:
  1767.   MessageBox MB_OK|MB_ICONSTOP "Cannot update $SYSDIR\defrag_native.exe file!" /SD IDOK
  1768.   ExecWait "$\"$SYSDIR\bootexctrl.exe$\" /u /s defrag_native"
  1769.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  1770.     ; Call Initialize_____Plugins
  1771.     ; File $PLUGINSDIR\System.dll
  1772.     ; SetDetailsPrint lastused
  1773.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  1774.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  1775.   SetOutPath $PLUGINSDIR
  1776.   StrCmp $_24_ amd64 0 label_1287
  1777.   SetOverwrite on
  1778.   File bootexctrl.exe
  1779.   Goto label_1291
  1780. label_1287:
  1781.   StrCmp $_24_ ia64 0 label_1290
  1782.   File bootexctrl.exe
  1783.   Goto label_1291
  1784. label_1290:
  1785.   File bootexctrl.exe
  1786. label_1291:
  1787.   ExecWait "$\"$PLUGINSDIR\bootexctrl.exe$\" /u /s defrag_native"
  1788.   Abort
  1789. label_1293:
  1790.   DetailPrint "Installing boot time interface..."
  1791.   SetOutPath $INSTDIR\man
  1792.   File boot-off.man
  1793.   File boot-on.man
  1794.   File call.man
  1795.   File echo.man
  1796.   File exit.man
  1797.   File help.man
  1798.   File hexview.man
  1799.   File history.man
  1800.   File man.man
  1801.   File pause.man
  1802.   File readme.txt
  1803.   File reboot.man
  1804.   File set.man
  1805.   File shutdown.man
  1806.   File type.man
  1807.   File udefrag.man
  1808.   File variables.man
  1809.   SetOutPath $SYSDIR
  1810.   File boot-config.cmd
  1811.   File boot-off.cmd
  1812.   File boot-on.cmd
  1813.   StrCmp $_24_ amd64 0 label_1319
  1814.   File bootexctrl.exe
  1815.   Goto label_1323
  1816. label_1319:
  1817.   StrCmp $_24_ ia64 0 label_1322
  1818.   File bootexctrl.exe
  1819.   Goto label_1323
  1820. label_1322:
  1821.   File bootexctrl.exe
  1822. label_1323:
  1823.   StrCmp $_24_ amd64 0 label_1326
  1824.   File defrag_native.exe
  1825.   Goto label_1330
  1826. label_1326:
  1827.   StrCmp $_24_ ia64 0 label_1329
  1828.   File defrag_native.exe
  1829.   Goto label_1330
  1830. label_1329:
  1831.   File defrag_native.exe
  1832. label_1330:
  1833.   IfFileExists $SYSDIR\ud-boot-time.cmd label_1334
  1834.   File ud-boot-time.cmd
  1835.   File ud-boot-time.ini
  1836.   Goto label_1338
  1837. label_1334:
  1838.   IfFileExists $SYSDIR\ud-boot-time.ini label_1338
  1839.   Rename $SYSDIR\ud-boot-time.cmd $SYSDIR\ud-boot-time.cmd.old ;  $SYSDIR\ud-boot-time.cmd->$SYSDIR\ud-boot-time.cmd.old
  1840.   File ud-boot-time.cmd
  1841.   File ud-boot-time.ini
  1842. label_1338:
  1843.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  1844.     ; Call Initialize_____Plugins
  1845.     ; SetOverwrite off
  1846.     ; File $PLUGINSDIR\System.dll
  1847.     ; SetDetailsPrint lastused
  1848.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  1849.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  1850. SectionEnd
  1851.  
  1852.  
  1853. Section Console ; Section_3
  1854.   ; AddSize 5855
  1855.   SectionIn 1 2
  1856.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  1857.     ; Call Initialize_____Plugins
  1858.     ; File $PLUGINSDIR\System.dll
  1859.     ; SetDetailsPrint lastused
  1860.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  1861.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  1862.   DetailPrint "Installing console interface..."
  1863.   SetOutPath $SYSDIR
  1864.   StrCmp $_24_ amd64 0 label_1354
  1865.   SetOverwrite on
  1866.   File udefrag.exe
  1867.   Goto label_1358
  1868. label_1354:
  1869.   StrCmp $_24_ ia64 0 label_1357
  1870.   File udefrag.exe
  1871.   Goto label_1358
  1872. label_1357:
  1873.   File udefrag.exe
  1874. label_1358:
  1875.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  1876.     ; Call Initialize_____Plugins
  1877.     ; SetOverwrite off
  1878.     ; File $PLUGINSDIR\System.dll
  1879.     ; SetDetailsPrint lastused
  1880.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  1881.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  1882. SectionEnd
  1883.  
  1884.  
  1885. Section "GUI (default)" ; Section_4
  1886.   ; AddSize 19683
  1887.   SectionIn 1
  1888.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  1889.     ; Call Initialize_____Plugins
  1890.     ; File $PLUGINSDIR\System.dll
  1891.     ; SetDetailsPrint lastused
  1892.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  1893.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  1894.   DetailPrint "Installing graphical interface..."
  1895.   SetOutPath $INSTDIR
  1896.   StrCpy $_OUTDIR $OUTDIR
  1897.   SetOutPath $_OUTDIR\locale
  1898.   SetOutPath $_OUTDIR\locale\ar
  1899.   SetOverwrite on
  1900.   File UltraDefrag.mo
  1901.   SetOutPath $_OUTDIR\locale\be
  1902.   File UltraDefrag.mo
  1903.   SetOutPath $_OUTDIR\locale\bg
  1904.   File UltraDefrag.mo
  1905.   SetOutPath $_OUTDIR\locale\bn
  1906.   File UltraDefrag.mo
  1907.   SetOutPath $_OUTDIR\locale\bs
  1908.   File UltraDefrag.mo
  1909.   SetOutPath $_OUTDIR\locale\ca
  1910.   File UltraDefrag.mo
  1911.   SetOutPath $_OUTDIR\locale\cs
  1912.   File UltraDefrag.mo
  1913.   SetOutPath $_OUTDIR\locale\da
  1914.   File UltraDefrag.mo
  1915.   SetOutPath $_OUTDIR\locale\de
  1916.   File UltraDefrag.mo
  1917.   SetOutPath $_OUTDIR\locale\el
  1918.   File UltraDefrag.mo
  1919.   SetOutPath $_OUTDIR\locale\en_GB
  1920.   File UltraDefrag.mo
  1921.   SetOutPath $_OUTDIR\locale\en_US
  1922.   File UltraDefrag.mo
  1923.   SetOutPath $_OUTDIR\locale\es
  1924.   File UltraDefrag.mo
  1925.   SetOutPath $_OUTDIR\locale\es_AR
  1926.   File UltraDefrag.mo
  1927.   SetOutPath $_OUTDIR\locale\es_MX
  1928.   File UltraDefrag.mo
  1929.   SetOutPath $_OUTDIR\locale\et
  1930.   File UltraDefrag.mo
  1931.   SetOutPath $_OUTDIR\locale\fa
  1932.   File UltraDefrag.mo
  1933.   SetOutPath $_OUTDIR\locale\fi
  1934.   File UltraDefrag.mo
  1935.   SetOutPath $_OUTDIR\locale\fr
  1936.   File UltraDefrag.mo
  1937.   SetOutPath $_OUTDIR\locale\gl
  1938.   File UltraDefrag.mo
  1939.   SetOutPath $_OUTDIR\locale\he
  1940.   File UltraDefrag.mo
  1941.   SetOutPath $_OUTDIR\locale\hi
  1942.   File UltraDefrag.mo
  1943.   SetOutPath $_OUTDIR\locale\hr
  1944.   File UltraDefrag.mo
  1945.   SetOutPath $_OUTDIR\locale\hu
  1946.   File UltraDefrag.mo
  1947.   SetOutPath $_OUTDIR\locale\hy
  1948.   File UltraDefrag.mo
  1949.   SetOutPath $_OUTDIR\locale\id
  1950.   File UltraDefrag.mo
  1951.   SetOutPath $_OUTDIR\locale\ilo
  1952.   File UltraDefrag.mo
  1953.   SetOutPath $_OUTDIR\locale\is
  1954.   File UltraDefrag.mo
  1955.   SetOutPath $_OUTDIR\locale\it
  1956.   File UltraDefrag.mo
  1957.   SetOutPath $_OUTDIR\locale\ja
  1958.   File UltraDefrag.mo
  1959.   SetOutPath $_OUTDIR\locale\jv
  1960.   File UltraDefrag.mo
  1961.   SetOutPath $_OUTDIR\locale\ka
  1962.   File UltraDefrag.mo
  1963.   SetOutPath $_OUTDIR\locale\ko
  1964.   File UltraDefrag.mo
  1965.   SetOutPath $_OUTDIR\locale\la
  1966.   File UltraDefrag.mo
  1967.   SetOutPath $_OUTDIR\locale\lt
  1968.   File UltraDefrag.mo
  1969.   SetOutPath $_OUTDIR\locale\lv
  1970.   File UltraDefrag.mo
  1971.   SetOutPath $_OUTDIR\locale\mk
  1972.   File UltraDefrag.mo
  1973.   SetOutPath $_OUTDIR\locale\ms
  1974.   File UltraDefrag.mo
  1975.   SetOutPath $_OUTDIR\locale\my
  1976.   File UltraDefrag.mo
  1977.   SetOutPath $_OUTDIR\locale\nl
  1978.   File UltraDefrag.mo
  1979.   SetOutPath $_OUTDIR\locale\no
  1980.   File UltraDefrag.mo
  1981.   SetOutPath $_OUTDIR\locale\pam
  1982.   File UltraDefrag.mo
  1983.   SetOutPath $_OUTDIR\locale\pl
  1984.   File UltraDefrag.mo
  1985.   SetOutPath $_OUTDIR\locale\pt
  1986.   File UltraDefrag.mo
  1987.   SetOutPath $_OUTDIR\locale\pt_BR
  1988.   File UltraDefrag.mo
  1989.   SetOutPath $_OUTDIR\locale\ro
  1990.   File UltraDefrag.mo
  1991.   SetOutPath $_OUTDIR\locale\ru
  1992.   File UltraDefrag.mo
  1993.   SetOutPath $_OUTDIR\locale\sk
  1994.   File UltraDefrag.mo
  1995.   SetOutPath $_OUTDIR\locale\sl
  1996.   File UltraDefrag.mo
  1997.   SetOutPath $_OUTDIR\locale\sq
  1998.   File UltraDefrag.mo
  1999.   SetOutPath $_OUTDIR\locale\sr
  2000.   File UltraDefrag.mo
  2001.   SetOutPath $_OUTDIR\locale\sv
  2002.   File UltraDefrag.mo
  2003.   SetOutPath $_OUTDIR\locale\ta
  2004.   File UltraDefrag.mo
  2005.   SetOutPath $_OUTDIR\locale\th
  2006.   File UltraDefrag.mo
  2007.   SetOutPath $_OUTDIR\locale\tl
  2008.   File UltraDefrag.mo
  2009.   SetOutPath $_OUTDIR\locale\tr
  2010.   File UltraDefrag.mo
  2011.   SetOutPath $_OUTDIR\locale\uk
  2012.   File UltraDefrag.mo
  2013.   SetOutPath $_OUTDIR\locale\uz@Latn
  2014.   File UltraDefrag.mo
  2015.   SetOutPath $_OUTDIR\locale\vi
  2016.   File UltraDefrag.mo
  2017.   SetOutPath $_OUTDIR\locale\war
  2018.   File UltraDefrag.mo
  2019.   SetOutPath $_OUTDIR\locale\yi
  2020.   File UltraDefrag.mo
  2021.   SetOutPath $_OUTDIR\locale\zh_CN
  2022.   File UltraDefrag.mo
  2023.   SetOutPath $_OUTDIR\locale\zh_TW
  2024.   File UltraDefrag.mo
  2025.   SetOutPath $_OUTDIR
  2026.   SetOutPath $INSTDIR\po
  2027.   File ar.po
  2028.   File be.po
  2029.   File bg.po
  2030.   File bn.po
  2031.   File bs.po
  2032.   File ca.po
  2033.   File cs.po
  2034.   File da.po
  2035.   File de.po
  2036.   File el.po
  2037.   File en_GB.po
  2038.   File en_US.po
  2039.   File es.po
  2040.   File es_AR.po
  2041.   File es_MX.po
  2042.   File et.po
  2043.   File fa.po
  2044.   File fi.po
  2045.   File fr.po
  2046.   File gl.po
  2047.   File he.po
  2048.   File hi.po
  2049.   File hr.po
  2050.   File hu.po
  2051.   File hy.po
  2052.   File id.po
  2053.   File ilo.po
  2054.   File is.po
  2055.   File it.po
  2056.   File ja.po
  2057.   File jv.po
  2058.   File ka.po
  2059.   File ko.po
  2060.   File la.po
  2061.   File lt.po
  2062.   File lv.po
  2063.   File mk.po
  2064.   File ms.po
  2065.   File my.po
  2066.   File nl.po
  2067.   File no.po
  2068.   File pam.po
  2069.   File pl.po
  2070.   File pt.po
  2071.   File pt_BR.po
  2072.   File ro.po
  2073.   File ru.po
  2074.   File sk.po
  2075.   File sl.po
  2076.   File sq.po
  2077.   File sr.po
  2078.   File sv.po
  2079.   File ta.po
  2080.   File th.po
  2081.   File tl.po
  2082.   File tr.po
  2083.   File uk.po
  2084.   File uz@Latn.po
  2085.   File vi.po
  2086.   File war.po
  2087.   File yi.po
  2088.   File zh_CN.po
  2089.   File zh_TW.po
  2090.   File UltraDefrag.pot
  2091.   SetOutPath $INSTDIR
  2092.   Delete $INSTDIR\ultradefrag.exe
  2093.   StrCmp $_24_ amd64 0 label_1570
  2094.   File ultradefrag.exe
  2095.   Goto label_1574
  2096. label_1570:
  2097.   StrCmp $_24_ ia64 0 label_1573
  2098.   File ultradefrag.exe
  2099.   Goto label_1574
  2100. label_1573:
  2101.   File ultradefrag.exe
  2102. label_1574:
  2103.   DetailPrint "Fragmentation reports translation update..."
  2104.   ExecWait "$\"$INSTDIR\ultradefrag.exe$\" --setup"
  2105.   Push $R0
  2106.   Push $0
  2107.   DetailPrint "Registering file extensions..."
  2108.   ClearErrors
  2109.   ReadRegStr $R0 HKCR .lua ""
  2110.   IfErrors 0 label_1588
  2111.   WriteRegStr HKCR .lua "" Lua.Script
  2112.   WriteRegStr HKCR Lua.Script "" "Lua Script File"
  2113.   WriteRegStr HKCR Lua.Script\shell\Edit "" "Edit Script"
  2114.   WriteRegStr HKCR Lua.Script\shell\Edit\command "" "notepad.exe %1"
  2115.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Registered.lua 1
  2116.   Goto label_1595
  2117. label_1588:
  2118.   StrCpy $0 $R0
  2119.   ClearErrors
  2120.   ReadRegStr $R0 HKCR $0\shell\Edit ""
  2121.   IfErrors 0 label_1595
  2122.   WriteRegStr HKCR $0\shell\Edit "" "Edit Script"
  2123.   WriteRegStr HKCR $0\shell\Edit\command "" "notepad.exe %1"
  2124.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Registered.lua.edit 1
  2125. label_1595:
  2126.   Pop $0
  2127.   Pop $R0
  2128.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  2129.     ; Call Initialize_____Plugins
  2130.     ; SetOverwrite off
  2131.     ; File $PLUGINSDIR\System.dll
  2132.     ; SetDetailsPrint lastused
  2133.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  2134.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2135. SectionEnd
  2136.  
  2137.  
  2138. SectionGroupEnd
  2139.  
  2140. Section "Automatic defragmentation (requires Console)" ; Section_6
  2141.   ; AddSize 228
  2142.   SectionIn 1 2
  2143.   Push $R0
  2144.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  2145.     ; Call Initialize_____Plugins
  2146.     ; File $PLUGINSDIR\System.dll
  2147.     ; SetDetailsPrint lastused
  2148.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  2149.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2150.   DetailPrint "Installing automatic defragmentation..."
  2151.   StrCpy $_3_ 0
  2152.   Call :label_83
  2153.   IntOp $_72_ $_22_ & 0x7FFFFFFF
  2154.   IntCmp $_72_ 0x06000000 0 label_1628
  2155.   IfFileExists $SYSDIR\Tasks\UltraDefrag\AutoDefrag label_1627
  2156.   SetOutPath $PLUGINSDIR
  2157.   SetOverwrite on
  2158.   File AutoDefrag.xml
  2159.   nsExec::ExecToLog /OEM "schtasks /Create /TN UltraDefrag\AutoDefrag /XML $\"$PLUGINSDIR\AutoDefrag.xml$\""
  2160.     ; Call Initialize_____Plugins
  2161.     ; SetOverwrite off
  2162.     ; AllowSkipFiles on
  2163.     ; File $PLUGINSDIR\nsExec.dll
  2164.     ; SetDetailsPrint lastused
  2165.     ; Push "schtasks /Create /TN UltraDefrag\AutoDefrag /XML $\"$PLUGINSDIR\AutoDefrag.xml$\""
  2166.     ; Push /OEM
  2167.     ; CallInstDLL $PLUGINSDIR\nsExec.dll ExecToLog
  2168.   Pop $_3_
  2169.   StrCmp $_3_ error 0 label_1627
  2170.   DetailPrint "Unable to execute schtasks command!"
  2171. label_1627:
  2172.   Goto label_1642
  2173. label_1628:
  2174.   IfFileExists $WINDIR\Tasks\AutoDefrag.job label_1642
  2175.   SetOutPath $WINDIR\Tasks
  2176.   SetOverwrite on
  2177.   AllowSkipFiles off
  2178.   File AutoDefrag.job
  2179.   nsExec::ExecToLog /OEM "schtasks /Change /TN AutoDefrag /TR $\"\$\"$INSTDIR\task-launcher.exe\$\" \$\"$INSTDIR\tasks\auto-defrag.cmd\$\"$\" /RU SYSTEM"
  2180.     ; Call Initialize_____Plugins
  2181.     ; SetOverwrite off
  2182.     ; File $PLUGINSDIR\nsExec.dll
  2183.     ; SetDetailsPrint lastused
  2184.     ; Push "schtasks /Change /TN AutoDefrag /TR $\"\$\"$INSTDIR\task-launcher.exe\$\" \$\"$INSTDIR\tasks\auto-defrag.cmd\$\"$\" /RU SYSTEM"
  2185.     ; Push /OEM
  2186.     ; CallInstDLL $PLUGINSDIR\nsExec.dll ExecToLog
  2187.   Pop $_3_
  2188.   StrCmp $_3_ error 0 label_1640
  2189.   DetailPrint "Unable to execute schtasks command!"
  2190. label_1640:
  2191.   StrCmp $_3_ 0 label_1642
  2192.   Delete $WINDIR\Tasks\AutoDefrag.job
  2193. label_1642:
  2194.   StrCmp $_3_ 0 label_1686
  2195.   IfSilent 0 label_1684
  2196.   Push $R0
  2197.   Push $R1
  2198.   Push $R2
  2199.   Push $R3
  2200.   Call :label_83
  2201.   IntOp $R1 $_22_ & 0x7F000000
  2202.   IntOp $R1 $R1 >> 24
  2203.   Call :label_83
  2204.   IntOp $R2 $_22_ & 0x00FF0000
  2205.   IntOp $R2 $R2 >> 16
  2206.   Call :label_83
  2207.   IntOp $R3 $_23_ & 0x0000FFFF
  2208.   ClearErrors
  2209.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  2210.   IfErrors label_1680
  2211.   FileWrite $R0 $\r$\n
  2212.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  2213.   FileWrite $R0 $\r$\n
  2214.   FileWrite $R0 "Error Message ..... Unable to schedule automatic defragmentation!$\r$\n"
  2215.   FileWrite $R0 $\r$\n
  2216.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  2217.   FileWrite $R0 $\r$\n
  2218.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  2219.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  2220.   FileWrite $R0 $\r$\n
  2221.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  2222.   FileWrite $R0 $\r$\n
  2223.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  2224.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  2225.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  2226.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  2227.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  2228.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  2229.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  2230.   FileWrite $R0 $\r$\n
  2231.   FileClose $R0
  2232. label_1680:
  2233.   Pop $R3
  2234.   Pop $R2
  2235.   Pop $R1
  2236.   Pop $R0
  2237. label_1684:
  2238.   MessageBox MB_OK|MB_ICONSTOP "Unable to schedule automatic defragmentation!" /SD IDOK
  2239.   Abort
  2240. label_1686:
  2241.   SetOutPath $INSTDIR
  2242.   StrCmp $_24_ amd64 0 label_1690
  2243.   SetOverwrite on
  2244.   File task-launcher.exe
  2245.   Goto label_1694
  2246. label_1690:
  2247.   StrCmp $_24_ ia64 0 label_1693
  2248.   File task-launcher.exe
  2249.   Goto label_1694
  2250. label_1693:
  2251.   File task-launcher.exe
  2252. label_1694:
  2253.   IfFileExists $INSTDIR\tasks\auto-defrag.cmd label_1697
  2254.   SetOutPath $INSTDIR\tasks
  2255.   File auto-defrag.cmd
  2256. label_1697:
  2257.   Call :label_83
  2258.   IntOp $_72_ $_22_ & 0x7FFFFFFF
  2259.   IntCmp $_72_ 0x06000000 0 label_1773
  2260.   DetailPrint "Disabling Microsoft\Windows\Defrag\ScheduledDefrag task..."
  2261.   Call :label_83
  2262.   IntOp $_72_ $_22_ & 0x7FFFFFFF
  2263.   IntCmp $_72_ 0x06010000 0 label_1753
  2264.   StrCpy $R0 Microsoft\Windows\Defrag\ScheduledDefrag
  2265.   nsExec::ExecToLog /OEM "cmd /C schtasks /Query /TN $R0 /XML > $\"$PLUGINSDIR\MicrosoftScheduledDefrag.xml$\""
  2266.     ; Call Initialize_____Plugins
  2267.     ; SetOverwrite off
  2268.     ; File $PLUGINSDIR\nsExec.dll
  2269.     ; SetDetailsPrint lastused
  2270.     ; Push "cmd /C schtasks /Query /TN $R0 /XML > $\"$PLUGINSDIR\MicrosoftScheduledDefrag.xml$\""
  2271.     ; Push /OEM
  2272.     ; CallInstDLL $PLUGINSDIR\nsExec.dll ExecToLog
  2273.   Pop $_3_
  2274.   StrCmp $_3_ error 0 label_1715
  2275.   DetailPrint "Unable to execute schtasks command!"
  2276.   Goto label_1752
  2277. label_1715:
  2278.   StrCmp $_3_ 0 label_1718
  2279.   DetailPrint "Unable to query task parameters!"
  2280.   Goto label_1752
  2281. label_1718:
  2282.   SetOutPath $PLUGINSDIR
  2283.   SetOverwrite on
  2284.   File check-scheduled-task.lua
  2285.   StrCpy $R0 $PLUGINSDIR\check-scheduled-task.lua
  2286.   nsExec::ExecToLog /OEM "$\"$INSTDIR\lua5.1a.exe$\" $\"$R0$\" $\"$PLUGINSDIR\MicrosoftScheduledDefrag.xml$\""
  2287.     ; Call Initialize_____Plugins
  2288.     ; SetOverwrite off
  2289.     ; File $PLUGINSDIR\nsExec.dll
  2290.     ; SetDetailsPrint lastused
  2291.     ; Push "$\"$INSTDIR\lua5.1a.exe$\" $\"$R0$\" $\"$PLUGINSDIR\MicrosoftScheduledDefrag.xml$\""
  2292.     ; Push /OEM
  2293.     ; CallInstDLL $PLUGINSDIR\nsExec.dll ExecToLog
  2294.   Pop $_3_
  2295.   StrCmp $_3_ error 0 label_1731
  2296.   DetailPrint "Unable to execute $INSTDIR\lua5.1a.exe program!"
  2297.   Goto label_1752
  2298. label_1731:
  2299.   StrCmp $_3_ 0 0 label_1752
  2300.   Push $R0
  2301.   nsExec::ExecToLog /OEM "schtasks /Change /TN Microsoft\Windows\Defrag\ScheduledDefrag /disable"
  2302.     ; Call Initialize_____Plugins
  2303.     ; File $PLUGINSDIR\nsExec.dll
  2304.     ; SetDetailsPrint lastused
  2305.     ; Push "schtasks /Change /TN Microsoft\Windows\Defrag\ScheduledDefrag /disable"
  2306.     ; Push /OEM
  2307.     ; CallInstDLL $PLUGINSDIR\nsExec.dll ExecToLog
  2308.   Pop $_3_
  2309.   StrCmp $_3_ error 0 label_1742
  2310.   DetailPrint "Unable to execute schtasks command!"
  2311. label_1742:
  2312.   StrCmp $_3_ 0 label_1745
  2313.   DetailPrint "Cannot disable the task!"
  2314.   Goto label_1751
  2315. label_1745:
  2316.   DetailPrint "The task has been disabled."
  2317.   StrCmp disable enable 0 label_1749
  2318.   StrCpy $R0 0
  2319.   Goto label_1750
  2320. label_1749:
  2321.   StrCpy $R0 1
  2322. label_1750:
  2323.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::DisableScheduledMicrosoftDefrag $R0
  2324. label_1751:
  2325.   Pop $R0
  2326. label_1752:
  2327.   Goto label_1773
  2328. label_1753:
  2329.   Push $R0
  2330.   nsExec::ExecToLog /OEM "schtasks /Change /TN Microsoft\Windows\Defrag\ScheduledDefrag /disable"
  2331.     ; Call Initialize_____Plugins
  2332.     ; File $PLUGINSDIR\nsExec.dll
  2333.     ; SetDetailsPrint lastused
  2334.     ; Push "schtasks /Change /TN Microsoft\Windows\Defrag\ScheduledDefrag /disable"
  2335.     ; Push /OEM
  2336.     ; CallInstDLL $PLUGINSDIR\nsExec.dll ExecToLog
  2337.   Pop $_3_
  2338.   StrCmp $_3_ error 0 label_1763
  2339.   DetailPrint "Unable to execute schtasks command!"
  2340. label_1763:
  2341.   StrCmp $_3_ 0 label_1766
  2342.   DetailPrint "Cannot disable the task!"
  2343.   Goto label_1772
  2344. label_1766:
  2345.   DetailPrint "The task has been disabled."
  2346.   StrCmp disable enable 0 label_1770
  2347.   StrCpy $R0 0
  2348.   Goto label_1771
  2349. label_1770:
  2350.   StrCpy $R0 1
  2351. label_1771:
  2352.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::DisableScheduledMicrosoftDefrag $R0
  2353. label_1772:
  2354.   Pop $R0
  2355. label_1773:
  2356.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  2357.     ; Call Initialize_____Plugins
  2358.     ; File $PLUGINSDIR\System.dll
  2359.     ; SetDetailsPrint lastused
  2360.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  2361.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2362.   Pop $R0
  2363. SectionEnd
  2364.  
  2365.  
  2366. Section "Context menu handler (requires Console)" ; Section_7
  2367.   ; AddSize 6
  2368.   SectionIn 1 2
  2369.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  2370.     ; Call Initialize_____Plugins
  2371.     ; File $PLUGINSDIR\System.dll
  2372.     ; SetDetailsPrint lastused
  2373.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  2374.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2375.   DetailPrint "Removing context menu handler..."
  2376.   Delete $INSTDIR\icons\shellex.ico
  2377.   Delete $INSTDIR\icons\shellex-folder.ico
  2378.   RMDir $INSTDIR\icons
  2379.   DeleteRegKey HKCR Drive\shell\udefrag.W7menu
  2380.   DeleteRegKey HKCR Drive\udefragW7menu
  2381.   DeleteRegKey HKCR Directory\shell\udefrag.W7menu
  2382.   DeleteRegKey HKCR Directory\udefragW7menu
  2383.   DeleteRegKey HKCR Drive\shell\udefrag-drive-analyze
  2384.   DeleteRegKey HKCR Drive\shell\udefrag-drive-defragment
  2385.   DeleteRegKey HKCR Drive\shell\udefrag-drive-full-optimization
  2386.   DeleteRegKey HKCR Drive\shell\udefrag-drive-quick-optimization
  2387.   DeleteRegKey HKCR Drive\shell\udefrag-folder
  2388.   DeleteRegKey HKCR Directory\shell\udefrag
  2389.   DeleteRegKey HKCR Directory\shell\udefrag-folder
  2390.   DeleteRegKey HKCR *\shell\udefrag
  2391.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  2392.     ; Call Initialize_____Plugins
  2393.     ; File $PLUGINSDIR\System.dll
  2394.     ; SetDetailsPrint lastused
  2395.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  2396.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2397.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  2398.     ; Call Initialize_____Plugins
  2399.     ; File $PLUGINSDIR\System.dll
  2400.     ; SetDetailsPrint lastused
  2401.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  2402.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2403.   DetailPrint "Installing context menu handler..."
  2404.   SetOutPath $INSTDIR\icons
  2405.   SetOverwrite on
  2406.   File shellex.ico
  2407.   File shellex-folder.ico
  2408.   Push $0
  2409.   Push $1
  2410.   Push $R0
  2411.   Push $R1
  2412.   StrCpy $0 $INSTDIR\icons\shellex.ico
  2413.   StrCpy $1 $INSTDIR\icons\shellex-folder.ico
  2414.   Call :label_83
  2415.   IntOp $_72_ $_22_ & 0x7FFFFFFF
  2416.   IntCmp $_72_ 0x06010000 0 label_1866
  2417.   WriteRegStr HKCR Drive\shell\udefrag.W7menu MUIVerb &UltraDefrag
  2418.   WriteRegStr HKCR Drive\shell\udefrag.W7menu ExtendedSubCommandsKey Drive\udefragW7menu
  2419.   WriteRegStr HKCR Drive\shell\udefrag.W7menu Icon $0
  2420.   StrCpy $R0 &Analyze
  2421.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex --folder -a -v $\"%1$\""
  2422.   WriteRegStr HKCR Drive\udefragW7menu\shell\udefrag-drive-analyze "" $R0
  2423.   WriteRegStr HKCR Drive\udefragW7menu\shell\udefrag-drive-analyze\command "" $R1
  2424.   StrCpy $R0 &Defragment
  2425.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex --folder $\"%1$\""
  2426.   WriteRegStr HKCR Drive\udefragW7menu\shell\udefrag-drive-defragment "" $R0
  2427.   WriteRegStr HKCR Drive\udefragW7menu\shell\udefrag-drive-defragment\command "" $R1
  2428.   StrCpy $R0 "Perform &full optimization"
  2429.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex --folder -o -v $\"%1$\""
  2430.   WriteRegStr HKCR Drive\udefragW7menu\shell\udefrag-drive-full-optimization "" $R0
  2431.   WriteRegStr HKCR Drive\udefragW7menu\shell\udefrag-drive-full-optimization\command "" $R1
  2432.   StrCpy $R0 "Perform &quick optimization"
  2433.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex --folder -q -v $\"%1$\""
  2434.   WriteRegStr HKCR Drive\udefragW7menu\shell\udefrag-drive-quick-optimization "" $R0
  2435.   WriteRegStr HKCR Drive\udefragW7menu\shell\udefrag-drive-quick-optimization\command "" $R1
  2436.   StrCpy $R0 "Defragment &root folder itself"
  2437.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex --folder-itself $\"%1$\""
  2438.   WriteRegStr HKCR Drive\udefragW7menu\shell\udefrag-folder "" $R0
  2439.   WriteRegStr HKCR Drive\udefragW7menu\shell\udefrag-folder Icon $1
  2440.   WriteRegStr HKCR Drive\udefragW7menu\shell\udefrag-folder\command "" $R1
  2441.   WriteRegStr HKCR Directory\shell\udefrag.W7menu MUIVerb &UltraDefrag
  2442.   WriteRegStr HKCR Directory\shell\udefrag.W7menu ExtendedSubCommandsKey Directory\udefragW7menu
  2443.   WriteRegStr HKCR Directory\shell\udefrag.W7menu Icon $0
  2444.   StrCpy $R0 &Defragment
  2445.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex --folder $\"%1$\""
  2446.   WriteRegStr HKCR Directory\udefragW7menu\shell\udefrag "" $R0
  2447.   WriteRegStr HKCR Directory\udefragW7menu\shell\udefrag\command "" $R1
  2448.   StrCpy $R0 "&Defragment folder itself"
  2449.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex --folder-itself $\"%1$\""
  2450.   WriteRegStr HKCR Directory\udefragW7menu\shell\udefrag-folder "" $R0
  2451.   WriteRegStr HKCR Directory\udefragW7menu\shell\udefrag-folder Icon $1
  2452.   WriteRegStr HKCR Directory\udefragW7menu\shell\udefrag-folder\command "" $R1
  2453.   StrCpy $R0 "&Defragment with UltraDefrag"
  2454.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex $\"%1$\""
  2455.   WriteRegStr HKCR *\shell\udefrag "" $R0
  2456.   WriteRegStr HKCR *\shell\udefrag Icon $0
  2457.   WriteRegStr HKCR *\shell\udefrag\command "" $R1
  2458.   Goto label_1898
  2459. label_1866:
  2460.   StrCpy $R0 "&Analyze with UltraDefrag"
  2461.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex --folder -a -v $\"%1$\""
  2462.   WriteRegStr HKCR Drive\shell\udefrag-drive-analyze "" $R0
  2463.   WriteRegStr HKCR Drive\shell\udefrag-drive-analyze\command "" $R1
  2464.   StrCpy $R0 "&Defragment with UltraDefrag"
  2465.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex --folder $\"%1$\""
  2466.   WriteRegStr HKCR Drive\shell\udefrag-drive-defragment "" $R0
  2467.   WriteRegStr HKCR Drive\shell\udefrag-drive-defragment\command "" $R1
  2468.   StrCpy $R0 "Perform &full optimization with UltraDefrag"
  2469.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex --folder -o -v $\"%1$\""
  2470.   WriteRegStr HKCR Drive\shell\udefrag-drive-full-optimization "" $R0
  2471.   WriteRegStr HKCR Drive\shell\udefrag-drive-full-optimization\command "" $R1
  2472.   StrCpy $R0 "Perform &quick optimization with UltraDefrag"
  2473.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex --folder -q -v $\"%1$\""
  2474.   WriteRegStr HKCR Drive\shell\udefrag-drive-quick-optimization "" $R0
  2475.   WriteRegStr HKCR Drive\shell\udefrag-drive-quick-optimization\command "" $R1
  2476.   StrCpy $R0 "Defragment &root folder itself with UltraDefrag"
  2477.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex --folder-itself $\"%1$\""
  2478.   WriteRegStr HKCR Drive\shell\udefrag-folder "" $R0
  2479.   WriteRegStr HKCR Drive\shell\udefrag-folder\command "" $R1
  2480.   StrCpy $R0 "&Defragment with UltraDefrag"
  2481.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex --folder $\"%1$\""
  2482.   WriteRegStr HKCR Directory\shell\udefrag "" $R0
  2483.   WriteRegStr HKCR Directory\shell\udefrag\command "" $R1
  2484.   StrCpy $R0 "&Defragment folder itself with UltraDefrag"
  2485.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex --folder-itself $\"%1$\""
  2486.   WriteRegStr HKCR Directory\shell\udefrag-folder "" $R0
  2487.   WriteRegStr HKCR Directory\shell\udefrag-folder\command "" $R1
  2488.   StrCpy $R0 "&Defragment with UltraDefrag"
  2489.   StrCpy $R1 "$\"$SYSDIR\udefrag.exe$\" --shellex $\"%1$\""
  2490.   WriteRegStr HKCR *\shell\udefrag "" $R0
  2491.   WriteRegStr HKCR *\shell\udefrag\command "" $R1
  2492. label_1898:
  2493.   Pop $R1
  2494.   Pop $R0
  2495.   Pop $1
  2496.   Pop $0
  2497.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  2498.     ; Call Initialize_____Plugins
  2499.     ; SetOverwrite off
  2500.     ; File $PLUGINSDIR\System.dll
  2501.     ; SetDetailsPrint lastused
  2502.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  2503.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2504. SectionEnd
  2505.  
  2506.  
  2507. Section Documentation ; Section_8
  2508.   ; AddSize 456
  2509.   SectionIn 1
  2510.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  2511.     ; Call Initialize_____Plugins
  2512.     ; File $PLUGINSDIR\System.dll
  2513.     ; SetDetailsPrint lastused
  2514.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  2515.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2516.   DetailPrint "Installing documentation..."
  2517.   RMDir /r $INSTDIR\handbook
  2518.   SetOutPath $INSTDIR\handbook
  2519.   SetOverwrite on
  2520.   File Autodefrag.html
  2521.   File Blank.png
  2522.   File Boot.html
  2523.   File Compressed.png
  2524.   File Console.html
  2525.   File Credits.html
  2526.   File Credits.js
  2527.   File Development.html
  2528.   File Directory.png
  2529.   File FAQ.html
  2530.   File FDL.html
  2531.   File Fragmented.png
  2532.   File FreeSpace.png
  2533.   File GUI.html
  2534.   File Installation.html
  2535.   File Introduction.html
  2536.   File LICENSE.html
  2537.   File MFTzone.png
  2538.   File NotFragmented.png
  2539.   File Reports.html
  2540.   File System.png
  2541.   File Tips.html
  2542.   File Translation.html
  2543.   File Troubleshooting.html
  2544.   File UnusedBlock.png
  2545.   File ascript.png
  2546.   File bc_s.png
  2547.   File bdwn.png
  2548.   File closed.png
  2549.   File custom_doxygen.css
  2550.   File defrag.png
  2551.   File doxygen.css
  2552.   File dynsections.js
  2553.   File fixed.png
  2554.   File ftv2blank.png
  2555.   File ftv2cl.png
  2556.   File ftv2doc.png
  2557.   File ftv2folderclosed.png
  2558.   File ftv2folderopen.png
  2559.   File ftv2lastnode.png
  2560.   File ftv2link.png
  2561.   File ftv2mlastnode.png
  2562.   File ftv2mnode.png
  2563.   File ftv2mo.png
  2564.   File ftv2node.png
  2565.   File ftv2ns.png
  2566.   File ftv2plastnode.png
  2567.   File ftv2pnode.png
  2568.   File ftv2splitbar.png
  2569.   File ftv2vertline.png
  2570.   File full.png
  2571.   File gear.png
  2572.   File glass.png
  2573.   File help.png
  2574.   File index.html
  2575.   File jquery.js
  2576.   File languages.png
  2577.   File light.png
  2578.   File mft.png
  2579.   File nav_f.png
  2580.   File nav_g.png
  2581.   File nav_h.png
  2582.   File navtree.css
  2583.   File navtree.js
  2584.   File navtreeindex0.js
  2585.   File open.png
  2586.   File pages.html
  2587.   File pause.png
  2588.   File quick.png
  2589.   File removable.png
  2590.   File report.png
  2591.   File resize.js
  2592.   File scheduler.png
  2593.   File script.png
  2594.   File sflogo.gif
  2595.   File star.png
  2596.   File stop.png
  2597.   File sync_off.png
  2598.   File sync_on.png
  2599.   File tab_a.png
  2600.   File tab_b.png
  2601.   File tab_h.png
  2602.   File tab_s.png
  2603.   File tabs.css
  2604.   File terminal.png
  2605.   File udefrag80x15-colored-light.gif
  2606.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  2607.     ; Call Initialize_____Plugins
  2608.     ; SetOverwrite off
  2609.     ; File $PLUGINSDIR\System.dll
  2610.     ; SetDetailsPrint lastused
  2611.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  2612.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2613. SectionEnd
  2614.  
  2615.  
  2616. SectionGroup /e "Shortcuts (require GUI)"    ; Section 9
  2617.  
  2618. Section "Start Menu icon" ; Section_10
  2619.   SectionIn 1
  2620.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  2621.     ; Call Initialize_____Plugins
  2622.     ; File $PLUGINSDIR\System.dll
  2623.     ; SetDetailsPrint lastused
  2624.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  2625.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2626.   DetailPrint "Installing start menu icon..."
  2627.   SetShellVarContext all
  2628.   SetOutPath $INSTDIR
  2629.   CreateShortCut $SMPROGRAMS\UltraDefrag.lnk $INSTDIR\ultradefrag.exe
  2630.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  2631.     ; Call Initialize_____Plugins
  2632.     ; File $PLUGINSDIR\System.dll
  2633.     ; SetDetailsPrint lastused
  2634.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  2635.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2636. SectionEnd
  2637.  
  2638.  
  2639. Section "Desktop icon" ; Section_11
  2640.   SectionIn 1
  2641.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  2642.     ; Call Initialize_____Plugins
  2643.     ; File $PLUGINSDIR\System.dll
  2644.     ; SetDetailsPrint lastused
  2645.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  2646.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2647.   DetailPrint "Installing desktop icon..."
  2648.   SetShellVarContext all
  2649.   SetOutPath $INSTDIR
  2650.   CreateShortCut $DESKTOP\UltraDefrag.lnk $INSTDIR\ultradefrag.exe
  2651.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  2652.     ; Call Initialize_____Plugins
  2653.     ; File $PLUGINSDIR\System.dll
  2654.     ; SetDetailsPrint lastused
  2655.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  2656.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2657. SectionEnd
  2658.  
  2659.  
  2660. Section "Quick Launch icon" ; Section_12
  2661.   SectionIn 1
  2662.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  2663.     ; Call Initialize_____Plugins
  2664.     ; File $PLUGINSDIR\System.dll
  2665.     ; SetDetailsPrint lastused
  2666.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  2667.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2668.   DetailPrint "Installing quick launch icon..."
  2669.   SetShellVarContext all
  2670.   SetOutPath $INSTDIR
  2671.   CreateShortCut $APPDATA\UltraDefrag.lnk $INSTDIR\ultradefrag.exe
  2672.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  2673.     ; Call Initialize_____Plugins
  2674.     ; File $PLUGINSDIR\System.dll
  2675.     ; SetDetailsPrint lastused
  2676.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  2677.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2678. SectionEnd
  2679.  
  2680.  
  2681. SectionGroupEnd
  2682.  
  2683. Section "Extract portable edition" ; Section_14
  2684.   ; AddSize 30973
  2685.   SectionIn 1
  2686.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  2687.     ; Call Initialize_____Plugins
  2688.     ; File $PLUGINSDIR\System.dll
  2689.     ; SetDetailsPrint lastused
  2690.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  2691.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  2692.   DetailPrint "Extracting portable edition..."
  2693.   SetOutPath "$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data"
  2694.   SetOverwrite on
  2695.   File HISTORY.TXT
  2696.   File README.TXT
  2697.   File LICENSE.TXT
  2698.   StrCpy $_OUTDIR $OUTDIR
  2699.   SetOutPath $_OUTDIR\locale
  2700.   SetOutPath $_OUTDIR\locale\ar
  2701.   File UltraDefrag.mo
  2702.   SetOutPath $_OUTDIR\locale\be
  2703.   File UltraDefrag.mo
  2704.   SetOutPath $_OUTDIR\locale\bg
  2705.   File UltraDefrag.mo
  2706.   SetOutPath $_OUTDIR\locale\bn
  2707.   File UltraDefrag.mo
  2708.   SetOutPath $_OUTDIR\locale\bs
  2709.   File UltraDefrag.mo
  2710.   SetOutPath $_OUTDIR\locale\ca
  2711.   File UltraDefrag.mo
  2712.   SetOutPath $_OUTDIR\locale\cs
  2713.   File UltraDefrag.mo
  2714.   SetOutPath $_OUTDIR\locale\da
  2715.   File UltraDefrag.mo
  2716.   SetOutPath $_OUTDIR\locale\de
  2717.   File UltraDefrag.mo
  2718.   SetOutPath $_OUTDIR\locale\el
  2719.   File UltraDefrag.mo
  2720.   SetOutPath $_OUTDIR\locale\en_GB
  2721.   File UltraDefrag.mo
  2722.   SetOutPath $_OUTDIR\locale\en_US
  2723.   File UltraDefrag.mo
  2724.   SetOutPath $_OUTDIR\locale\es
  2725.   File UltraDefrag.mo
  2726.   SetOutPath $_OUTDIR\locale\es_AR
  2727.   File UltraDefrag.mo
  2728.   SetOutPath $_OUTDIR\locale\es_MX
  2729.   File UltraDefrag.mo
  2730.   SetOutPath $_OUTDIR\locale\et
  2731.   File UltraDefrag.mo
  2732.   SetOutPath $_OUTDIR\locale\fa
  2733.   File UltraDefrag.mo
  2734.   SetOutPath $_OUTDIR\locale\fi
  2735.   File UltraDefrag.mo
  2736.   SetOutPath $_OUTDIR\locale\fr
  2737.   File UltraDefrag.mo
  2738.   SetOutPath $_OUTDIR\locale\gl
  2739.   File UltraDefrag.mo
  2740.   SetOutPath $_OUTDIR\locale\he
  2741.   File UltraDefrag.mo
  2742.   SetOutPath $_OUTDIR\locale\hi
  2743.   File UltraDefrag.mo
  2744.   SetOutPath $_OUTDIR\locale\hr
  2745.   File UltraDefrag.mo
  2746.   SetOutPath $_OUTDIR\locale\hu
  2747.   File UltraDefrag.mo
  2748.   SetOutPath $_OUTDIR\locale\hy
  2749.   File UltraDefrag.mo
  2750.   SetOutPath $_OUTDIR\locale\id
  2751.   File UltraDefrag.mo
  2752.   SetOutPath $_OUTDIR\locale\ilo
  2753.   File UltraDefrag.mo
  2754.   SetOutPath $_OUTDIR\locale\is
  2755.   File UltraDefrag.mo
  2756.   SetOutPath $_OUTDIR\locale\it
  2757.   File UltraDefrag.mo
  2758.   SetOutPath $_OUTDIR\locale\ja
  2759.   File UltraDefrag.mo
  2760.   SetOutPath $_OUTDIR\locale\jv
  2761.   File UltraDefrag.mo
  2762.   SetOutPath $_OUTDIR\locale\ka
  2763.   File UltraDefrag.mo
  2764.   SetOutPath $_OUTDIR\locale\ko
  2765.   File UltraDefrag.mo
  2766.   SetOutPath $_OUTDIR\locale\la
  2767.   File UltraDefrag.mo
  2768.   SetOutPath $_OUTDIR\locale\lt
  2769.   File UltraDefrag.mo
  2770.   SetOutPath $_OUTDIR\locale\lv
  2771.   File UltraDefrag.mo
  2772.   SetOutPath $_OUTDIR\locale\mk
  2773.   File UltraDefrag.mo
  2774.   SetOutPath $_OUTDIR\locale\ms
  2775.   File UltraDefrag.mo
  2776.   SetOutPath $_OUTDIR\locale\my
  2777.   File UltraDefrag.mo
  2778.   SetOutPath $_OUTDIR\locale\nl
  2779.   File UltraDefrag.mo
  2780.   SetOutPath $_OUTDIR\locale\no
  2781.   File UltraDefrag.mo
  2782.   SetOutPath $_OUTDIR\locale\pam
  2783.   File UltraDefrag.mo
  2784.   SetOutPath $_OUTDIR\locale\pl
  2785.   File UltraDefrag.mo
  2786.   SetOutPath $_OUTDIR\locale\pt
  2787.   File UltraDefrag.mo
  2788.   SetOutPath $_OUTDIR\locale\pt_BR
  2789.   File UltraDefrag.mo
  2790.   SetOutPath $_OUTDIR\locale\ro
  2791.   File UltraDefrag.mo
  2792.   SetOutPath $_OUTDIR\locale\ru
  2793.   File UltraDefrag.mo
  2794.   SetOutPath $_OUTDIR\locale\sk
  2795.   File UltraDefrag.mo
  2796.   SetOutPath $_OUTDIR\locale\sl
  2797.   File UltraDefrag.mo
  2798.   SetOutPath $_OUTDIR\locale\sq
  2799.   File UltraDefrag.mo
  2800.   SetOutPath $_OUTDIR\locale\sr
  2801.   File UltraDefrag.mo
  2802.   SetOutPath $_OUTDIR\locale\sv
  2803.   File UltraDefrag.mo
  2804.   SetOutPath $_OUTDIR\locale\ta
  2805.   File UltraDefrag.mo
  2806.   SetOutPath $_OUTDIR\locale\th
  2807.   File UltraDefrag.mo
  2808.   SetOutPath $_OUTDIR\locale\tl
  2809.   File UltraDefrag.mo
  2810.   SetOutPath $_OUTDIR\locale\tr
  2811.   File UltraDefrag.mo
  2812.   SetOutPath $_OUTDIR\locale\uk
  2813.   File UltraDefrag.mo
  2814.   SetOutPath $_OUTDIR\locale\uz@Latn
  2815.   File UltraDefrag.mo
  2816.   SetOutPath $_OUTDIR\locale\vi
  2817.   File UltraDefrag.mo
  2818.   SetOutPath $_OUTDIR\locale\war
  2819.   File UltraDefrag.mo
  2820.   SetOutPath $_OUTDIR\locale\yi
  2821.   File UltraDefrag.mo
  2822.   SetOutPath $_OUTDIR\locale\zh_CN
  2823.   File UltraDefrag.mo
  2824.   SetOutPath $_OUTDIR\locale\zh_TW
  2825.   File UltraDefrag.mo
  2826.   SetOutPath $_OUTDIR
  2827.   SetOutPath "$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\po"
  2828.   File ar.po
  2829.   File be.po
  2830.   File bg.po
  2831.   File bn.po
  2832.   File bs.po
  2833.   File ca.po
  2834.   File cs.po
  2835.   File da.po
  2836.   File de.po
  2837.   File el.po
  2838.   File en_GB.po
  2839.   File en_US.po
  2840.   File es.po
  2841.   File es_AR.po
  2842.   File es_MX.po
  2843.   File et.po
  2844.   File fa.po
  2845.   File fi.po
  2846.   File fr.po
  2847.   File gl.po
  2848.   File he.po
  2849.   File hi.po
  2850.   File hr.po
  2851.   File hu.po
  2852.   File hy.po
  2853.   File id.po
  2854.   File ilo.po
  2855.   File is.po
  2856.   File it.po
  2857.   File ja.po
  2858.   File jv.po
  2859.   File ka.po
  2860.   File ko.po
  2861.   File la.po
  2862.   File lt.po
  2863.   File lv.po
  2864.   File mk.po
  2865.   File ms.po
  2866.   File my.po
  2867.   File nl.po
  2868.   File no.po
  2869.   File pam.po
  2870.   File pl.po
  2871.   File pt.po
  2872.   File pt_BR.po
  2873.   File ro.po
  2874.   File ru.po
  2875.   File sk.po
  2876.   File sl.po
  2877.   File sq.po
  2878.   File sr.po
  2879.   File sv.po
  2880.   File ta.po
  2881.   File th.po
  2882.   File tl.po
  2883.   File tr.po
  2884.   File uk.po
  2885.   File uz@Latn.po
  2886.   File vi.po
  2887.   File war.po
  2888.   File yi.po
  2889.   File zh_CN.po
  2890.   File zh_TW.po
  2891.   File UltraDefrag.pot
  2892.   SetOutPath "$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\scripts"
  2893.   File udreportcnv.lua
  2894.   File udsorting.js
  2895.   File upgrade-options.lua
  2896.   SetOutPath "$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\handbook"
  2897.   File Autodefrag.html
  2898.   File Blank.png
  2899.   File Boot.html
  2900.   File Compressed.png
  2901.   File Console.html
  2902.   File Credits.html
  2903.   File Credits.js
  2904.   File Development.html
  2905.   File Directory.png
  2906.   File FAQ.html
  2907.   File FDL.html
  2908.   File Fragmented.png
  2909.   File FreeSpace.png
  2910.   File GUI.html
  2911.   File Installation.html
  2912.   File Introduction.html
  2913.   File LICENSE.html
  2914.   File MFTzone.png
  2915.   File NotFragmented.png
  2916.   File Reports.html
  2917.   File System.png
  2918.   File Tips.html
  2919.   File Translation.html
  2920.   File Troubleshooting.html
  2921.   File UnusedBlock.png
  2922.   File ascript.png
  2923.   File bc_s.png
  2924.   File bdwn.png
  2925.   File closed.png
  2926.   File custom_doxygen.css
  2927.   File defrag.png
  2928.   File doxygen.css
  2929.   File dynsections.js
  2930.   File fixed.png
  2931.   File ftv2blank.png
  2932.   File ftv2cl.png
  2933.   File ftv2doc.png
  2934.   File ftv2folderclosed.png
  2935.   File ftv2folderopen.png
  2936.   File ftv2lastnode.png
  2937.   File ftv2link.png
  2938.   File ftv2mlastnode.png
  2939.   File ftv2mnode.png
  2940.   File ftv2mo.png
  2941.   File ftv2node.png
  2942.   File ftv2ns.png
  2943.   File ftv2plastnode.png
  2944.   File ftv2pnode.png
  2945.   File ftv2splitbar.png
  2946.   File ftv2vertline.png
  2947.   File full.png
  2948.   File gear.png
  2949.   File glass.png
  2950.   File help.png
  2951.   File index.html
  2952.   File jquery.js
  2953.   File languages.png
  2954.   File light.png
  2955.   File mft.png
  2956.   File nav_f.png
  2957.   File nav_g.png
  2958.   File nav_h.png
  2959.   File navtree.css
  2960.   File navtree.js
  2961.   File navtreeindex0.js
  2962.   File open.png
  2963.   File pages.html
  2964.   File pause.png
  2965.   File quick.png
  2966.   File removable.png
  2967.   File report.png
  2968.   File resize.js
  2969.   File scheduler.png
  2970.   File script.png
  2971.   File sflogo.gif
  2972.   File star.png
  2973.   File stop.png
  2974.   File sync_off.png
  2975.   File sync_on.png
  2976.   File tab_a.png
  2977.   File tab_b.png
  2978.   File tab_h.png
  2979.   File tab_s.png
  2980.   File tabs.css
  2981.   File terminal.png
  2982.   File udefrag80x15-colored-light.gif
  2983.   DetailPrint "Configuration files upgrade..."
  2984.   CreateDirectory "$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\conf"
  2985.   IfSilent 0 label_2355
  2986.   ExecWait "$\"$INSTDIR\lua5.1a_gui.exe$\" -s $\"$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\scripts\upgrade-options.lua$\" $\"$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data$\""
  2987.   Goto label_2356
  2988. label_2355:
  2989.   ExecWait "$\"$INSTDIR\lua5.1a_gui.exe$\" $\"$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\scripts\upgrade-options.lua$\" $\"$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data$\""
  2990. label_2356:
  2991.   SetOutPath "$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\scripts"
  2992.   File udreport.css
  2993.   SetOutPath "$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\bin\x86"
  2994.   File zenwinx.dll
  2995.   File udefrag.dll
  2996.   File lua5.1a.dll
  2997.   File lua5.1a.exe
  2998.   File lua5.1a_gui.exe
  2999.   File udefrag-dbg.exe
  3000.   File udefrag.exe
  3001.   File ultradefrag.exe
  3002.   File hibernate4win.exe
  3003.   CopyFiles /SILENT $INSTDIR\user.ini "$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\bin\x86"    ; "$(LSTR_7)$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\bin\x86"    ;  "Copy to "
  3004.   SetOutPath "$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\bin\x64"
  3005.   File zenwinx.dll
  3006.   File udefrag.dll
  3007.   File lua5.1a.dll
  3008.   File lua5.1a.exe
  3009.   File lua5.1a_gui.exe
  3010.   File udefrag-dbg.exe
  3011.   File udefrag.exe
  3012.   File ultradefrag.exe
  3013.   File hibernate4win.exe
  3014.   CopyFiles /SILENT $INSTDIR\user.ini "$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\bin\x64"    ; "$(LSTR_7)$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\bin\x64"    ;  "Copy to "
  3015.   SetOutPath "$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\bin\ia64"
  3016.   File zenwinx.dll
  3017.   File udefrag.dll
  3018.   File lua5.1a.dll
  3019.   File lua5.1a.exe
  3020.   File lua5.1a_gui.exe
  3021.   File udefrag-dbg.exe
  3022.   File udefrag.exe
  3023.   File ultradefrag.exe
  3024.   File hibernate4win.exe
  3025.   CopyFiles /SILENT $INSTDIR\user.ini "$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\bin\ia64"    ; "$(LSTR_7)$INSTDIR\UltraDefrag 8.0.0 Portable Edition\data\bin\ia64"    ;  "Copy to "
  3026.   SetOutPath "$INSTDIR\UltraDefrag 8.0.0 Portable Edition"
  3027.   File "Portable UltraDefrag.exe"
  3028.   File readme.txt
  3029.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  3030.     ; Call Initialize_____Plugins
  3031.     ; SetOverwrite off
  3032.     ; File $PLUGINSDIR\System.dll
  3033.     ; SetDetailsPrint lastused
  3034.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  3035.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3036. SectionEnd
  3037.  
  3038.  
  3039. Section /o "Turn off usage tracking" ; Section_15
  3040.   Push $0
  3041.   DetailPrint "Disabling usage tracking..."
  3042.   StrCpy $0 UD_DISABLE_USAGE_TRACKING
  3043.   WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" $0 1
  3044.   WriteRegStr HKCU Environment $0 1
  3045.   SendMessage 0xFFFF 0x001A 0 STR:Environment /TIMEOUT=5000
  3046.   Pop $0
  3047. SectionEnd
  3048.  
  3049.  
  3050. Section ; Section_16
  3051.   SectionIn 1 2 RO
  3052.   DetailPrint "Removing obsolete files and settings..."
  3053.   DeleteRegKey HKLM SYSTEM\UltraDefrag
  3054.   DeleteRegKey HKLM SYSTEM\CurrentControlSet\Control\UltraDefrag
  3055.   DeleteRegKey HKLM SYSTEM\ControlSet001\Control\UltraDefrag
  3056.   DeleteRegKey HKLM SYSTEM\ControlSet002\Control\UltraDefrag
  3057.   DeleteRegKey HKLM SYSTEM\ControlSet003\Control\UltraDefrag
  3058.   SetRegView 64
  3059.   DeleteRegKey HKLM Software\UltraDefrag
  3060.   SetRegView 32
  3061.   DeleteRegKey HKLM Software\UltraDefrag
  3062.   DeleteRegKey HKCR Drive\shell\udefrag
  3063.   DeleteRegKey HKCR Drive\shell\udefrag-drive-optimize
  3064.   DeleteRegKey HKCR Drive\shell\udefrag-drive-qoptimize
  3065.   DeleteRegKey HKCR Folder\shell\udefrag
  3066.   DeleteRegKey HKCR Folder\shell\udefrag-folder
  3067.   DeleteRegKey HKCR Folder\shell\udefrag.W7menu
  3068.   DeleteRegKey HKCR Folder\udefragW7menu
  3069.   DeleteRegKey HKCR *\shell\udefrag.W7menu
  3070.   DeleteRegKey HKCR *\udefragW7menu
  3071.   RMDir /r $SYSDIR\UltraDefrag
  3072.   Delete $SYSDIR\udefrag-gui-dbg.cmd
  3073.   Delete $SYSDIR\udefrag-gui.exe
  3074.   Delete $SYSDIR\udefrag-gui.cmd
  3075.   Delete $SYSDIR\ultradefrag.exe
  3076.   Delete $SYSDIR\udefrag-gui-config.exe
  3077.   Delete $SYSDIR\udefrag-scheduler.exe
  3078.   Delete $SYSDIR\ud-config.cmd
  3079.   Delete $SYSDIR\ud-help.cmd
  3080.   Delete $SYSDIR\udefrag-kernel.dll
  3081.   Delete $SYSDIR\lua5.1a.exe
  3082.   Delete $SYSDIR\lua5.1a_gui.exe
  3083.   Delete $SYSDIR\udctxhandler.cmd
  3084.   Delete $SYSDIR\udctxhandler.vbs
  3085.   Delete $SYSDIR\wgx.dll
  3086.   RMDir /r $INSTDIR\doc
  3087.   RMDir /r $INSTDIR\i18n
  3088.   RMDir /r $INSTDIR\options
  3089.   RMDir /r $INSTDIR\portable_i386_package
  3090.   RMDir /r $INSTDIR\presets
  3091.   Delete $INSTDIR\scripts\udctxhandler.lua
  3092.   Delete $INSTDIR\scripts\upgrade-guiopts.lua
  3093.   Delete $INSTDIR\scripts\upgrade-rptopts.lua
  3094.   Delete $INSTDIR\scripts\udreport.css.old
  3095.   Delete $INSTDIR\options.lua
  3096.   Delete $INSTDIR\options.lua.old
  3097.   Delete $INSTDIR\dfrg.exe
  3098.   Delete $INSTDIR\CREDITS.TXT
  3099.   Delete $INSTDIR\INSTALL.TXT
  3100.   Delete $INSTDIR\FAQ.TXT
  3101.   Delete $INSTDIR\UltraDefragScheduler.NET.exe
  3102.   Delete $INSTDIR\boot_on.cmd
  3103.   Delete $INSTDIR\boot_off.cmd
  3104.   Delete $INSTDIR\ud_i18n.dll
  3105.   Delete $INSTDIR\wgx.dll
  3106.   Delete $INSTDIR\lua5.1a.dll
  3107.   Delete $INSTDIR\repair-drives.cmd
  3108.   Delete $INSTDIR\udefrag-scheduler.exe
  3109.   Delete $INSTDIR\udefrag-gui-config.exe
  3110.   Delete $INSTDIR\LanguageSelector.exe
  3111.   Delete $INSTDIR\lang.ini
  3112.   Delete $INSTDIR\wxultradefrag.exe
  3113.   Delete $INSTDIR\shellex.ico
  3114.   Delete $INSTDIR\shellex-folder.ico
  3115.   Delete $INSTDIR\crash-info.ini
  3116.   Delete $INSTDIR\crash-info.log
  3117.   Rename $INSTDIR\reports.lng $INSTDIR\reports.tmp ;  $INSTDIR\reports.lng->$INSTDIR\reports.tmp
  3118.   Delete $INSTDIR\*.lng
  3119.   Rename $INSTDIR\reports.tmp $INSTDIR\reports.lng ;  $INSTDIR\reports.tmp->$INSTDIR\reports.lng
  3120.   Delete $INSTDIR\po\ach.po
  3121.   Delete $INSTDIR\po\ar_EG.po
  3122.   Delete $INSTDIR\po\ar_SA.po
  3123.   Delete $INSTDIR\po\eu.po
  3124.   Delete $INSTDIR\po\eu_ES.po
  3125.   Delete $INSTDIR\po\si_LK.po
  3126.   Delete $INSTDIR\po\szl.po
  3127.   RMDir /r $INSTDIR\locale\ach
  3128.   RMDir /r $INSTDIR\locale\ar_EG
  3129.   RMDir /r $INSTDIR\locale\ar_SA
  3130.   RMDir /r $INSTDIR\locale\eu
  3131.   RMDir /r $INSTDIR\locale\eu_ES
  3132.   RMDir /r $INSTDIR\locale\si_LK
  3133.   RMDir /r $INSTDIR\locale\szl
  3134.   RMDir /r $INSTDIR\tmp\data
  3135.   SetShellVarContext all
  3136.   RMDir /r $SMPROGRAMS\DASoft
  3137.   RMDir /r $SMPROGRAMS\UltraDefrag
  3138.   Delete $SYSDIR\Drivers\ultradfg.sys
  3139.   DeleteRegKey HKLM SYSTEM\CurrentControlSet\Services\ultradfg
  3140.   DeleteRegKey HKLM SYSTEM\ControlSet001\Services\ultradfg
  3141.   DeleteRegKey HKLM SYSTEM\ControlSet002\Services\ultradfg
  3142.   DeleteRegKey HKLM SYSTEM\ControlSet003\Services\ultradfg
  3143.   DeleteRegKey HKLM SYSTEM\CurrentControlSet\Enum\Root\LEGACY_ULTRADFG
  3144.   DeleteRegKey HKLM SYSTEM\ControlSet001\Enum\Root\LEGACY_ULTRADFG
  3145.   DeleteRegKey HKLM SYSTEM\ControlSet002\Enum\Root\LEGACY_ULTRADFG
  3146.   DeleteRegKey HKLM SYSTEM\ControlSet003\Enum\Root\LEGACY_ULTRADFG
  3147.   ClearErrors
  3148.   ReadRegStr $R0 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Registered.lng
  3149.   IfErrors label_2510
  3150.   StrCmp $R0 1 0 label_2510
  3151.   DeleteRegKey HKCR LanguagePack
  3152.   DeleteRegKey HKCR .lng
  3153.   DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Registered.lng
  3154. label_2510:
  3155.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  3156.     ; Call Initialize_____Plugins
  3157.     ; File $PLUGINSDIR\System.dll
  3158.     ; SetDetailsPrint lastused
  3159.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  3160.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3161.   DetailPrint "Creating uninstaller..."
  3162.   SetOutPath $INSTDIR
  3163.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag DisplayName "Ultra Defragmenter"
  3164.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag DisplayVersion 8.0.0
  3165.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Publisher "Green Gate Systems, LLC"
  3166.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag URLInfoAbout https://ultradefrag.net/
  3167.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag UninstallString $INSTDIR\uninstall.exe
  3168.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag DisplayIcon $INSTDIR\uninstall.exe
  3169.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag InstallLocation $INSTDIR
  3170.   WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag NoModify 1
  3171.   WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag NoRepair 1
  3172.   WriteUninstaller    ; !!! ERROR: bad path
  3173.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  3174.     ; Call Initialize_____Plugins
  3175.     ; File $PLUGINSDIR\System.dll
  3176.     ; SetDetailsPrint lastused
  3177.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  3178.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3179.   DetailPrint "Calculating installation size..."
  3180.   Push $R0
  3181.   Push $0
  3182.   Push $1
  3183.   Push $2
  3184.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  3185.     ; Call Initialize_____Plugins
  3186.     ; File $PLUGINSDIR\System.dll
  3187.     ; SetDetailsPrint lastused
  3188.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  3189.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3190.   Push $INSTDIR
  3191.   Push /S=0K
  3192.   Call :label_2546
  3193.   Goto label_2760
  3194. label_2546:
  3195.   Exch $1
  3196.     ; Push $1
  3197.     ; Exch
  3198.     ; Pop $1
  3199.   Exch
  3200.   Exch $0
  3201.     ; Push $0
  3202.     ; Exch
  3203.     ; Pop $0
  3204.   Exch
  3205.   Push $2
  3206.   Push $3
  3207.   Push $4
  3208.   Push $5
  3209.   Push $6
  3210.   Push $7
  3211.   Push $8
  3212.   Push $9
  3213.   Push $R3
  3214.   Push $R4
  3215.   Push $R5
  3216.   Push $R6
  3217.   Push $R7
  3218.   Push $R8
  3219.   Push $R9
  3220.   ClearErrors
  3221. label_2570:
  3222.   StrCpy $R9 $0 1 -1
  3223.   StrCmp $R9 \ 0 label_2574
  3224.   StrCpy $0 $0 -1
  3225.   Goto label_2570
  3226. label_2574:
  3227.   IfFileExists $0\*.* 0 label_2729
  3228.   StrCpy $3 ""
  3229.   StrCpy $4 ""
  3230.   StrCpy $5 ""
  3231.   StrCpy $6 ""
  3232.   StrCpy $8 0
  3233.   StrCpy $R3 ""
  3234.   StrCpy $R4 ""
  3235.   StrCpy $R5 ""
  3236. label_2583:
  3237.   StrCpy $R9 $1 1
  3238.   StrCpy $1 $1 "" 1
  3239.   StrCmp $R9 " " label_2583
  3240.   StrCmp $R9 "" label_2613
  3241.   StrCmp $R9 / 0 label_2583
  3242.   StrCpy $9 -1
  3243. label_2589:
  3244.   IntOp $9 $9 + 1
  3245.   StrCpy $R9 $1 1 $9
  3246.   StrCmp $R9 "" label_2593
  3247.   StrCmp $R9 / 0 label_2589
  3248. label_2593:
  3249.   StrCpy $8 $1 $9
  3250.   StrCpy $8 $8 "" 2
  3251. label_2595:
  3252.   StrCpy $R9 $8 "" -1
  3253.   StrCmp $R9 " " 0 label_2599
  3254.   StrCpy $8 $8 -1
  3255.   Goto label_2595
  3256. label_2599:
  3257.   StrCpy $R9 $1 2
  3258.   StrCpy $1 $1 "" $9
  3259.   StrCmp $R9 M= 0 label_2604
  3260.   StrCpy $4 $8
  3261.   Goto label_2583
  3262. label_2604:
  3263.   StrCmp $R9 S= 0 label_2607
  3264.   StrCpy $6 $8
  3265.   Goto label_2583
  3266. label_2607:
  3267.   StrCmp $R9 G= 0 label_2729
  3268.   StrCpy $7 $8
  3269.   StrCmp $7 "" label_2612
  3270.   StrCmp $7 1 label_2612
  3271.   StrCmp $7 0 0 label_2729
  3272. label_2612:
  3273.   Goto label_2583
  3274. label_2613:
  3275.   StrCmp $6 "" label_2643
  3276.   StrCpy $9 0
  3277. label_2615:
  3278.   StrCpy $R9 $6 1 $9
  3279.   StrCmp $R9 "" label_2620
  3280.   StrCmp $R9 : label_2620
  3281.   IntOp $9 $9 + 1
  3282.   Goto label_2615
  3283. label_2620:
  3284.   StrCpy $5 $6 $9
  3285.   IntOp $9 $9 + 1
  3286.   StrCpy $1 $6 1 -1
  3287.   StrCpy $6 $6 -1 $9
  3288.   StrCmp $5 "" label_2626
  3289.   IntOp $5 $5 + 0
  3290. label_2626:
  3291.   StrCmp $6 "" label_2628
  3292.   IntOp $6 $6 + 0
  3293. label_2628:
  3294.   StrCmp $1 B 0 label_2632
  3295.   StrCpy $1 1
  3296.   StrCpy $2 bytes
  3297.   Goto label_2643
  3298. label_2632:
  3299.   StrCmp $1 K 0 label_2636
  3300.   StrCpy $1 1024
  3301.   StrCpy $2 Kb
  3302.   Goto label_2643
  3303. label_2636:
  3304.   StrCmp $1 M 0 label_2640
  3305.   StrCpy $1 1048576
  3306.   StrCpy $2 Mb
  3307.   Goto label_2643
  3308. label_2640:
  3309.   StrCmp $1 G 0 label_2729
  3310.   StrCpy $1 1073741824
  3311.   StrCpy $2 Gb
  3312. label_2643:
  3313.   StrCmp $4 "" 0 label_2645
  3314.   StrCpy $4 *.*
  3315. label_2645:
  3316.   StrCmp $7 "" 0 label_2647
  3317.   StrCpy $7 1
  3318. label_2647:
  3319.   StrCpy $8 1
  3320.   Push $0
  3321.   SetDetailsPrint textonly
  3322. label_2650:
  3323.   IntOp $8 $8 - 1
  3324.   Pop $R8
  3325.   FindFirst $0 $R7 $R8\$4
  3326.   IfErrors label_2688
  3327.   StrCmp $R7 . 0 label_2661
  3328.   FindNext $0 $R7
  3329.   StrCmp $R7 .. 0 label_2661
  3330.   FindNext $0 $R7
  3331.   IfErrors 0 label_2661
  3332.   FindClose $0
  3333.   Goto label_2688
  3334. label_2661:
  3335.   IfFileExists $R8\$R7\*.* 0 label_2664
  3336.   IntOp $R5 $R5 + 1
  3337.   Goto label_2685
  3338. label_2664:
  3339.   StrCpy $R6 0
  3340.   StrCmp $5$6 "" 0 label_2668
  3341.   IntOp $R4 $R4 + 1
  3342.   Goto label_2685
  3343. label_2668:
  3344.   FileOpen $9 $R8\$R7 r
  3345.   IfErrors label_2672
  3346.   FileSeek $9 0 END $R6
  3347.   FileClose $9
  3348. label_2672:
  3349.   StrCmp $5 "" label_2674
  3350.   IntCmp $R6 $5 0 label_2685
  3351. label_2674:
  3352.   StrCmp $6 "" label_2676
  3353.   IntCmp $R6 $6 0 0 label_2685
  3354. label_2676:
  3355.   IntOp $R4 $R4 + 1
  3356.   System::Int64Op $R3 + $R6
  3357.     ; Call Initialize_____Plugins
  3358.     ; AllowSkipFiles on
  3359.     ; File $PLUGINSDIR\System.dll
  3360.     ; SetDetailsPrint lastused
  3361.     ; Push $R6
  3362.     ; Push +
  3363.     ; Push $R3
  3364.     ; CallInstDLL $PLUGINSDIR\System.dll Int64Op
  3365.   Pop $R3
  3366. label_2685:
  3367.   FindNext $0 $R7
  3368.   IfErrors 0 label_2661
  3369.   FindClose $0
  3370. label_2688:
  3371.   StrCmp $5$6 "" label_2699
  3372.   System::Int64Op $R3 / $1
  3373.     ; Call Initialize_____Plugins
  3374.     ; AllowSkipFiles off
  3375.     ; File $PLUGINSDIR\System.dll
  3376.     ; SetDetailsPrint lastused
  3377.     ; Push $1
  3378.     ; Push /
  3379.     ; Push $R3
  3380.     ; CallInstDLL $PLUGINSDIR\System.dll Int64Op
  3381.   Pop $9
  3382.   DetailPrint "Size:$9 $2  Files:$R4  Folders:$R5"
  3383.   Goto label_2700
  3384. label_2699:
  3385.   DetailPrint "Files:$R4  Folders:$R5"
  3386. label_2700:
  3387.   StrCmp $7 0 label_2716
  3388.   FindFirst $0 $R7 $R8\*.*
  3389.   StrCmp $R7 . 0 label_2709
  3390.   FindNext $0 $R7
  3391.   StrCmp $R7 .. 0 label_2709
  3392.   FindNext $0 $R7
  3393.   IfErrors 0 label_2709
  3394.   FindClose $0
  3395.   StrCmp $8 0 label_2716 label_2650
  3396. label_2709:
  3397.   IfFileExists $R8\$R7\*.* 0 label_2712
  3398.   Push $R8\$R7
  3399.   IntOp $8 $8 + 1
  3400. label_2712:
  3401.   FindNext $0 $R7
  3402.   IfErrors 0 label_2709
  3403.   FindClose $0
  3404.   StrCmp $8 0 label_2716 label_2650
  3405. label_2716:
  3406.   StrCmp $R3 "" label_2725
  3407.   System::Int64Op $R3 / $1
  3408.     ; Call Initialize_____Plugins
  3409.     ; File $PLUGINSDIR\System.dll
  3410.     ; SetDetailsPrint lastused
  3411.     ; Push $1
  3412.     ; Push /
  3413.     ; Push $R3
  3414.     ; CallInstDLL $PLUGINSDIR\System.dll Int64Op
  3415.   Pop $R3
  3416. label_2725:
  3417.   StrCpy $2 $R4
  3418.   StrCpy $1 $R5
  3419.   StrCpy $0 $R3
  3420.   Goto label_2733
  3421. label_2729:
  3422.   SetErrors
  3423.   StrCpy $0 ""
  3424.   StrCpy $1 ""
  3425.   StrCpy $2 ""
  3426. label_2733:
  3427.   SetDetailsPrint both
  3428.   Pop $R9
  3429.   Pop $R8
  3430.   Pop $R7
  3431.   Pop $R6
  3432.   Pop $R5
  3433.   Pop $R4
  3434.   Pop $R3
  3435.   Pop $9
  3436.   Pop $8
  3437.   Pop $7
  3438.   Pop $6
  3439.   Pop $5
  3440.   Pop $4
  3441.   Pop $3
  3442.   Exch $2
  3443.     ; Push $2
  3444.     ; Exch
  3445.     ; Pop $2
  3446.   Exch
  3447.   Exch $1
  3448.     ; Push $1
  3449.     ; Exch
  3450.     ; Pop $1
  3451.   Exch 2
  3452.   Exch $0
  3453.     ; Push $0
  3454.     ; Exch
  3455.     ; Pop $0
  3456.   Return
  3457.  
  3458. label_2760:
  3459.   Pop $0
  3460.   Pop $1
  3461.   Pop $2
  3462.   IntFmt $0 0x%08X $0
  3463.   WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag EstimatedSize $0
  3464.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  3465.     ; Call Initialize_____Plugins
  3466.     ; File $PLUGINSDIR\System.dll
  3467.     ; SetDetailsPrint lastused
  3468.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  3469.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3470.   Pop $2
  3471.   Pop $1
  3472.   Pop $0
  3473.   Pop $R0
  3474. SectionEnd
  3475.  
  3476.  
  3477. Function .onInit
  3478.   Push $R0
  3479.   Push $R1
  3480.   Delete $TEMP\UltraDefrag_Install.log
  3481.   ClearErrors
  3482.   Push $R0
  3483.   Call :label_83
  3484.   IntOp $_72_ $_23_ & 0x80000000
  3485.   StrCmp $_72_ 0 0 label_2826
  3486.   IfSilent 0 label_2824
  3487.   Push $R0
  3488.   Push $R1
  3489.   Push $R2
  3490.   Push $R3
  3491.   Call :label_83
  3492.   IntOp $R1 $_22_ & 0x7F000000
  3493.   IntOp $R1 $R1 >> 24
  3494.   Call :label_83
  3495.   IntOp $R2 $_22_ & 0x00FF0000
  3496.   IntOp $R2 $R2 >> 16
  3497.   Call :label_83
  3498.   IntOp $R3 $_23_ & 0x0000FFFF
  3499.   ClearErrors
  3500.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  3501.   IfErrors label_2820
  3502.   FileWrite $R0 $\r$\n
  3503.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  3504.   FileWrite $R0 $\r$\n
  3505.   FileWrite $R0 "Error Message ..... This program cannot be used on Windows 95, 98 and Me!$\r$\n"
  3506.   FileWrite $R0 $\r$\n
  3507.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  3508.   FileWrite $R0 $\r$\n
  3509.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  3510.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  3511.   FileWrite $R0 $\r$\n
  3512.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  3513.   FileWrite $R0 $\r$\n
  3514.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  3515.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  3516.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  3517.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  3518.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  3519.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  3520.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  3521.   FileWrite $R0 $\r$\n
  3522.   FileClose $R0
  3523. label_2820:
  3524.   Pop $R3
  3525.   Pop $R2
  3526.   Pop $R1
  3527.   Pop $R0
  3528. label_2824:
  3529.   MessageBox MB_OK|MB_ICONSTOP "This program cannot be used on Windows 95, 98 and Me!" /SD IDOK
  3530.   Abort
  3531. label_2826:
  3532.   Call :label_83
  3533.   IntOp $_72_ $_22_ & 0x7FFFFFFF
  3534.   IntCmp $_72_ 0x05010000 label_2872 0 label_2872
  3535.   IfSilent 0 label_2870
  3536.   Push $R0
  3537.   Push $R1
  3538.   Push $R2
  3539.   Push $R3
  3540.   Call :label_83
  3541.   IntOp $R1 $_22_ & 0x7F000000
  3542.   IntOp $R1 $R1 >> 24
  3543.   Call :label_83
  3544.   IntOp $R2 $_22_ & 0x00FF0000
  3545.   IntOp $R2 $R2 >> 16
  3546.   Call :label_83
  3547.   IntOp $R3 $_23_ & 0x0000FFFF
  3548.   ClearErrors
  3549.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  3550.   IfErrors label_2866
  3551.   FileWrite $R0 $\r$\n
  3552.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  3553.   FileWrite $R0 $\r$\n
  3554.   FileWrite $R0 "Error Message ..... This program cannot be used on Windows versions below XP!$\n Download UltraDefrag v6 for Windows NT 4.0 and Windows 2000.$\r$\n"
  3555.   FileWrite $R0 $\r$\n
  3556.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  3557.   FileWrite $R0 $\r$\n
  3558.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  3559.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  3560.   FileWrite $R0 $\r$\n
  3561.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  3562.   FileWrite $R0 $\r$\n
  3563.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  3564.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  3565.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  3566.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  3567.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  3568.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  3569.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  3570.   FileWrite $R0 $\r$\n
  3571.   FileClose $R0
  3572. label_2866:
  3573.   Pop $R3
  3574.   Pop $R2
  3575.   Pop $R1
  3576.   Pop $R0
  3577. label_2870:
  3578.   MessageBox MB_OK|MB_ICONSTOP "This program cannot be used on Windows versions below XP!$\n Download UltraDefrag v6 for Windows NT 4.0 and Windows 2000." /SD IDOK
  3579.   Abort
  3580. label_2872:
  3581.   StrCpy $_24_ ""
  3582.   ClearErrors
  3583.   ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" PROCESSOR_ARCHITECTURE
  3584.   IfErrors label_2877
  3585.   StrCpy $_24_ $R0
  3586. label_2877:
  3587.   StrCmp $_24_ x86 label_2895
  3588.   StrCmp $_24_ amd64 label_2895
  3589.   StrCmp $_24_ ia64 label_2895
  3590.   System::Call kernel32::GetCurrentProcess()i.s
  3591.     ; Call Initialize_____Plugins
  3592.     ; File $PLUGINSDIR\System.dll
  3593.     ; SetDetailsPrint lastused
  3594.     ; Push kernel32::GetCurrentProcess()i.s
  3595.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3596.   System::Call kernel32::IsWow64Process(is,*i.s)
  3597.     ; Call Initialize_____Plugins
  3598.     ; File $PLUGINSDIR\System.dll
  3599.     ; SetDetailsPrint lastused
  3600.     ; Push kernel32::IsWow64Process(is,*i.s)
  3601.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3602.   Pop $_72_
  3603.   StrCmp $_72_ 0 label_2894
  3604.   StrCpy $_24_ amd64
  3605.   Goto label_2895
  3606. label_2894:
  3607.   StrCpy $_24_ x86
  3608. label_2895:
  3609.   Pop $R0
  3610.   StrCmp $_24_ x86 label_2899
  3611.   StrCmp $INSTDIR $PROGRAMFILES\UltraDefrag 0 label_2899
  3612.   StrCpy $INSTDIR $PROGRAMFILES64\UltraDefrag
  3613. label_2899:
  3614.   Push $R0
  3615.   UserInfo::GetAccountType
  3616.     ; Call Initialize_____Plugins
  3617.     ; AllowSkipFiles on
  3618.     ; File $PLUGINSDIR\UserInfo.dll
  3619.     ; SetDetailsPrint lastused
  3620.     ; CallInstDLL $PLUGINSDIR\UserInfo.dll GetAccountType
  3621.   Pop $R0
  3622.   StrCmp $R0 Admin label_2949
  3623.   IfSilent 0 label_2947
  3624.   Push $R0
  3625.   Push $R1
  3626.   Push $R2
  3627.   Push $R3
  3628.   Call :label_83
  3629.   IntOp $R1 $_22_ & 0x7F000000
  3630.   IntOp $R1 $R1 >> 24
  3631.   Call :label_83
  3632.   IntOp $R2 $_22_ & 0x00FF0000
  3633.   IntOp $R2 $R2 >> 16
  3634.   Call :label_83
  3635.   IntOp $R3 $_23_ & 0x0000FFFF
  3636.   ClearErrors
  3637.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  3638.   IfErrors label_2943
  3639.   FileWrite $R0 $\r$\n
  3640.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  3641.   FileWrite $R0 $\r$\n
  3642.   FileWrite $R0 "Error Message ..... Administrative rights are needed to install the program!$\r$\n"
  3643.   FileWrite $R0 $\r$\n
  3644.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  3645.   FileWrite $R0 $\r$\n
  3646.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  3647.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  3648.   FileWrite $R0 $\r$\n
  3649.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  3650.   FileWrite $R0 $\r$\n
  3651.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  3652.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  3653.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  3654.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  3655.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  3656.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  3657.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  3658.   FileWrite $R0 $\r$\n
  3659.   FileClose $R0
  3660. label_2943:
  3661.   Pop $R3
  3662.   Pop $R2
  3663.   Pop $R1
  3664.   Pop $R0
  3665. label_2947:
  3666.   MessageBox MB_OK|MB_ICONSTOP "Administrative rights are needed to install the program!" /SD IDOK
  3667.   Abort
  3668. label_2949:
  3669.   Pop $R0
  3670.   Push $R0
  3671.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  3672.     ; Call Initialize_____Plugins
  3673.     ; AllowSkipFiles off
  3674.     ; File $PLUGINSDIR\System.dll
  3675.     ; SetDetailsPrint lastused
  3676.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  3677.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3678.   DetailPrint "Stopping automatic defragmentation..."
  3679.   Call :label_83
  3680.   IntOp $_72_ $_22_ & 0x7FFFFFFF
  3681.   IntCmp $_72_ 0x06000000 0 label_2962
  3682.   StrCpy $R0 UltraDefrag\AutoDefrag
  3683.   Goto label_2963
  3684. label_2962:
  3685.   StrCpy $R0 AutoDefrag
  3686. label_2963:
  3687.   nsExec::ExecToLog /OEM "schtasks /End /TN $R0"
  3688.     ; Call Initialize_____Plugins
  3689.     ; File $PLUGINSDIR\nsExec.dll
  3690.     ; SetDetailsPrint lastused
  3691.     ; Push "schtasks /End /TN $R0"
  3692.     ; Push /OEM
  3693.     ; CallInstDLL $PLUGINSDIR\nsExec.dll ExecToLog
  3694.   Pop $_3_
  3695.   StrCmp $_3_ error 0 label_2972
  3696.   DetailPrint "Unable to execute schtasks command!"
  3697. label_2972:
  3698.   StrCmp $_3_ 0 label_2974
  3699.   DetailPrint "Unable to stop automatic defragmentation!"
  3700. label_2974:
  3701.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  3702.     ; Call Initialize_____Plugins
  3703.     ; File $PLUGINSDIR\System.dll
  3704.     ; SetDetailsPrint lastused
  3705.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  3706.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3707.   Pop $R0
  3708.   Push $R0
  3709.   System::Call "kernel32::OpenMutex(i 0x100000, b 0, t $\"Global\ultradefrag_mutex$\") i .R0"
  3710.     ; Call Initialize_____Plugins
  3711.     ; File $PLUGINSDIR\System.dll
  3712.     ; SetDetailsPrint lastused
  3713.     ; Push "kernel32::OpenMutex(i 0x100000, b 0, t $\"Global\ultradefrag_mutex$\") i .R0"
  3714.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3715.   StrCmp $R0 0 0 label_2992
  3716.   System::Call "kernel32::OpenMutex(i 0x100000, b 0, t $\"ultradefrag_mutex$\") i .R0"
  3717.     ; Call Initialize_____Plugins
  3718.     ; File $PLUGINSDIR\System.dll
  3719.     ; SetDetailsPrint lastused
  3720.     ; Push "kernel32::OpenMutex(i 0x100000, b 0, t $\"ultradefrag_mutex$\") i .R0"
  3721.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3722. label_2992:
  3723.   StrCmp $R0 0 0 label_2998
  3724.   System::Call "kernel32::OpenMutex(i 0x100000, b 0, t $\"\BaseNamedObjects\ultradefrag_mutex$\") i .R0"
  3725.     ; Call Initialize_____Plugins
  3726.     ; File $PLUGINSDIR\System.dll
  3727.     ; SetDetailsPrint lastused
  3728.     ; Push "kernel32::OpenMutex(i 0x100000, b 0, t $\"\BaseNamedObjects\ultradefrag_mutex$\") i .R0"
  3729.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3730. label_2998:
  3731.   StrCmp $R0 0 0 label_3004
  3732.   System::Call "kernel32::OpenMutex(i 0x100000, b 0, t $\"\Sessions\1\BaseNamedObjects\ultradefrag_mutex$\") i .R0"
  3733.     ; Call Initialize_____Plugins
  3734.     ; File $PLUGINSDIR\System.dll
  3735.     ; SetDetailsPrint lastused
  3736.     ; Push "kernel32::OpenMutex(i 0x100000, b 0, t $\"\Sessions\1\BaseNamedObjects\ultradefrag_mutex$\") i .R0"
  3737.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3738. label_3004:
  3739.   StrCmp $R0 0 label_3053
  3740.   System::Call "kernel32::CloseHandle(i $R0)"
  3741.     ; Call Initialize_____Plugins
  3742.     ; File $PLUGINSDIR\System.dll
  3743.     ; SetDetailsPrint lastused
  3744.     ; Push "kernel32::CloseHandle(i $R0)"
  3745.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3746.   IfSilent 0 label_3051
  3747.   Push $R0
  3748.   Push $R1
  3749.   Push $R2
  3750.   Push $R3
  3751.   Call :label_83
  3752.   IntOp $R1 $_22_ & 0x7F000000
  3753.   IntOp $R1 $R1 >> 24
  3754.   Call :label_83
  3755.   IntOp $R2 $_22_ & 0x00FF0000
  3756.   IntOp $R2 $R2 >> 16
  3757.   Call :label_83
  3758.   IntOp $R3 $_23_ & 0x0000FFFF
  3759.   ClearErrors
  3760.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  3761.   IfErrors label_3047
  3762.   FileWrite $R0 $\r$\n
  3763.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  3764.   FileWrite $R0 $\r$\n
  3765.   FileWrite $R0 "Error Message ..... UltraDefrag is running. Please close it first!$\r$\n"
  3766.   FileWrite $R0 $\r$\n
  3767.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  3768.   FileWrite $R0 $\r$\n
  3769.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  3770.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  3771.   FileWrite $R0 $\r$\n
  3772.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  3773.   FileWrite $R0 $\r$\n
  3774.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  3775.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  3776.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  3777.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  3778.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  3779.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  3780.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  3781.   FileWrite $R0 $\r$\n
  3782.   FileClose $R0
  3783. label_3047:
  3784.   Pop $R3
  3785.   Pop $R2
  3786.   Pop $R1
  3787.   Pop $R0
  3788. label_3051:
  3789.   MessageBox MB_OK|MB_ICONSTOP "UltraDefrag is running. Please close it first!" /SD IDOK
  3790.   Abort
  3791. label_3053:
  3792.   Pop $R0
  3793.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  3794.     ; Call Initialize_____Plugins
  3795.     ; File $PLUGINSDIR\System.dll
  3796.     ; SetDetailsPrint lastused
  3797.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  3798.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3799.   InitPluginsDir
  3800.     ; Call Initialize_____Plugins
  3801.     ; SetDetailsPrint lastused
  3802.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  3803.     ; Call Initialize_____Plugins
  3804.     ; File $PLUGINSDIR\System.dll
  3805.     ; SetDetailsPrint lastused
  3806.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  3807.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  3808.   ReadRegStr $_0_ HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag InstallLocation
  3809.   StrCmp $_0_ "" 0 label_3069
  3810.   StrCpy $_0_ $INSTDIR
  3811. label_3069:
  3812.   Push $R1
  3813.   DetailPrint "Collecting previous selections from registry ..."
  3814.   ClearErrors
  3815.   ReadRegStr $R1 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallBoot
  3816.   IfErrors label_3092
  3817.   StrCmp $R1 1 0 label_3084
  3818.   Push $0
  3819.   Push $1
  3820.   StrCpy $1 2
  3821.   SectionGetFlags $1 $0
  3822.   IntOp $0 $0 | 1
  3823.   SectionSetFlags $1 $0
  3824.   Pop $1
  3825.   Pop $0
  3826.   Goto label_3092
  3827. label_3084:
  3828.   Push $0
  3829.   Push $1
  3830.   StrCpy $1 2
  3831.   SectionGetFlags $1 $0
  3832.   IntOp $0 $0 & 0xFFFFFFFE
  3833.   SectionSetFlags $1 $0
  3834.   Pop $1
  3835.   Pop $0
  3836. label_3092:
  3837.   ClearErrors
  3838.   ReadRegStr $R1 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallConsole
  3839.   IfErrors label_3113
  3840.   StrCmp $R1 1 0 label_3105
  3841.   Push $0
  3842.   Push $1
  3843.   StrCpy $1 3
  3844.   SectionGetFlags $1 $0
  3845.   IntOp $0 $0 | 1
  3846.   SectionSetFlags $1 $0
  3847.   Pop $1
  3848.   Pop $0
  3849.   Goto label_3113
  3850. label_3105:
  3851.   Push $0
  3852.   Push $1
  3853.   StrCpy $1 3
  3854.   SectionGetFlags $1 $0
  3855.   IntOp $0 $0 & 0xFFFFFFFE
  3856.   SectionSetFlags $1 $0
  3857.   Pop $1
  3858.   Pop $0
  3859. label_3113:
  3860.   ClearErrors
  3861.   ReadRegStr $R1 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallGUI
  3862.   IfErrors label_3134
  3863.   StrCmp $R1 1 0 label_3126
  3864.   Push $0
  3865.   Push $1
  3866.   StrCpy $1 4
  3867.   SectionGetFlags $1 $0
  3868.   IntOp $0 $0 | 1
  3869.   SectionSetFlags $1 $0
  3870.   Pop $1
  3871.   Pop $0
  3872.   Goto label_3134
  3873. label_3126:
  3874.   Push $0
  3875.   Push $1
  3876.   StrCpy $1 4
  3877.   SectionGetFlags $1 $0
  3878.   IntOp $0 $0 & 0xFFFFFFFE
  3879.   SectionSetFlags $1 $0
  3880.   Pop $1
  3881.   Pop $0
  3882. label_3134:
  3883.   ClearErrors
  3884.   ReadRegStr $R1 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallHelp
  3885.   IfErrors label_3155
  3886.   StrCmp $R1 1 0 label_3147
  3887.   Push $0
  3888.   Push $1
  3889.   StrCpy $1 8
  3890.   SectionGetFlags $1 $0
  3891.   IntOp $0 $0 | 1
  3892.   SectionSetFlags $1 $0
  3893.   Pop $1
  3894.   Pop $0
  3895.   Goto label_3155
  3896. label_3147:
  3897.   Push $0
  3898.   Push $1
  3899.   StrCpy $1 8
  3900.   SectionGetFlags $1 $0
  3901.   IntOp $0 $0 & 0xFFFFFFFE
  3902.   SectionSetFlags $1 $0
  3903.   Pop $1
  3904.   Pop $0
  3905. label_3155:
  3906.   ClearErrors
  3907.   ReadRegStr $R1 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallShellHandler
  3908.   IfErrors label_3176
  3909.   StrCmp $R1 1 0 label_3168
  3910.   Push $0
  3911.   Push $1
  3912.   StrCpy $1 7
  3913.   SectionGetFlags $1 $0
  3914.   IntOp $0 $0 | 1
  3915.   SectionSetFlags $1 $0
  3916.   Pop $1
  3917.   Pop $0
  3918.   Goto label_3176
  3919. label_3168:
  3920.   Push $0
  3921.   Push $1
  3922.   StrCpy $1 7
  3923.   SectionGetFlags $1 $0
  3924.   IntOp $0 $0 & 0xFFFFFFFE
  3925.   SectionSetFlags $1 $0
  3926.   Pop $1
  3927.   Pop $0
  3928. label_3176:
  3929.   ClearErrors
  3930.   ReadRegStr $R1 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallUsageTracking
  3931.   IfErrors label_3197
  3932.   StrCmp $R1 1 0 label_3189
  3933.   Push $0
  3934.   Push $1
  3935.   StrCpy $1 15
  3936.   SectionGetFlags $1 $0
  3937.   IntOp $0 $0 | 1
  3938.   SectionSetFlags $1 $0
  3939.   Pop $1
  3940.   Pop $0
  3941.   Goto label_3197
  3942. label_3189:
  3943.   Push $0
  3944.   Push $1
  3945.   StrCpy $1 15
  3946.   SectionGetFlags $1 $0
  3947.   IntOp $0 $0 & 0xFFFFFFFE
  3948.   SectionSetFlags $1 $0
  3949.   Pop $1
  3950.   Pop $0
  3951. label_3197:
  3952.   ClearErrors
  3953.   ReadRegStr $R1 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallStartMenuIcon
  3954.   IfErrors label_3218
  3955.   StrCmp $R1 1 0 label_3210
  3956.   Push $0
  3957.   Push $1
  3958.   StrCpy $1 10
  3959.   SectionGetFlags $1 $0
  3960.   IntOp $0 $0 | 1
  3961.   SectionSetFlags $1 $0
  3962.   Pop $1
  3963.   Pop $0
  3964.   Goto label_3218
  3965. label_3210:
  3966.   Push $0
  3967.   Push $1
  3968.   StrCpy $1 10
  3969.   SectionGetFlags $1 $0
  3970.   IntOp $0 $0 & 0xFFFFFFFE
  3971.   SectionSetFlags $1 $0
  3972.   Pop $1
  3973.   Pop $0
  3974. label_3218:
  3975.   ClearErrors
  3976.   ReadRegStr $R1 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallDesktopIcon
  3977.   IfErrors label_3239
  3978.   StrCmp $R1 1 0 label_3231
  3979.   Push $0
  3980.   Push $1
  3981.   StrCpy $1 11
  3982.   SectionGetFlags $1 $0
  3983.   IntOp $0 $0 | 1
  3984.   SectionSetFlags $1 $0
  3985.   Pop $1
  3986.   Pop $0
  3987.   Goto label_3239
  3988. label_3231:
  3989.   Push $0
  3990.   Push $1
  3991.   StrCpy $1 11
  3992.   SectionGetFlags $1 $0
  3993.   IntOp $0 $0 & 0xFFFFFFFE
  3994.   SectionSetFlags $1 $0
  3995.   Pop $1
  3996.   Pop $0
  3997. label_3239:
  3998.   ClearErrors
  3999.   ReadRegStr $R1 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallQuickLaunchIcon
  4000.   IfErrors label_3260
  4001.   StrCmp $R1 1 0 label_3252
  4002.   Push $0
  4003.   Push $1
  4004.   StrCpy $1 12
  4005.   SectionGetFlags $1 $0
  4006.   IntOp $0 $0 | 1
  4007.   SectionSetFlags $1 $0
  4008.   Pop $1
  4009.   Pop $0
  4010.   Goto label_3260
  4011. label_3252:
  4012.   Push $0
  4013.   Push $1
  4014.   StrCpy $1 12
  4015.   SectionGetFlags $1 $0
  4016.   IntOp $0 $0 & 0xFFFFFFFE
  4017.   SectionSetFlags $1 $0
  4018.   Pop $1
  4019.   Pop $0
  4020. label_3260:
  4021.   ClearErrors
  4022.   ReadRegStr $R1 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallPortableEdition
  4023.   IfErrors label_3281
  4024.   StrCmp $R1 1 0 label_3273
  4025.   Push $0
  4026.   Push $1
  4027.   StrCpy $1 14
  4028.   SectionGetFlags $1 $0
  4029.   IntOp $0 $0 | 1
  4030.   SectionSetFlags $1 $0
  4031.   Pop $1
  4032.   Pop $0
  4033.   Goto label_3281
  4034. label_3273:
  4035.   Push $0
  4036.   Push $1
  4037.   StrCpy $1 14
  4038.   SectionGetFlags $1 $0
  4039.   IntOp $0 $0 & 0xFFFFFFFE
  4040.   SectionSetFlags $1 $0
  4041.   Pop $1
  4042.   Pop $0
  4043. label_3281:
  4044.   ClearErrors
  4045.   ReadRegStr $R1 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallAutoDefrag
  4046.   IfErrors label_3302
  4047.   StrCmp $R1 1 0 label_3294
  4048.   Push $0
  4049.   Push $1
  4050.   StrCpy $1 6
  4051.   SectionGetFlags $1 $0
  4052.   IntOp $0 $0 | 1
  4053.   SectionSetFlags $1 $0
  4054.   Pop $1
  4055.   Pop $0
  4056.   Goto label_3302
  4057. label_3294:
  4058.   Push $0
  4059.   Push $1
  4060.   StrCpy $1 6
  4061.   SectionGetFlags $1 $0
  4062.   IntOp $0 $0 & 0xFFFFFFFE
  4063.   SectionSetFlags $1 $0
  4064.   Pop $1
  4065.   Pop $0
  4066. label_3302:
  4067.   Pop $R1
  4068.   Push $R0
  4069.   Push $R1
  4070.   DetailPrint "Collecting selections from the command line ..."
  4071.   Call :label_3308
  4072.   Goto label_3341
  4073. label_3308:
  4074.   StrCmp $CMDLINE "" 0 label_3311
  4075.   Push ""
  4076.   Return
  4077.  
  4078. label_3311:
  4079.   Push $0
  4080.   Push $1
  4081.   Push $2
  4082.   Push $3
  4083.   StrLen $1 $CMDLINE
  4084.   StrCpy $2 2
  4085.   StrCpy $3 $CMDLINE 1
  4086.   StrCmp $3 $\" label_3320
  4087.   StrCpy $3 " "
  4088. label_3320:
  4089.   IntCmp $2 $1 label_3324 0 label_3324
  4090.   StrCpy $0 $CMDLINE 1 $2
  4091.   IntOp $2 $2 + 1
  4092.   StrCmp $3 $0 0 label_3320
  4093. label_3324:
  4094.   IntCmp $2 $1 label_3329 0 label_3329
  4095.   StrCpy $0 $CMDLINE 1 $2
  4096.   StrCmp $0 " " 0 label_3329
  4097.   IntOp $2 $2 + 1
  4098.   Goto label_3324
  4099. label_3329:
  4100.   StrCpy $0 $CMDLINE "" $2
  4101. label_3330:
  4102.   StrCpy $1 $0 1 -1
  4103.   StrCmp $1 " " 0 label_3334
  4104.   StrCpy $0 $0 -1
  4105.   Goto label_3330
  4106. label_3334:
  4107.   Pop $3
  4108.   Pop $2
  4109.   Pop $1
  4110.   Exch $0
  4111.     ; Push $0
  4112.     ; Exch
  4113.     ; Pop $0
  4114.   Return
  4115.  
  4116. label_3341:
  4117.   Pop $R0
  4118.   ClearErrors
  4119.   Push $R0
  4120.   Push /FULL=
  4121.   Call :label_3347
  4122.   Goto label_3436
  4123. label_3347:
  4124.   Exch $1
  4125.     ; Push $1
  4126.     ; Exch
  4127.     ; Pop $1
  4128.   Exch
  4129.   Exch $0
  4130.     ; Push $0
  4131.     ; Exch
  4132.     ; Pop $0
  4133.   Exch
  4134.   Push $2
  4135.   Push $3
  4136.   Push $4
  4137.   Push $5
  4138.   Push $6
  4139.   Push $7
  4140.   ClearErrors
  4141.   StrCpy $2 $1 "" 1
  4142.   StrCpy $1 $1 1
  4143.   StrLen $3 $2
  4144.   StrCpy $7 0
  4145. label_3366:
  4146.   StrCpy $4 -1
  4147.   StrCpy $6 ""
  4148. label_3368:
  4149.   IntOp $4 $4 + 1
  4150.   StrCpy $5 $0 1 $4
  4151.   StrCmp $5$7 0 label_3423
  4152.   StrCmp $5 "" label_3410
  4153.   StrCmp $5 $\" 0 label_3379
  4154.   StrCmp $6 "" 0 label_3376
  4155.   StrCpy $6 $\"
  4156.   Goto label_3368
  4157. label_3376:
  4158.   StrCmp $6 $\" 0 label_3379
  4159.   StrCpy $6 ""
  4160.   Goto label_3368
  4161. label_3379:
  4162.   StrCmp $5 ' 0 label_3386
  4163.   StrCmp $6 "" 0 label_3383
  4164.   StrCpy $6 '
  4165.   Goto label_3368
  4166. label_3383:
  4167.   StrCmp $6 ' 0 label_3386
  4168.   StrCpy $6 ""
  4169.   Goto label_3368
  4170. label_3386:
  4171.   StrCmp $5 ` 0 label_3393
  4172.   StrCmp $6 "" 0 label_3390
  4173.   StrCpy $6 `
  4174.   Goto label_3368
  4175. label_3390:
  4176.   StrCmp $6 ` 0 label_3393
  4177.   StrCpy $6 ""
  4178.   Goto label_3368
  4179. label_3393:
  4180.   StrCmp $6 $\" label_3368
  4181.   StrCmp $6 ' label_3368
  4182.   StrCmp $6 ` label_3368
  4183.   StrCmp $5 $1 0 label_3368
  4184.   StrCmp $7 0 label_3398 label_3410
  4185. label_3398:
  4186.   IntOp $4 $4 + 1
  4187.   StrCpy $5 $0 $3 $4
  4188.   StrCmp $5 "" label_3423
  4189.   StrCmp $5 $2 0 label_3368
  4190.   IntOp $4 $4 + $3
  4191.   StrCpy $0 $0 "" $4
  4192. label_3404:
  4193.   StrCpy $4 $0 1
  4194.   StrCmp $4 " " 0 label_3408
  4195.   StrCpy $0 $0 "" 1
  4196.   Goto label_3404
  4197. label_3408:
  4198.   StrCpy $7 1
  4199.   Goto label_3366
  4200. label_3410:
  4201.   StrCpy $0 $0 $4
  4202. label_3411:
  4203.   StrCpy $4 $0 1 -1
  4204.   StrCmp $4 " " 0 label_3415
  4205.   StrCpy $0 $0 -1
  4206.   Goto label_3411
  4207. label_3415:
  4208.   StrCpy $3 $0 1
  4209.   StrCpy $4 $0 1 -1
  4210.   StrCmp $3 $4 0 label_3425
  4211.   StrCmp $3 $\" label_3421
  4212.   StrCmp $3 ' label_3421
  4213.   StrCmp $3 ` 0 label_3425
  4214. label_3421:
  4215.   StrCpy $0 $0 -1 1
  4216.   Goto label_3425
  4217. label_3423:
  4218.   SetErrors
  4219.   StrCpy $0 ""
  4220. label_3425:
  4221.   Pop $7
  4222.   Pop $6
  4223.   Pop $5
  4224.   Pop $4
  4225.   Pop $3
  4226.   Pop $2
  4227.   Pop $1
  4228.   Exch $0
  4229.     ; Push $0
  4230.     ; Exch
  4231.     ; Pop $0
  4232.   Return
  4233.  
  4234. label_3436:
  4235.   Pop $R1
  4236.   IfErrors label_3439
  4237.   SetCurInstType 0
  4238. label_3439:
  4239.   ClearErrors
  4240.   Push $R0
  4241.   Push /MICRO=
  4242.   Call :label_3347
  4243.   Pop $R1
  4244.   IfErrors label_3446
  4245.   SetCurInstType 1
  4246. label_3446:
  4247.   ClearErrors
  4248.   Push $R0
  4249.   Push /ICONS=
  4250.   Call :label_3347
  4251.   Pop $R1
  4252.   IfErrors label_3470
  4253.   StrCmp $R1 1 0 label_3462
  4254.   Push $0
  4255.   Push $1
  4256.   StrCpy $1 9
  4257.   SectionGetFlags $1 $0
  4258.   IntOp $0 $0 | 1
  4259.   SectionSetFlags $1 $0
  4260.   Pop $1
  4261.   Pop $0
  4262.   Goto label_3470
  4263. label_3462:
  4264.   Push $0
  4265.   Push $1
  4266.   StrCpy $1 9
  4267.   SectionGetFlags $1 $0
  4268.   IntOp $0 $0 & 0xFFFFFFFE
  4269.   SectionSetFlags $1 $0
  4270.   Pop $1
  4271.   Pop $0
  4272. label_3470:
  4273.   ClearErrors
  4274.   Push $R0
  4275.   Push /BOOT=
  4276.   Call :label_3347
  4277.   Pop $R1
  4278.   IfErrors label_3494
  4279.   StrCmp $R1 1 0 label_3486
  4280.   Push $0
  4281.   Push $1
  4282.   StrCpy $1 2
  4283.   SectionGetFlags $1 $0
  4284.   IntOp $0 $0 | 1
  4285.   SectionSetFlags $1 $0
  4286.   Pop $1
  4287.   Pop $0
  4288.   Goto label_3494
  4289. label_3486:
  4290.   Push $0
  4291.   Push $1
  4292.   StrCpy $1 2
  4293.   SectionGetFlags $1 $0
  4294.   IntOp $0 $0 & 0xFFFFFFFE
  4295.   SectionSetFlags $1 $0
  4296.   Pop $1
  4297.   Pop $0
  4298. label_3494:
  4299.   ClearErrors
  4300.   Push $R0
  4301.   Push /CONSOLE=
  4302.   Call :label_3347
  4303.   Pop $R1
  4304.   IfErrors label_3534
  4305.   StrCmp $R1 1 0 label_3510
  4306.   Push $0
  4307.   Push $1
  4308.   StrCpy $1 3
  4309.   SectionGetFlags $1 $0
  4310.   IntOp $0 $0 | 1
  4311.   SectionSetFlags $1 $0
  4312.   Pop $1
  4313.   Pop $0
  4314.   Goto label_3534
  4315. label_3510:
  4316.   Push $0
  4317.   Push $1
  4318.   StrCpy $1 3
  4319.   SectionGetFlags $1 $0
  4320.   IntOp $0 $0 & 0xFFFFFFFE
  4321.   SectionSetFlags $1 $0
  4322.   Pop $1
  4323.   Pop $0
  4324.   Push $0
  4325.   Push $1
  4326.   StrCpy $1 7
  4327.   SectionGetFlags $1 $0
  4328.   IntOp $0 $0 & 0xFFFFFFFE
  4329.   SectionSetFlags $1 $0
  4330.   Pop $1
  4331.   Pop $0
  4332.   Push $0
  4333.   Push $1
  4334.   StrCpy $1 6
  4335.   SectionGetFlags $1 $0
  4336.   IntOp $0 $0 & 0xFFFFFFFE
  4337.   SectionSetFlags $1 $0
  4338.   Pop $1
  4339.   Pop $0
  4340. label_3534:
  4341.   ClearErrors
  4342.   Push $R0
  4343.   Push /GUI=
  4344.   Call :label_3347
  4345.   Pop $R1
  4346.   IfErrors label_3566
  4347.   StrCmp $R1 1 0 label_3550
  4348.   Push $0
  4349.   Push $1
  4350.   StrCpy $1 4
  4351.   SectionGetFlags $1 $0
  4352.   IntOp $0 $0 | 1
  4353.   SectionSetFlags $1 $0
  4354.   Pop $1
  4355.   Pop $0
  4356.   Goto label_3566
  4357. label_3550:
  4358.   Push $0
  4359.   Push $1
  4360.   StrCpy $1 4
  4361.   SectionGetFlags $1 $0
  4362.   IntOp $0 $0 & 0xFFFFFFFE
  4363.   SectionSetFlags $1 $0
  4364.   Pop $1
  4365.   Pop $0
  4366.   Push $0
  4367.   Push $1
  4368.   StrCpy $1 9
  4369.   SectionGetFlags $1 $0
  4370.   IntOp $0 $0 & 0xFFFFFFFE
  4371.   SectionSetFlags $1 $0
  4372.   Pop $1
  4373.   Pop $0
  4374. label_3566:
  4375.   ClearErrors
  4376.   Push $R0
  4377.   Push /HELP=
  4378.   Call :label_3347
  4379.   Pop $R1
  4380.   IfErrors label_3590
  4381.   StrCmp $R1 1 0 label_3582
  4382.   Push $0
  4383.   Push $1
  4384.   StrCpy $1 8
  4385.   SectionGetFlags $1 $0
  4386.   IntOp $0 $0 | 1
  4387.   SectionSetFlags $1 $0
  4388.   Pop $1
  4389.   Pop $0
  4390.   Goto label_3590
  4391. label_3582:
  4392.   Push $0
  4393.   Push $1
  4394.   StrCpy $1 8
  4395.   SectionGetFlags $1 $0
  4396.   IntOp $0 $0 & 0xFFFFFFFE
  4397.   SectionSetFlags $1 $0
  4398.   Pop $1
  4399.   Pop $0
  4400. label_3590:
  4401.   ClearErrors
  4402.   Push $R0
  4403.   Push /SHELLEXTENSION=
  4404.   Call :label_3347
  4405.   Pop $R1
  4406.   IfErrors label_3622
  4407.   StrCmp $R1 1 0 label_3614
  4408.   Push $0
  4409.   Push $1
  4410.   StrCpy $1 7
  4411.   SectionGetFlags $1 $0
  4412.   IntOp $0 $0 | 1
  4413.   SectionSetFlags $1 $0
  4414.   Pop $1
  4415.   Pop $0
  4416.   Push $0
  4417.   Push $1
  4418.   StrCpy $1 3
  4419.   SectionGetFlags $1 $0
  4420.   IntOp $0 $0 | 1
  4421.   SectionSetFlags $1 $0
  4422.   Pop $1
  4423.   Pop $0
  4424.   Goto label_3622
  4425. label_3614:
  4426.   Push $0
  4427.   Push $1
  4428.   StrCpy $1 7
  4429.   SectionGetFlags $1 $0
  4430.   IntOp $0 $0 & 0xFFFFFFFE
  4431.   SectionSetFlags $1 $0
  4432.   Pop $1
  4433.   Pop $0
  4434. label_3622:
  4435.   ClearErrors
  4436.   Push $R0
  4437.   Push /DISABLE_USAGE_TRACKING=
  4438.   Call :label_3347
  4439.   Pop $R1
  4440.   IfErrors label_3646
  4441.   StrCmp $R1 1 0 label_3638
  4442.   Push $0
  4443.   Push $1
  4444.   StrCpy $1 15
  4445.   SectionGetFlags $1 $0
  4446.   IntOp $0 $0 | 1
  4447.   SectionSetFlags $1 $0
  4448.   Pop $1
  4449.   Pop $0
  4450.   Goto label_3646
  4451. label_3638:
  4452.   Push $0
  4453.   Push $1
  4454.   StrCpy $1 15
  4455.   SectionGetFlags $1 $0
  4456.   IntOp $0 $0 & 0xFFFFFFFE
  4457.   SectionSetFlags $1 $0
  4458.   Pop $1
  4459.   Pop $0
  4460. label_3646:
  4461.   ClearErrors
  4462.   Push $R0
  4463.   Push /STARTMENUICON=
  4464.   Call :label_3347
  4465.   Pop $R1
  4466.   IfErrors label_3678
  4467.   StrCmp $R1 1 0 label_3670
  4468.   Push $0
  4469.   Push $1
  4470.   StrCpy $1 10
  4471.   SectionGetFlags $1 $0
  4472.   IntOp $0 $0 | 1
  4473.   SectionSetFlags $1 $0
  4474.   Pop $1
  4475.   Pop $0
  4476.   Push $0
  4477.   Push $1
  4478.   StrCpy $1 4
  4479.   SectionGetFlags $1 $0
  4480.   IntOp $0 $0 | 1
  4481.   SectionSetFlags $1 $0
  4482.   Pop $1
  4483.   Pop $0
  4484.   Goto label_3678
  4485. label_3670:
  4486.   Push $0
  4487.   Push $1
  4488.   StrCpy $1 10
  4489.   SectionGetFlags $1 $0
  4490.   IntOp $0 $0 & 0xFFFFFFFE
  4491.   SectionSetFlags $1 $0
  4492.   Pop $1
  4493.   Pop $0
  4494. label_3678:
  4495.   ClearErrors
  4496.   Push $R0
  4497.   Push /DESKTOPICON=
  4498.   Call :label_3347
  4499.   Pop $R1
  4500.   IfErrors label_3710
  4501.   StrCmp $R1 1 0 label_3702
  4502.   Push $0
  4503.   Push $1
  4504.   StrCpy $1 11
  4505.   SectionGetFlags $1 $0
  4506.   IntOp $0 $0 | 1
  4507.   SectionSetFlags $1 $0
  4508.   Pop $1
  4509.   Pop $0
  4510.   Push $0
  4511.   Push $1
  4512.   StrCpy $1 4
  4513.   SectionGetFlags $1 $0
  4514.   IntOp $0 $0 | 1
  4515.   SectionSetFlags $1 $0
  4516.   Pop $1
  4517.   Pop $0
  4518.   Goto label_3710
  4519. label_3702:
  4520.   Push $0
  4521.   Push $1
  4522.   StrCpy $1 11
  4523.   SectionGetFlags $1 $0
  4524.   IntOp $0 $0 & 0xFFFFFFFE
  4525.   SectionSetFlags $1 $0
  4526.   Pop $1
  4527.   Pop $0
  4528. label_3710:
  4529.   ClearErrors
  4530.   Push $R0
  4531.   Push /QUICKLAUNCHICON=
  4532.   Call :label_3347
  4533.   Pop $R1
  4534.   IfErrors label_3742
  4535.   StrCmp $R1 1 0 label_3734
  4536.   Push $0
  4537.   Push $1
  4538.   StrCpy $1 12
  4539.   SectionGetFlags $1 $0
  4540.   IntOp $0 $0 | 1
  4541.   SectionSetFlags $1 $0
  4542.   Pop $1
  4543.   Pop $0
  4544.   Push $0
  4545.   Push $1
  4546.   StrCpy $1 4
  4547.   SectionGetFlags $1 $0
  4548.   IntOp $0 $0 | 1
  4549.   SectionSetFlags $1 $0
  4550.   Pop $1
  4551.   Pop $0
  4552.   Goto label_3742
  4553. label_3734:
  4554.   Push $0
  4555.   Push $1
  4556.   StrCpy $1 12
  4557.   SectionGetFlags $1 $0
  4558.   IntOp $0 $0 & 0xFFFFFFFE
  4559.   SectionSetFlags $1 $0
  4560.   Pop $1
  4561.   Pop $0
  4562. label_3742:
  4563.   ClearErrors
  4564.   Push $R0
  4565.   Push /EXTRACTPE=
  4566.   Call :label_3347
  4567.   Pop $R1
  4568.   IfErrors label_3766
  4569.   StrCmp $R1 1 0 label_3758
  4570.   Push $0
  4571.   Push $1
  4572.   StrCpy $1 14
  4573.   SectionGetFlags $1 $0
  4574.   IntOp $0 $0 | 1
  4575.   SectionSetFlags $1 $0
  4576.   Pop $1
  4577.   Pop $0
  4578.   Goto label_3766
  4579. label_3758:
  4580.   Push $0
  4581.   Push $1
  4582.   StrCpy $1 14
  4583.   SectionGetFlags $1 $0
  4584.   IntOp $0 $0 & 0xFFFFFFFE
  4585.   SectionSetFlags $1 $0
  4586.   Pop $1
  4587.   Pop $0
  4588. label_3766:
  4589.   ClearErrors
  4590.   Push $R0
  4591.   Push /AUTODEFRAG=
  4592.   Call :label_3347
  4593.   Pop $R1
  4594.   IfErrors label_3798
  4595.   StrCmp $R1 1 0 label_3790
  4596.   Push $0
  4597.   Push $1
  4598.   StrCpy $1 6
  4599.   SectionGetFlags $1 $0
  4600.   IntOp $0 $0 | 1
  4601.   SectionSetFlags $1 $0
  4602.   Pop $1
  4603.   Pop $0
  4604.   Push $0
  4605.   Push $1
  4606.   StrCpy $1 3
  4607.   SectionGetFlags $1 $0
  4608.   IntOp $0 $0 | 1
  4609.   SectionSetFlags $1 $0
  4610.   Pop $1
  4611.   Pop $0
  4612.   Goto label_3798
  4613. label_3790:
  4614.   Push $0
  4615.   Push $1
  4616.   StrCpy $1 6
  4617.   SectionGetFlags $1 $0
  4618.   IntOp $0 $0 & 0xFFFFFFFE
  4619.   SectionSetFlags $1 $0
  4620.   Pop $1
  4621.   Pop $0
  4622. label_3798:
  4623.   SectionGetFlags 2 $_72_
  4624.   IntOp $_72_ $_72_ & 1
  4625.   IntCmp $_72_ 1 label_3815
  4626.   SectionGetFlags 3 $_72_
  4627.   IntOp $_72_ $_72_ & 1
  4628.   IntCmp $_72_ 1 label_3815
  4629.   SectionGetFlags 4 $_72_
  4630.   IntOp $_72_ $_72_ & 1
  4631.   IntCmp $_72_ 1 label_3815
  4632.   Push $0
  4633.   Push $1
  4634.   StrCpy $1 4
  4635.   SectionGetFlags $1 $0
  4636.   IntOp $0 $0 | 1
  4637.   SectionSetFlags $1 $0
  4638.   Pop $1
  4639.   Pop $0
  4640. label_3815:
  4641.   Pop $R1
  4642.   Pop $R0
  4643.   Push $R0
  4644.   Push $R1
  4645.   StrCpy $_18_ ""
  4646.   StrCpy $_19_ ""
  4647.   ClearErrors
  4648.   ReadINIStr $R0 $_0_\user.ini Registration UserName
  4649.   IfErrors label_3825
  4650.   StrCpy $_18_ $R0
  4651. label_3825:
  4652.   ClearErrors
  4653.   ReadINIStr $R0 $_0_\user.ini Registration Password
  4654.   IfErrors label_3829
  4655.   StrCpy $_19_ $R0
  4656. label_3829:
  4657.   Call :label_3308
  4658.   Pop $R0
  4659.   ClearErrors
  4660.   Push $R0
  4661.   Push /NAME=
  4662.   Call :label_3347
  4663.   Pop $R1
  4664.   IfErrors label_3838
  4665.   StrCpy $_18_ $R1
  4666. label_3838:
  4667.   ClearErrors
  4668.   Push $R0
  4669.   Push /PASSWORD=
  4670.   Call :label_3347
  4671.   Pop $R1
  4672.   IfErrors label_3845
  4673.   StrCpy $_19_ $R1
  4674. label_3845:
  4675.   IfSilent 0 label_4137
  4676.   Push $R0
  4677.   StrCpy $_2_ 0
  4678.   StrCmp $_18_ "" 0 label_3850
  4679.   Goto label_3851
  4680. label_3850:
  4681.   StrCmp $_19_ "" 0 label_3894
  4682. label_3851:
  4683.   IfSilent 0 label_3892
  4684.   Push $R0
  4685.   Push $R1
  4686.   Push $R2
  4687.   Push $R3
  4688.   Call :label_83
  4689.   IntOp $R1 $_22_ & 0x7F000000
  4690.   IntOp $R1 $R1 >> 24
  4691.   Call :label_83
  4692.   IntOp $R2 $_22_ & 0x00FF0000
  4693.   IntOp $R2 $R2 >> 16
  4694.   Call :label_83
  4695.   IntOp $R3 $_23_ & 0x0000FFFF
  4696.   ClearErrors
  4697.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  4698.   IfErrors label_3888
  4699.   FileWrite $R0 $\r$\n
  4700.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  4701.   FileWrite $R0 $\r$\n
  4702.   FileWrite $R0 "Error Message ..... Invalid username or password!$\r$\n"
  4703.   FileWrite $R0 $\r$\n
  4704.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  4705.   FileWrite $R0 $\r$\n
  4706.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  4707.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  4708.   FileWrite $R0 $\r$\n
  4709.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  4710.   FileWrite $R0 $\r$\n
  4711.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  4712.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  4713.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  4714.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  4715.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  4716.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  4717.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  4718.   FileWrite $R0 $\r$\n
  4719.   FileClose $R0
  4720. label_3888:
  4721.   Pop $R3
  4722.   Pop $R2
  4723.   Pop $R1
  4724.   Pop $R0
  4725. label_3892:
  4726.   MessageBox MB_OK|MB_ICONSTOP "Invalid username or password!" /SD IDOK
  4727.   Goto label_4134
  4728. label_3894:
  4729.   SetOutPath $PLUGINSDIR
  4730.   ClearErrors
  4731.   StrCmp $_24_ amd64 0 label_3899
  4732.   SetOverwrite on
  4733.   File zenwinx.dll
  4734.   Goto label_3903
  4735. label_3899:
  4736.   StrCmp $_24_ ia64 0 label_3902
  4737.   File zenwinx.dll
  4738.   Goto label_3903
  4739. label_3902:
  4740.   File zenwinx.dll
  4741. label_3903:
  4742.   IfErrors 0 label_3947
  4743.   IfSilent 0 label_3945
  4744.   Push $R0
  4745.   Push $R1
  4746.   Push $R2
  4747.   Push $R3
  4748.   Call :label_83
  4749.   IntOp $R1 $_22_ & 0x7F000000
  4750.   IntOp $R1 $R1 >> 24
  4751.   Call :label_83
  4752.   IntOp $R2 $_22_ & 0x00FF0000
  4753.   IntOp $R2 $R2 >> 16
  4754.   Call :label_83
  4755.   IntOp $R3 $_23_ & 0x0000FFFF
  4756.   ClearErrors
  4757.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  4758.   IfErrors label_3941
  4759.   FileWrite $R0 $\r$\n
  4760.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  4761.   FileWrite $R0 $\r$\n
  4762.   FileWrite $R0 "Error Message ..... Unable to extract zenwinx.dll file to $PLUGINSDIR folder!$\r$\n"
  4763.   FileWrite $R0 $\r$\n
  4764.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  4765.   FileWrite $R0 $\r$\n
  4766.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  4767.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  4768.   FileWrite $R0 $\r$\n
  4769.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  4770.   FileWrite $R0 $\r$\n
  4771.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  4772.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  4773.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  4774.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  4775.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  4776.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  4777.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  4778.   FileWrite $R0 $\r$\n
  4779.   FileClose $R0
  4780. label_3941:
  4781.   Pop $R3
  4782.   Pop $R2
  4783.   Pop $R1
  4784.   Pop $R0
  4785. label_3945:
  4786.   MessageBox MB_OK|MB_ICONSTOP "Unable to extract zenwinx.dll file to $PLUGINSDIR folder!" /SD IDOK
  4787.   Goto label_4134
  4788. label_3947:
  4789.   ClearErrors
  4790.   StrCmp $_24_ amd64 0 label_3951
  4791.   File udefrag-dbg.exe
  4792.   Goto label_3955
  4793. label_3951:
  4794.   StrCmp $_24_ ia64 0 label_3954
  4795.   File udefrag-dbg.exe
  4796.   Goto label_3955
  4797. label_3954:
  4798.   File udefrag-dbg.exe
  4799. label_3955:
  4800.   IfErrors 0 label_3999
  4801.   IfSilent 0 label_3997
  4802.   Push $R0
  4803.   Push $R1
  4804.   Push $R2
  4805.   Push $R3
  4806.   Call :label_83
  4807.   IntOp $R1 $_22_ & 0x7F000000
  4808.   IntOp $R1 $R1 >> 24
  4809.   Call :label_83
  4810.   IntOp $R2 $_22_ & 0x00FF0000
  4811.   IntOp $R2 $R2 >> 16
  4812.   Call :label_83
  4813.   IntOp $R3 $_23_ & 0x0000FFFF
  4814.   ClearErrors
  4815.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  4816.   IfErrors label_3993
  4817.   FileWrite $R0 $\r$\n
  4818.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  4819.   FileWrite $R0 $\r$\n
  4820.   FileWrite $R0 "Error Message ..... Unable to extract udefrag-dbg.exe file to $PLUGINSDIR folder!$\r$\n"
  4821.   FileWrite $R0 $\r$\n
  4822.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  4823.   FileWrite $R0 $\r$\n
  4824.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  4825.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  4826.   FileWrite $R0 $\r$\n
  4827.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  4828.   FileWrite $R0 $\r$\n
  4829.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  4830.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  4831.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  4832.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  4833.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  4834.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  4835.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  4836.   FileWrite $R0 $\r$\n
  4837.   FileClose $R0
  4838. label_3993:
  4839.   Pop $R3
  4840.   Pop $R2
  4841.   Pop $R1
  4842.   Pop $R0
  4843. label_3997:
  4844.   MessageBox MB_OK|MB_ICONSTOP "Unable to extract udefrag-dbg.exe file to $PLUGINSDIR folder!" /SD IDOK
  4845.   Goto label_4134
  4846. label_3999:
  4847.   ClearErrors
  4848.   ExecWait "$\"$PLUGINSDIR\udefrag-dbg.exe$\" --check $\"$_18_$\" $\"$_19_$\"" $R0
  4849.   IfErrors 0 label_4045
  4850.   IfSilent 0 label_4043
  4851.   Push $R0
  4852.   Push $R1
  4853.   Push $R2
  4854.   Push $R3
  4855.   Call :label_83
  4856.   IntOp $R1 $_22_ & 0x7F000000
  4857.   IntOp $R1 $R1 >> 24
  4858.   Call :label_83
  4859.   IntOp $R2 $_22_ & 0x00FF0000
  4860.   IntOp $R2 $R2 >> 16
  4861.   Call :label_83
  4862.   IntOp $R3 $_23_ & 0x0000FFFF
  4863.   ClearErrors
  4864.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  4865.   IfErrors label_4039
  4866.   FileWrite $R0 $\r$\n
  4867.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  4868.   FileWrite $R0 $\r$\n
  4869.   FileWrite $R0 "Error Message ..... Unable to execute $PLUGINSDIR\udefrag-dbg.exe program!$\r$\n"
  4870.   FileWrite $R0 $\r$\n
  4871.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  4872.   FileWrite $R0 $\r$\n
  4873.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  4874.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  4875.   FileWrite $R0 $\r$\n
  4876.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  4877.   FileWrite $R0 $\r$\n
  4878.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  4879.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  4880.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  4881.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  4882.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  4883.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  4884.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  4885.   FileWrite $R0 $\r$\n
  4886.   FileClose $R0
  4887. label_4039:
  4888.   Pop $R3
  4889.   Pop $R2
  4890.   Pop $R1
  4891.   Pop $R0
  4892. label_4043:
  4893.   MessageBox MB_OK|MB_ICONSTOP "Unable to execute $PLUGINSDIR\udefrag-dbg.exe program!" /SD IDOK
  4894.   Goto label_4134
  4895. label_4045:
  4896.   StrCmp $R0 0 0 label_4048
  4897.   StrCpy $_2_ 1
  4898.   Goto label_4134
  4899. label_4048:
  4900.   StrCmp $R0 3 0 label_4092
  4901.   IfSilent 0 label_4090
  4902.   Push $R0
  4903.   Push $R1
  4904.   Push $R2
  4905.   Push $R3
  4906.   Call :label_83
  4907.   IntOp $R1 $_22_ & 0x7F000000
  4908.   IntOp $R1 $R1 >> 24
  4909.   Call :label_83
  4910.   IntOp $R2 $_22_ & 0x00FF0000
  4911.   IntOp $R2 $R2 >> 16
  4912.   Call :label_83
  4913.   IntOp $R3 $_23_ & 0x0000FFFF
  4914.   ClearErrors
  4915.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  4916.   IfErrors label_4086
  4917.   FileWrite $R0 $\r$\n
  4918.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  4919.   FileWrite $R0 $\r$\n
  4920.   FileWrite $R0 "Error Message ..... Invalid username or password!$\r$\n"
  4921.   FileWrite $R0 $\r$\n
  4922.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  4923.   FileWrite $R0 $\r$\n
  4924.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  4925.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  4926.   FileWrite $R0 $\r$\n
  4927.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  4928.   FileWrite $R0 $\r$\n
  4929.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  4930.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  4931.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  4932.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  4933.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  4934.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  4935.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  4936.   FileWrite $R0 $\r$\n
  4937.   FileClose $R0
  4938. label_4086:
  4939.   Pop $R3
  4940.   Pop $R2
  4941.   Pop $R1
  4942.   Pop $R0
  4943. label_4090:
  4944.   MessageBox MB_OK|MB_ICONSTOP "Invalid username or password!" /SD IDOK
  4945.   Goto label_4134
  4946. label_4092:
  4947.   IfSilent 0 label_4133
  4948.   Push $R0
  4949.   Push $R1
  4950.   Push $R2
  4951.   Push $R3
  4952.   Call :label_83
  4953.   IntOp $R1 $_22_ & 0x7F000000
  4954.   IntOp $R1 $R1 >> 24
  4955.   Call :label_83
  4956.   IntOp $R2 $_22_ & 0x00FF0000
  4957.   IntOp $R2 $R2 >> 16
  4958.   Call :label_83
  4959.   IntOp $R3 $_23_ & 0x0000FFFF
  4960.   ClearErrors
  4961.   FileOpen $R0 $TEMP\UltraDefrag_Install.log w
  4962.   IfErrors label_4129
  4963.   FileWrite $R0 $\r$\n
  4964.   FileWrite $R0 "This file contains information to debug installation problems.$\r$\n"
  4965.   FileWrite $R0 $\r$\n
  4966.   FileWrite $R0 "Error Message ..... Unable to check credentials!$\r$\n"
  4967.   FileWrite $R0 $\r$\n
  4968.   FileWrite $R0 "Command Line ...... $CMDLINE$\r$\n"
  4969.   FileWrite $R0 $\r$\n
  4970.   FileWrite $R0 "Installer Path .... $EXEPATH$\r$\n"
  4971.   FileWrite $R0 "Installer Type .... i386$\r$\n"
  4972.   FileWrite $R0 $\r$\n
  4973.   FileWrite $R0 "Windows Version ... $R1.$R2.$R3$\r$\n"
  4974.   FileWrite $R0 $\r$\n
  4975.   FileWrite $R0 "Install Dir ....... $INSTDIR$\r$\n"
  4976.   FileWrite $R0 "Output Dir ........ $OUTDIR$\r$\n"
  4977.   FileWrite $R0 "Old Install Dir ... $_0_$\r$\n"
  4978.   FileWrite $R0 "Windows Dir ....... $WINDIR$\r$\n"
  4979.   FileWrite $R0 "System Dir ........ $SYSDIR$\r$\n"
  4980.   FileWrite $R0 "Plugin Dir ........ $PLUGINSDIR$\r$\n"
  4981.   FileWrite $R0 "Temporary Dir ..... $TEMP$\r$\n"
  4982.   FileWrite $R0 $\r$\n
  4983.   FileClose $R0
  4984. label_4129:
  4985.   Pop $R3
  4986.   Pop $R2
  4987.   Pop $R1
  4988.   Pop $R0
  4989. label_4133:
  4990.   MessageBox MB_OK|MB_ICONSTOP "Unable to check credentials!" /SD IDOK
  4991. label_4134:
  4992.   Pop $R0
  4993.   StrCmp $_2_ 0 0 label_4137
  4994.   Abort
  4995. label_4137:
  4996.   Pop $R1
  4997.   Pop $R0
  4998.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  4999.     ; Call Initialize_____Plugins
  5000.     ; SetOverwrite off
  5001.     ; File $PLUGINSDIR\System.dll
  5002.     ; SetDetailsPrint lastused
  5003.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  5004.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5005.   Push $R0
  5006.   SectionGetSize 0 $R0
  5007.   IntOp $R0 $R0 / 3
  5008.   SectionSetSize 0 $R0
  5009.   Pop $R0
  5010.   Push $R0
  5011.   SectionGetSize 2 $R0
  5012.   IntOp $R0 $R0 / 3
  5013.   SectionSetSize 2 $R0
  5014.   Pop $R0
  5015.   Push $R0
  5016.   SectionGetSize 3 $R0
  5017.   IntOp $R0 $R0 / 3
  5018.   SectionSetSize 3 $R0
  5019.   Pop $R0
  5020.   Push $R0
  5021.   SectionGetSize 4 $R0
  5022.   IntOp $R0 $R0 / 3
  5023.   SectionSetSize 4 $R0
  5024.   Pop $R0
  5025.   Pop $R1
  5026.   Pop $R0
  5027. FunctionEnd
  5028.  
  5029.  
  5030. Function .onVerifyInstDir
  5031.   StrCpy $_1_ 1
  5032.   IfFileExists $INSTDIR\lua5.1a_gui.exe label_4186
  5033.   Push $R1
  5034.   Push $R2
  5035.   FindFirst $R1 $R2 $INSTDIR\*
  5036.   StrCmp $R1 "" label_4182
  5037.   StrCmp $R2 "" label_4181
  5038. label_4174:
  5039.   StrCmp $R2 . label_4177
  5040.   StrCmp $R2 .. label_4177
  5041.   Goto label_4181
  5042. label_4177:
  5043.   FindNext $R1 $R2
  5044. label_4178:
  5045.   Goto label_4174
  5046.   Goto label_4178
  5047.   Goto label_4181
  5048. label_4181:
  5049.   FindClose $R1
  5050. label_4182:
  5051.   StrCmp $R2 "" label_4184
  5052.   StrCpy $_1_ 0
  5053. label_4184:
  5054.   Pop $R2
  5055.   Pop $R1
  5056. label_4186:
  5057.   StrCmp $_1_ 1 label_4188
  5058.   Abort
  5059. label_4188:
  5060. FunctionEnd
  5061.  
  5062.  
  5063. Function .onSelChange
  5064.   SectionGetFlags 2 $_72_
  5065.   IntOp $_72_ $_72_ & 1
  5066.   IntCmp $_72_ 1 label_4206
  5067.   SectionGetFlags 3 $_72_
  5068.   IntOp $_72_ $_72_ & 1
  5069.   IntCmp $_72_ 1 label_4206
  5070.   SectionGetFlags 4 $_72_
  5071.   IntOp $_72_ $_72_ & 1
  5072.   IntCmp $_72_ 1 label_4206
  5073.   Push $0
  5074.   Push $1
  5075.   StrCpy $1 4
  5076.   SectionGetFlags $1 $0
  5077.   IntOp $0 $0 | 1
  5078.   SectionSetFlags $1 $0
  5079.   Pop $1
  5080.   Pop $0
  5081. label_4206:
  5082.   SectionGetFlags 4 $_72_
  5083.   IntOp $_72_ $_72_ & 1
  5084.   IntCmp $_72_ 1 label_4250
  5085.   Push $0
  5086.   Push $1
  5087.   StrCpy $1 9
  5088.   SectionGetFlags $1 $0
  5089.   IntOp $0 $0 & 0xFFFFFFFE
  5090.   SectionSetFlags $1 $0
  5091.   Pop $1
  5092.   Pop $0
  5093.   Push $R0
  5094.   Push $R1
  5095.   StrCpy $R1 9
  5096.   SectionGetFlags $R1 $R0
  5097.   IntOp $R0 $R0 | 16
  5098.   SectionSetFlags $R1 $R0
  5099.   Pop $R1
  5100.   Pop $R0
  5101.   Push $R0
  5102.   Push $R1
  5103.   StrCpy $R1 10
  5104.   SectionGetFlags $R1 $R0
  5105.   IntOp $R0 $R0 | 16
  5106.   SectionSetFlags $R1 $R0
  5107.   Pop $R1
  5108.   Pop $R0
  5109.   Push $R0
  5110.   Push $R1
  5111.   StrCpy $R1 11
  5112.   SectionGetFlags $R1 $R0
  5113.   IntOp $R0 $R0 | 16
  5114.   SectionSetFlags $R1 $R0
  5115.   Pop $R1
  5116.   Pop $R0
  5117.   Push $R0
  5118.   Push $R1
  5119.   StrCpy $R1 12
  5120.   SectionGetFlags $R1 $R0
  5121.   IntOp $R0 $R0 | 16
  5122.   SectionSetFlags $R1 $R0
  5123.   Pop $R1
  5124.   Pop $R0
  5125.   Goto label_4297
  5126. label_4250:
  5127.   SectionGetFlags 9 $_72_
  5128.   IntOp $_72_ $_72_ & 16
  5129.   IntCmp $_72_ 16 0 label_4297 label_4297
  5130.   Push $R0
  5131.   Push $R1
  5132.   Push $R2
  5133.   StrCpy $R2 9
  5134.   SectionGetFlags $R2 $R0
  5135.   IntOp $R1 16 ~    ; ^ 0xFFFFFFFF
  5136.   IntOp $R0 $R0 & $R1
  5137.   SectionSetFlags $R2 $R0
  5138.   Pop $R2
  5139.   Pop $R1
  5140.   Pop $R0
  5141.   Push $R0
  5142.   Push $R1
  5143.   Push $R2
  5144.   StrCpy $R2 10
  5145.   SectionGetFlags $R2 $R0
  5146.   IntOp $R1 16 ~    ; ^ 0xFFFFFFFF
  5147.   IntOp $R0 $R0 & $R1
  5148.   SectionSetFlags $R2 $R0
  5149.   Pop $R2
  5150.   Pop $R1
  5151.   Pop $R0
  5152.   Push $R0
  5153.   Push $R1
  5154.   Push $R2
  5155.   StrCpy $R2 11
  5156.   SectionGetFlags $R2 $R0
  5157.   IntOp $R1 16 ~    ; ^ 0xFFFFFFFF
  5158.   IntOp $R0 $R0 & $R1
  5159.   SectionSetFlags $R2 $R0
  5160.   Pop $R2
  5161.   Pop $R1
  5162.   Pop $R0
  5163.   Push $R0
  5164.   Push $R1
  5165.   Push $R2
  5166.   StrCpy $R2 12
  5167.   SectionGetFlags $R2 $R0
  5168.   IntOp $R1 16 ~    ; ^ 0xFFFFFFFF
  5169.   IntOp $R0 $R0 & $R1
  5170.   SectionSetFlags $R2 $R0
  5171.   Pop $R2
  5172.   Pop $R1
  5173.   Pop $R0
  5174. label_4297:
  5175.   SectionGetFlags 3 $_72_
  5176.   IntOp $_72_ $_72_ & 1
  5177.   IntCmp $_72_ 1 label_4333
  5178.   Push $0
  5179.   Push $1
  5180.   StrCpy $1 7
  5181.   SectionGetFlags $1 $0
  5182.   IntOp $0 $0 & 0xFFFFFFFE
  5183.   SectionSetFlags $1 $0
  5184.   Pop $1
  5185.   Pop $0
  5186.   Push $0
  5187.   Push $1
  5188.   StrCpy $1 6
  5189.   SectionGetFlags $1 $0
  5190.   IntOp $0 $0 & 0xFFFFFFFE
  5191.   SectionSetFlags $1 $0
  5192.   Pop $1
  5193.   Pop $0
  5194.   Push $R0
  5195.   Push $R1
  5196.   StrCpy $R1 7
  5197.   SectionGetFlags $R1 $R0
  5198.   IntOp $R0 $R0 | 16
  5199.   SectionSetFlags $R1 $R0
  5200.   Pop $R1
  5201.   Pop $R0
  5202.   Push $R0
  5203.   Push $R1
  5204.   StrCpy $R1 6
  5205.   SectionGetFlags $R1 $R0
  5206.   IntOp $R0 $R0 | 16
  5207.   SectionSetFlags $R1 $R0
  5208.   Pop $R1
  5209.   Pop $R0
  5210.   Goto label_4361
  5211. label_4333:
  5212.   SectionGetFlags 7 $_72_
  5213.   IntOp $_72_ $_72_ & 16
  5214.   IntCmp $_72_ 16 0 label_4347 label_4347
  5215.   Push $R0
  5216.   Push $R1
  5217.   Push $R2
  5218.   StrCpy $R2 7
  5219.   SectionGetFlags $R2 $R0
  5220.   IntOp $R1 16 ~    ; ^ 0xFFFFFFFF
  5221.   IntOp $R0 $R0 & $R1
  5222.   SectionSetFlags $R2 $R0
  5223.   Pop $R2
  5224.   Pop $R1
  5225.   Pop $R0
  5226. label_4347:
  5227.   SectionGetFlags 6 $_72_
  5228.   IntOp $_72_ $_72_ & 16
  5229.   IntCmp $_72_ 16 0 label_4361 label_4361
  5230.   Push $R0
  5231.   Push $R1
  5232.   Push $R2
  5233.   StrCpy $R2 6
  5234.   SectionGetFlags $R2 $R0
  5235.   IntOp $R1 16 ~    ; ^ 0xFFFFFFFF
  5236.   IntOp $R0 $R0 & $R1
  5237.   SectionSetFlags $R2 $R0
  5238.   Pop $R2
  5239.   Pop $R1
  5240.   Pop $R0
  5241. label_4361:
  5242. FunctionEnd
  5243.  
  5244.  
  5245. Function func_4362
  5246.   Push $R0
  5247.   Push $R1
  5248.   StrCpy $_4_ 1
  5249.   StrCpy $_5_ 1
  5250.   ClearErrors
  5251.   ReadRegStr $R0 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::LaunchTheProgram
  5252.   IfErrors label_4372
  5253.   StrCpy $_4_ $R0
  5254.   StrCmp $_4_ 0 0 label_4372
  5255.   SendMessage $_64_ 0x00F1 0 0
  5256. label_4372:
  5257.   ClearErrors
  5258.   ReadRegStr $R0 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::ShowPortableEdition
  5259.   IfErrors label_4378
  5260.   StrCpy $_5_ $R0
  5261.   StrCmp $_5_ 0 0 label_4378
  5262.   SendMessage $_65_ 0x00F1 0 0
  5263. label_4378:
  5264.   SectionGetFlags 14 $R0
  5265.   IntOp $R1 $R0 & 1
  5266.   StrCmp $R1 0 0 label_4383
  5267.   SendMessage $_65_ 0x00F1 0 0
  5268.   ShowWindow $_65_ ${SW_HIDE}
  5269. label_4383:
  5270.   System::Call user32::SetFocus(i$_15_)
  5271.     ; Call Initialize_____Plugins
  5272.     ; File $PLUGINSDIR\System.dll
  5273.     ; SetDetailsPrint lastused
  5274.     ; Push user32::SetFocus(i$_15_)
  5275.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5276.   Pop $R1
  5277.   Pop $R0
  5278. FunctionEnd
  5279.  
  5280.  
  5281. Function func_4391
  5282.   Push $R0
  5283.   Push $R1
  5284.   SendMessage $_64_ 0x00F0 0 0 $R0
  5285.   StrCmp $R0 1 0 label_4397
  5286.   StrCpy $_4_ 1
  5287.   Goto label_4398
  5288. label_4397:
  5289.   StrCpy $_4_ 0
  5290. label_4398:
  5291.   SectionGetFlags 14 $R0
  5292.   IntOp $R1 $R0 & 1
  5293.   StrCmp $R1 1 0 label_4406
  5294.   SendMessage $_65_ 0x00F0 0 0 $R0
  5295.   StrCmp $R0 1 0 label_4405
  5296.   StrCpy $_5_ 1
  5297.   Goto label_4406
  5298. label_4405:
  5299.   StrCpy $_5_ 0
  5300. label_4406:
  5301.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::LaunchTheProgram $_4_
  5302.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::ShowPortableEdition $_5_
  5303.   Pop $R1
  5304.   Pop $R0
  5305. FunctionEnd
  5306.  
  5307.  
  5308. Function func_4411
  5309.   ExecWait "explorer /select,$\"$INSTDIR\UltraDefrag 8.0.0 Portable Edition$\""
  5310. FunctionEnd
  5311.  
  5312.  
  5313. Function .onInstSuccess
  5314.   Push $0
  5315.   Push $1
  5316.   DetailPrint "Saving selections to registry ..."
  5317.   SectionGetFlags 2 $0
  5318.   IntOp $1 $0 & 1
  5319.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallBoot $1
  5320.   StrCmp $1 0 0 label_4441
  5321.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  5322.     ; Call Initialize_____Plugins
  5323.     ; File $PLUGINSDIR\System.dll
  5324.     ; SetDetailsPrint lastused
  5325.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  5326.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5327.   DetailPrint "Removing boot time interface..."
  5328.   RMDir /r $INSTDIR\man
  5329.   ExecWait "$\"$SYSDIR\bootexctrl.exe$\" /u /s defrag_native"
  5330.   Delete $SYSDIR\boot-config.cmd
  5331.   Delete $SYSDIR\boot-off.cmd
  5332.   Delete $SYSDIR\boot-on.cmd
  5333.   Delete $SYSDIR\bootexctrl.exe
  5334.   Delete $SYSDIR\defrag_native.exe
  5335.   Delete $SYSDIR\ud-boot-time.cmd
  5336.   Delete $SYSDIR\ud-boot-time.cmd.old
  5337.   Delete $SYSDIR\ud-boot-time.ini
  5338.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  5339.     ; Call Initialize_____Plugins
  5340.     ; File $PLUGINSDIR\System.dll
  5341.     ; SetDetailsPrint lastused
  5342.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  5343.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5344. label_4441:
  5345.   SectionGetFlags 3 $0
  5346.   IntOp $1 $0 & 1
  5347.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallConsole $1
  5348.   StrCmp $1 0 0 label_4457
  5349.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  5350.     ; Call Initialize_____Plugins
  5351.     ; File $PLUGINSDIR\System.dll
  5352.     ; SetDetailsPrint lastused
  5353.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  5354.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5355.   DetailPrint "Removing console interface..."
  5356.   Delete $SYSDIR\udefrag.exe
  5357.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  5358.     ; Call Initialize_____Plugins
  5359.     ; File $PLUGINSDIR\System.dll
  5360.     ; SetDetailsPrint lastused
  5361.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  5362.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5363. label_4457:
  5364.   SectionGetFlags 4 $0
  5365.   IntOp $1 $0 & 1
  5366.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallGUI $1
  5367.   StrCmp $1 0 0 label_4494
  5368.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  5369.     ; Call Initialize_____Plugins
  5370.     ; File $PLUGINSDIR\System.dll
  5371.     ; SetDetailsPrint lastused
  5372.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  5373.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5374.   DetailPrint "Removing graphical interface..."
  5375.   RMDir /r $INSTDIR\locale
  5376.   RMDir /r $INSTDIR\po
  5377.   Delete $INSTDIR\ultradefrag.exe
  5378.   Push $R0
  5379.   DetailPrint "Deregistering file extensions..."
  5380.   ClearErrors
  5381.   ReadRegStr $R0 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Registered.lua
  5382.   IfErrors label_4479
  5383.   StrCmp $R0 1 0 label_4479
  5384.   DeleteRegKey HKCR Lua.Script
  5385.   DeleteRegKey HKCR .lua
  5386.   DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Registered.lua
  5387. label_4479:
  5388.   ClearErrors
  5389.   ReadRegStr $R0 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Registered.lua.edit
  5390.   IfErrors label_4488
  5391.   StrCmp $R0 1 0 label_4488
  5392.   ClearErrors
  5393.   ReadRegStr $R0 HKCR .lua ""
  5394.   IfErrors label_4488
  5395.   DeleteRegKey HKCR $R0\shell\Edit
  5396.   DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Registered.lua.edit
  5397. label_4488:
  5398.   Pop $R0
  5399.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  5400.     ; Call Initialize_____Plugins
  5401.     ; File $PLUGINSDIR\System.dll
  5402.     ; SetDetailsPrint lastused
  5403.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  5404.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5405. label_4494:
  5406.   SectionGetFlags 8 $0
  5407.   IntOp $1 $0 & 1
  5408.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallHelp $1
  5409.   StrCmp $1 0 0 label_4510
  5410.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  5411.     ; Call Initialize_____Plugins
  5412.     ; File $PLUGINSDIR\System.dll
  5413.     ; SetDetailsPrint lastused
  5414.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  5415.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5416.   DetailPrint "Removing documentation..."
  5417.   RMDir /r $INSTDIR\handbook
  5418.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  5419.     ; Call Initialize_____Plugins
  5420.     ; File $PLUGINSDIR\System.dll
  5421.     ; SetDetailsPrint lastused
  5422.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  5423.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5424. label_4510:
  5425.   SectionGetFlags 7 $0
  5426.   IntOp $1 $0 & 1
  5427.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallShellHandler $1
  5428.   StrCmp $1 0 0 label_4540
  5429.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  5430.     ; Call Initialize_____Plugins
  5431.     ; File $PLUGINSDIR\System.dll
  5432.     ; SetDetailsPrint lastused
  5433.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  5434.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5435.   DetailPrint "Removing context menu handler..."
  5436.   Delete $INSTDIR\icons\shellex.ico
  5437.   Delete $INSTDIR\icons\shellex-folder.ico
  5438.   RMDir $INSTDIR\icons
  5439.   DeleteRegKey HKCR Drive\shell\udefrag.W7menu
  5440.   DeleteRegKey HKCR Drive\udefragW7menu
  5441.   DeleteRegKey HKCR Directory\shell\udefrag.W7menu
  5442.   DeleteRegKey HKCR Directory\udefragW7menu
  5443.   DeleteRegKey HKCR Drive\shell\udefrag-drive-analyze
  5444.   DeleteRegKey HKCR Drive\shell\udefrag-drive-defragment
  5445.   DeleteRegKey HKCR Drive\shell\udefrag-drive-full-optimization
  5446.   DeleteRegKey HKCR Drive\shell\udefrag-drive-quick-optimization
  5447.   DeleteRegKey HKCR Drive\shell\udefrag-folder
  5448.   DeleteRegKey HKCR Directory\shell\udefrag
  5449.   DeleteRegKey HKCR Directory\shell\udefrag-folder
  5450.   DeleteRegKey HKCR *\shell\udefrag
  5451.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  5452.     ; Call Initialize_____Plugins
  5453.     ; File $PLUGINSDIR\System.dll
  5454.     ; SetDetailsPrint lastused
  5455.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  5456.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5457. label_4540:
  5458.   SectionGetFlags 15 $0
  5459.   IntOp $1 $0 & 1
  5460.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallUsageTracking $1
  5461.   StrCmp $1 0 0 label_4552
  5462.   Push $0
  5463.   StrCpy $0 UD_DISABLE_USAGE_TRACKING
  5464.   DeleteRegValue HKCU Environment $0
  5465.   DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" $0
  5466.   DeleteRegValue HKLM "SYSTEM\ControlSet001\Control\Session Manager\Environment" $0
  5467.   DeleteRegValue HKLM "SYSTEM\ControlSet002\Control\Session Manager\Environment" $0
  5468.   SendMessage 0xFFFF 0x001A 0 STR:Environment /TIMEOUT=5000
  5469.   Pop $0
  5470. label_4552:
  5471.   SectionGetFlags 10 $0
  5472.   IntOp $1 $0 & 1
  5473.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallStartMenuIcon $1
  5474.   StrCmp $1 0 0 label_4569
  5475.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  5476.     ; Call Initialize_____Plugins
  5477.     ; File $PLUGINSDIR\System.dll
  5478.     ; SetDetailsPrint lastused
  5479.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  5480.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5481.   DetailPrint "Removing start menu icon..."
  5482.   SetShellVarContext all
  5483.   Delete $SMPROGRAMS\UltraDefrag.lnk
  5484.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  5485.     ; Call Initialize_____Plugins
  5486.     ; File $PLUGINSDIR\System.dll
  5487.     ; SetDetailsPrint lastused
  5488.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  5489.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5490. label_4569:
  5491.   SectionGetFlags 11 $0
  5492.   IntOp $1 $0 & 1
  5493.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallDesktopIcon $1
  5494.   StrCmp $1 0 0 label_4586
  5495.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  5496.     ; Call Initialize_____Plugins
  5497.     ; File $PLUGINSDIR\System.dll
  5498.     ; SetDetailsPrint lastused
  5499.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  5500.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5501.   DetailPrint "Removing desktop icon..."
  5502.   SetShellVarContext all
  5503.   Delete $DESKTOP\UltraDefrag.lnk
  5504.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  5505.     ; Call Initialize_____Plugins
  5506.     ; File $PLUGINSDIR\System.dll
  5507.     ; SetDetailsPrint lastused
  5508.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  5509.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5510. label_4586:
  5511.   SectionGetFlags 12 $0
  5512.   IntOp $1 $0 & 1
  5513.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallQuickLaunchIcon $1
  5514.   StrCmp $1 0 0 label_4603
  5515.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  5516.     ; Call Initialize_____Plugins
  5517.     ; File $PLUGINSDIR\System.dll
  5518.     ; SetDetailsPrint lastused
  5519.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  5520.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5521.   DetailPrint "Removing quick launch icon..."
  5522.   SetShellVarContext all
  5523.   Delete $APPDATA\UltraDefrag.lnk
  5524.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  5525.     ; Call Initialize_____Plugins
  5526.     ; File $PLUGINSDIR\System.dll
  5527.     ; SetDetailsPrint lastused
  5528.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  5529.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5530. label_4603:
  5531.   SectionGetFlags 14 $0
  5532.   IntOp $1 $0 & 1
  5533.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallPortableEdition $1
  5534.   StrCmp $1 0 0 label_4609
  5535.   DetailPrint "Removing portable edition..."
  5536.   RMDir /r "$INSTDIR\UltraDefrag 8.0.0 Portable Edition"
  5537. label_4609:
  5538.   SectionGetFlags 6 $0
  5539.   IntOp $1 $0 & 1
  5540.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::InstallAutoDefrag $1
  5541.   StrCmp $1 0 0 label_4681
  5542.   Push $R0
  5543.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  5544.     ; Call Initialize_____Plugins
  5545.     ; File $PLUGINSDIR\System.dll
  5546.     ; SetDetailsPrint lastused
  5547.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  5548.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5549.   DetailPrint "Removing automatic defragmentation..."
  5550.   Call :label_83
  5551.   IntOp $_72_ $_22_ & 0x7FFFFFFF
  5552.   IntCmp $_72_ 0x06000000 0 label_4625
  5553.   StrCpy $R0 UltraDefrag\AutoDefrag
  5554.   Goto label_4626
  5555. label_4625:
  5556.   StrCpy $R0 AutoDefrag
  5557. label_4626:
  5558.   nsExec::ExecToLog /OEM "schtasks /Delete /F /TN $R0"
  5559.     ; Call Initialize_____Plugins
  5560.     ; File $PLUGINSDIR\nsExec.dll
  5561.     ; SetDetailsPrint lastused
  5562.     ; Push "schtasks /Delete /F /TN $R0"
  5563.     ; Push /OEM
  5564.     ; CallInstDLL $PLUGINSDIR\nsExec.dll ExecToLog
  5565.   Pop $_3_
  5566.   StrCmp $_3_ error 0 label_4635
  5567.   DetailPrint "Unable to execute schtasks command!"
  5568. label_4635:
  5569.   StrCmp $_3_ 0 label_4637
  5570.   DetailPrint "Cannot disable automatic defragmentation!"
  5571. label_4637:
  5572.   Call :label_83
  5573.   IntOp $_72_ $_22_ & 0x7FFFFFFF
  5574.   IntCmp $_72_ 0x06000000 0 label_4645
  5575.   RMDir $SYSDIR\Tasks\UltraDefrag
  5576.   SetRegView 64
  5577.   DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\UltraDefrag"
  5578.   SetRegView 32
  5579.   DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\UltraDefrag"
  5580. label_4645:
  5581.   Delete $INSTDIR\task-launcher.exe
  5582.   RMDir /r $INSTDIR\tasks
  5583.   Call :label_83
  5584.   IntOp $_72_ $_22_ & 0x7FFFFFFF
  5585.   IntCmp $_72_ 0x06000000 0 label_4675
  5586.   ClearErrors
  5587.   ReadRegStr $R0 HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::DisableScheduledMicrosoftDefrag
  5588.   IfErrors label_4675
  5589.   StrCmp $R0 1 0 label_4675
  5590.   DetailPrint "Enabling Microsoft\Windows\Defrag\ScheduledDefrag task..."
  5591.   Push $R0
  5592.   nsExec::ExecToLog /OEM "schtasks /Change /TN Microsoft\Windows\Defrag\ScheduledDefrag /enable"
  5593.     ; Call Initialize_____Plugins
  5594.     ; File $PLUGINSDIR\nsExec.dll
  5595.     ; SetDetailsPrint lastused
  5596.     ; Push "schtasks /Change /TN Microsoft\Windows\Defrag\ScheduledDefrag /enable"
  5597.     ; Push /OEM
  5598.     ; CallInstDLL $PLUGINSDIR\nsExec.dll ExecToLog
  5599.   Pop $_3_
  5600.   StrCmp $_3_ error 0 label_4665
  5601.   DetailPrint "Unable to execute schtasks command!"
  5602. label_4665:
  5603.   StrCmp $_3_ 0 label_4668
  5604.   DetailPrint "Cannot enable the task!"
  5605.   Goto label_4674
  5606. label_4668:
  5607.   DetailPrint "The task has been enabled."
  5608.   StrCmp enable enable 0 label_4672
  5609.   StrCpy $R0 0
  5610.   Goto label_4673
  5611. label_4672:
  5612.   StrCpy $R0 1
  5613. label_4673:
  5614.   WriteRegStr HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\UltraDefrag Var::DisableScheduledMicrosoftDefrag $R0
  5615. label_4674:
  5616.   Pop $R0
  5617. label_4675:
  5618.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  5619.     ; Call Initialize_____Plugins
  5620.     ; File $PLUGINSDIR\System.dll
  5621.     ; SetDetailsPrint lastused
  5622.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  5623.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5624.   Pop $R0
  5625. label_4681:
  5626.   Pop $1
  5627.   Pop $0
  5628.   System::Call kernel32::Wow64EnableWow64FsRedirection(i0)
  5629.     ; Call Initialize_____Plugins
  5630.     ; File $PLUGINSDIR\System.dll
  5631.     ; SetDetailsPrint lastused
  5632.     ; Push kernel32::Wow64EnableWow64FsRedirection(i0)
  5633.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5634.   WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" UD_INSTALL_DIR $INSTDIR
  5635.   SendMessage 0xFFFF 0x001A 0 STR:Environment /TIMEOUT=5000
  5636.   System::Call kernel32::Wow64EnableWow64FsRedirection(i1)
  5637.     ; Call Initialize_____Plugins
  5638.     ; File $PLUGINSDIR\System.dll
  5639.     ; SetDetailsPrint lastused
  5640.     ; Push kernel32::Wow64EnableWow64FsRedirection(i1)
  5641.     ; CallInstDLL $PLUGINSDIR\System.dll Call
  5642. FunctionEnd
  5643.  
  5644.  
  5645. Function .onMouseOverSection
  5646.   StrCmp $0 -1 0 label_4701
  5647.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:
  5648.   EnableWindow $_50_ 0
  5649.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:$_49_
  5650.   Goto label_4770
  5651. label_4701:
  5652.   StrCmp $0 0 0 label_4706
  5653.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:
  5654.   EnableWindow $_50_ 1
  5655.   SendMessage $_50_ ${WM_SETTEXT} 0 "STR:Install UltraDefrag core files (required)."
  5656.   Goto label_4770
  5657. label_4706:
  5658.   StrCmp $0 1 0 label_4711
  5659.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:
  5660.   EnableWindow $_50_ 1
  5661.   SendMessage $_50_ ${WM_SETTEXT} 0 "STR:Select at least one interface to be installed."
  5662.   Goto label_4770
  5663. label_4711:
  5664.   StrCmp $0 2 0 label_4716
  5665.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:
  5666.   EnableWindow $_50_ 1
  5667.   SendMessage $_50_ ${WM_SETTEXT} 0 "STR:The boot time interface can defragment files which are usually locked by Windows."
  5668.   Goto label_4770
  5669. label_4716:
  5670.   StrCmp $0 3 0 label_4721
  5671.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:
  5672.   EnableWindow $_50_ 1
  5673.   SendMessage $_50_ ${WM_SETTEXT} 0 "STR:The command line interface can be used for automation."
  5674.   Goto label_4770
  5675. label_4721:
  5676.   StrCmp $0 4 0 label_4726
  5677.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:
  5678.   EnableWindow $_50_ 1
  5679.   SendMessage $_50_ ${WM_SETTEXT} 0 "STR:The traditional graphical interface displays visual representation of disk clusters."
  5680.   Goto label_4770
  5681. label_4726:
  5682.   StrCmp $0 6 0 label_4731
  5683.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:
  5684.   EnableWindow $_50_ 1
  5685.   SendMessage $_50_ ${WM_SETTEXT} 0 "STR:Defragment disks automatically."
  5686.   Goto label_4770
  5687. label_4731:
  5688.   StrCmp $0 7 0 label_4736
  5689.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:
  5690.   EnableWindow $_50_ 1
  5691.   SendMessage $_50_ ${WM_SETTEXT} 0 "STR:Defragment individual files and folders directly from Windows Explorer."
  5692.   Goto label_4770
  5693. label_4736:
  5694.   StrCmp $0 8 0 label_4741
  5695.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:
  5696.   EnableWindow $_50_ 1
  5697.   SendMessage $_50_ ${WM_SETTEXT} 0 "STR:Install UltraDefrag Handbook."
  5698.   Goto label_4770
  5699. label_4741:
  5700.   StrCmp $0 9 0 label_4746
  5701.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:
  5702.   EnableWindow $_50_ 1
  5703.   SendMessage $_50_ ${WM_SETTEXT} 0 "STR:Add icons for easy access."
  5704.   Goto label_4770
  5705. label_4746:
  5706.   StrCmp $0 10 0 label_4751
  5707.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:
  5708.   EnableWindow $_50_ 1
  5709.   SendMessage $_50_ ${WM_SETTEXT} 0 "STR:Add an icon to your start menu."
  5710.   Goto label_4770
  5711. label_4751:
  5712.   StrCmp $0 11 0 label_4756
  5713.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:
  5714.   EnableWindow $_50_ 1
  5715.   SendMessage $_50_ ${WM_SETTEXT} 0 "STR:Add an icon to your desktop."
  5716.   Goto label_4770
  5717. label_4756:
  5718.   StrCmp $0 12 0 label_4761
  5719.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:
  5720.   EnableWindow $_50_ 1
  5721.   SendMessage $_50_ ${WM_SETTEXT} 0 "STR:Add an icon to your quick launch toolbar."
  5722.   Goto label_4770
  5723. label_4761:
  5724.   StrCmp $0 14 0 label_4766
  5725.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:
  5726.   EnableWindow $_50_ 1
  5727.   SendMessage $_50_ ${WM_SETTEXT} 0 "STR:Extract portable edition of UltraDefrag."
  5728.   Goto label_4770
  5729. label_4766:
  5730.   StrCmp $0 15 0 label_4770
  5731.   SendMessage $_50_ ${WM_SETTEXT} 0 STR:
  5732.   EnableWindow $_50_ 1
  5733.   SendMessage $_50_ ${WM_SETTEXT} 0 "STR:Disable web based usage tracking."
  5734. label_4770:
  5735. FunctionEnd
  5736.  
  5737.  
  5738. /*
  5739. Function Initialize_____Plugins
  5740.   SetDetailsPrint none
  5741.   StrCmp $PLUGINSDIR "" 0 label_4781
  5742.   Push $0
  5743.   SetErrors
  5744.   GetTempFileName $0
  5745.   Delete $0
  5746.   CreateDirectory $0
  5747.   IfErrors label_4782
  5748.   StrCpy $PLUGINSDIR $0
  5749.   Pop $0
  5750. label_4781:
  5751.   Return
  5752.  
  5753. label_4782:
  5754.   MessageBox MB_OK|MB_ICONSTOP "Error! Can't initialize plug-ins directory. Please try again later." /SD IDOK
  5755.   Quit
  5756. FunctionEnd
  5757. */
  5758.  
  5759.  
  5760.  
  5761. ; --------------------
  5762. ; UNREFERENCED STRINGS:
  5763.  
  5764. /*
  5765. 38 CommonFilesDir
  5766. 53 "$PROGRAMFILES\Common Files"
  5767. 70 $COMMONFILES
  5768. */
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top