Jump to content

AutoClean


NerdFencer
 Share

Recommended Posts

this may be in the wrong category, but is there a way to run windows sfc on a drive that is not currently the system drive? example: system A is not bootable, and i suspect that its a corrupted file that is required in the boot process, i want to put the hard drive from system A into system B or attach it externally and scan it to see that all required boot files and drivers are intact, if not, it replaces them w/ fresh copies, is that possible?

Link to comment
Share on other sites

  • Replies 172
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

In that case, you need to run a repair install. SFC will only run on the current windows boot.

If you are feeling unusually risky, you could try copying a bunch of core system files from a working computer (same OS version) in an attempt to get it to boot so you can run SFC.

WARNING: only do this if the windows install is screwed anyway b/c it doesn't usually work, and can make the problem worse.

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

I have tried to reproduce that error under several different conditions, and finally found the error.

If the network that you are on blocks the download, it will not error out when it fails to unzip it, but it will give you that exact error when trying to run it.

Check your network, firewall, and router settings.

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

  • 4 weeks later...

Updated to v2.1 :)

G'day

Just wondering where the source code is for the program now?

It's missing from the first post?

It got me out of a bad situation the other day. I usually use Dial-A-Fix to fix windows installer problems but it wasn't working because of the situation the system had so I was in a catch 22 position. So I used your script to do the fix. Worked like a charm! I'm glad you added the functions. :(

Anyway keep up the good work!

John Morrison

aka

Storm-E

Link to comment
Share on other sites

I honestly don't know where the source went from my first post.

I plan to release a new version (2.2) this weekend, and will just update the source then

grantemsley,

If there are any extra features that you can think of, just tell me and I'll throw them into this weekend's release.

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

I honestly don't know where the source went from my first post.

I plan to release a new version (2.2) this weekend, and will just update the source then

grantemsley,

If there are any extra features that you can think of, just tell me and I'll throw them into this weekend's release.

:( not a problem!

Looking forward to it.

Link to comment
Share on other sites

Updated to v2.2... LOTS of new stuff

I now have another venture that loosely lines up with this tool, so I plan for much faster progress...

Note: there are some strange calls to a function that is blank. Don't worry. This is in preparation for a future phase of development.

Updates to come...

* 2.3 - 03/28 - consolidate features and bugfixes

* 2.4 - 04/04 - add an "even my customers couldn't screw this up" mode

* 2.5 - 04/11 - front end update to allow for more features to fit without too much of a major look and feel change

* 2.6 - 04/18 - backend update to allow for better task-order processing

* 2.7 - 04/25 - pump out winfixes like I have no life

* 2.8 - 04/30 - consolidate features and bugfixes

* 2.9 - 05/06 - minor updates and prepare for backend overhaul

* 3.0 - 05/27 - major backend overhaul

* ?.0 - ??/?? - Possible C++ rewrite

If you can help me test some of the new features/updates in upcoming releases, please pm me.

Edited by NerdFencer

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

Updated to v2.2... LOTS of new stuff

Looks good........ I've loaded it but didn't run it's functions.

One funny is if I leave the mouse on somthing (to read the tool tip) untill it times out I can't get the tool tip to reappear unless I click the checkbox then the tooltip reappears. No Big problem...

[REQUEST]

I'd still ike an uninstall option on the "performance" stuff (and anything else that can have it). If I do a "prune autoruns" or "reset services" on a computer I would like the piece of mind that if the computer starts playing up I can reverse the situation (e.g. an autorun was turned off that was needed on that computer). This is one of the only things that stops me using it on customers computers because I don't know if it will cause more problems then it started with. :)

I don't think it'd be too hard.

1. use a log file for each day and area (e.g. AR_LOG_YYMMDD.AU3, SERV_LOG_YYMMDD.AU3)

Easy to delete old log files...Maybe store the location in and INI file so coudl eb used from C: or USB.

2. Make restore file .AU3 files.

Just use the main program to "run" the script to do a restore or run wiht AutoIT if installed.

Allows complex restore scripts to be written.

3. Comment each line as it's added

Makes it easy to pick out the lines when a partial restore is needed.

; {WHY was this done}  Name = [Name} exe = {executable name} Key = {KEY}
RegWrite("keyname" ,"valuename" , "type" , value)

BTW if you need a tested I have a few "virtual box" computers I could try it on. Just drop me a line when you have something you need tested.

AND if I have "restore" options I'll be "testing" it onsite... :( hint :)

Keep up the great work

John Morrison

aka

Storm-E

Link to comment
Share on other sites

I noticed but don't know how to fix the tooltip problem

I am actively overhauling the autoruns prune feature because the current one is infective and inefficient. In redoing this, I'll be sure to add a revert feature. Also, as part of this overhaul, I need some data.

The script below collects some data about the autorun entries on the computer. It generates an Autoruns.ini file from this. By using this data collected from as many computers as possible, I can create a more effective feature. If you place the script on external media and run it on multiple computers, the data from all computers will be included in the file.

Please run this script on as many computers as you can and post/pm me the file. (this is an open request, not just to storme)

Global $file = "AutoRuns.ini"

Global $temp
For $i=1 To 999
    $temp = RegEnumVal("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run",$i)
    If @error Then ExitLoop
    IniWrite($file,"HKLM CV Run",$temp,RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run",$temp))
Next

For $i=1 To 999
    $temp = RegEnumVal("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run",$i)
    If @error Then ExitLoop
    IniWrite($file,"HKCU CV Run",$temp,RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run",$temp))
Next

For $i=1 To 999
    $temp = RegEnumVal("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\URLSearchHooks",$i)
    If @error Then ExitLoop
    IniWrite($file,"HKCU Search Hooks",$temp,RegRead("HKEY_CLASSES_ROOT\CLSID\"&$temp,""))
Next

For $i=1 To 999
    $temp = RegEnumKey("HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects",$i)
    If @error Then ExitLoop
    IniWrite($file,"BHO",$temp,RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\"&$temp,""))
Next

Global $start
$start = FileFindFirstFile(@StartupCommonDir&"\*")
For $i=1 To 999
    $temp = FileFindNextFile($start)
    If @error Then ExitLoop
    IniWrite($file,"SM Common",$temp,FileGetShortcut(@StartupCommonDir&"\"&$temp))
Next

$start = FileFindFirstFile(@StartupDir&"\*")
For $i=1 To 999
    $temp = FileFindNextFile($start)
    If @error Then ExitLoop
    IniWrite($file,"SM CU",$temp,FileGetShortcut(@StartupDir&"\"&$temp))
Next

$start = FileFindFirstFile(@WindowsDir&"\Tasks\*")
For $i=1 To 999
    $temp = FileFindNextFile($start)
    If @error Then ExitLoop
    IniWrite($file,"Tasks",$temp,FileGetShortcut(@WindowsDir&"\Tasks\"&$temp))
Next

The following file was generated from my computer...

[HKLM CV Run]
Avast=C:\PROGRA~1\ALWILS~1\Avast4\ashDisp.exe
NvCplDaemon=RUNDLL32.EXE C:\WINDOWS\system32\NvCpl.dll,NvStartup
[HKCU CV Run]
ctfmon.exe=C:\WINDOWS\system32\ctfmon.exe
[SM Common]
desktop.ini=
[SM CU]
desktop.ini=
[Tasks]
Ad-Aware Update (Weekly).job=
desktop.ini=
GoogleUpdateTaskUserS-1-5-21-789336058-484763869-1801674531-500Core1cac689f67655d0.job=
SA.DAT=
SCHEDLGU.TXT=
WGASetup.job=
[HKCU Search Hooks]
{CFBFAE00-17A6-11D0-99CB-00C04FD64497}=Microsoft Url Search Hook
{EF99BD32-C1FB-11D2-892F-0090271D4F88}=Yahoo! Toolbar
[BHO]
{02478D38-C3F9-4efb-9B51-7695ECA05670}=
{18DF081C-E8AD-4283-A596-FA578C2EBDC3}=AcroIEHelperStub
{FDAD4DA1-61A2-4FD8-9C17-86F7AC245081}=

Thanks,

-Matt

Edit: Fixed script&example: was missing 2 locations

Edited by NerdFencer

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

Thanks, I'm glad you like it

I'll look into the BHO problem

-Matt

EDIT:

I looked into it, and there is no bug.

It deletes the registry key that it had enumerated there, so when it loops back with the same value, it retrieves a new key.

Thanks for telling me though.

Edited by NerdFencer

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

Thanks.

Yes, You are welcome to use it for work.

If you would like to translate it, I recommend starting with the lang file that will be added next release. More values will be added, but variable names will remain the same. This way you can start making a translation that won't have to be re-done with every release.

I will post a prototype file later today.

Edited by NerdFencer

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

Here is the Lang file for 2.3 beta 1.

Just make an init function for Dutch based off of InitEnLang

There will be more functions in the release this weekend, but this way you can get a start on translating if you want to.

#include-once

Global $oLang = ObjCreate("Scripting.Dictionary")
InitEnLang()

Func InitEnLang()
    ; Program
    $oLang.Add("ProgName","Automatic System Cleaner v2.3 Beta 1")
    $oLang.Add("DLDelCopy","Deleting Previous Copy From:")
    $oLang.Add("DLerr","Error Downloading ")
    $oLang.Add("DLofile"," Failed to download because the output file could not be accessed.")
    $oLang.Add("DLidown","Initializing Download")
    $oLang.Add("DLadown","Abort Download")
    $oLang.Add("DLaconfirm","Are you sure you want to cancel the download of ")
    $oLang.Add("DLaborted","Process Aborted by User")
    $oLang.Add("DLactive","Downloading")

    ; logging
    $oLang.Add("ActBegin","Action Begin")
    $oLang.Add("ActEnd","Action End")

    ; GUI
    $oLang.Add("HELPTIP","Click here to go to the online documentation for this feature")

    ; Options
    $oLang.Add("SystemRestore","Create a Restore Point")
    $oLang.Add("SystemRestore_TT","Just in case something goes wrong...")
    $oLang.Add("ERUNT","Backup the Registry")
    $oLang.Add("ERUNT_TT","Just in case something goes wrong...")
    $oLang.Add("Reboot","Reboot when completed")
    $oLang.Add("Reboot_TT","Some Options require this to take effect")
    $oLang.Add("Force","Force File Update")
    $oLang.Add("HelpStart","Open Help When Program Starts")

    ; Security
    $oLang.Add("CClean","CCleaner Scan")
    $oLang.Add("RegSeeker","RegSeeker Scan")
    $oLang.Add("RSquick","Quick Scan")
    $oLang.Add("VSR","Vipre Rescue Scan")
    $oLang.Add("VRquick","Quick Scan")
    $oLang.Add("Hosts","Update Hosts File")
    $oLang.Add("MBAM","Malwarebytes Scan")
    $oLang.Add("MBAMquick","Quick Scan")
    $oLang.Add("Search","Toolbar Removal")
    $oLang.Add("SecCenter","Disable Security Notifications")
    $oLang.Add("CClean_TT","Downloads and runs CCleaner to free disk space")
    $oLang.Add("RegSeeker_TT","Downloads and runs RegSeeker to fix registry errors")
    $oLang.Add("VSR_TT","Downloads and runs Vipre Rescue to remove infections")
    $oLang.Add("Hosts_TT","Downloads and installs an updated Hosts file to block malicious sites")
    $oLang.Add("MBAM_TT","Downloads and runs Malwarebytes Anti-Malware to remove infections")
    $oLang.Add("Search_TT","Uninstalls a lot of toolbars and stops any others from running")
    $oLang.Add("SecCenter_TT","Stops messages like 'Do you want to trust this program' and 'Your ___ is out of date'")

    ; Performance
    $oLang.Add("Autorun","Prune Autoruns")
    $oLang.Add("Service","Reset Services to Default")
    $oLang.Add("Tweaked","Use Performance Settings")
    $oLang.Add("Acro","Streamline Acrobat Reader")
    $oLang.Add("Rep","Optomize Resource Usage")
    $oLang.Add("Notify","Disable Extra System Notifications")
    $oLang.Add("SMorder","Clear Start Menu Order Cache")
    $oLang.Add("Autorun_TT","Removes unwanted autorun entries")
    $oLang.Add("Service_TT","Good for fixing unwanted effects of 'tinkering'")
    $oLang.Add("Acro_TT","Disables unused Acrobat plugins to make it MUCH faster")
    $oLang.Add("Rep_TT","Sets a bunch of performance related registry settings")
    $oLang.Add("Notify_TT","STOP BUGGING ME!!!")
    $oLang.Add("SMorder_TT","Makes them all show up in alphabetical order. Also effects favorites.")

    ; Maintenance
    $oLang.Add("PageDefrag","Schedule System File Defragementation (next boot)")
    $oLang.Add("Defrag","Defragment the Hard Drive (Defraggler)")
    $oLang.Add("CheckDisk","Schedule Checkdisk to run next boot")
    $oLang.Add("Permissions","Reset File and Registry Permissions")
    $oLang.Add("Idle","Process Idle Tasks")
    $oLang.Add("PageDefrag_TT","Defragments core system files that windows can not usually defragment")
    $oLang.Add("Defrag_TT","Puts all the pieces of files with eachother...")
    $oLang.Add("CheckDisk_TT","Checks for hard drive errors on the next system reboot")
    $oLang.Add("Permissions_TT","Fixes some strange errors. Most notibly, run this if you can't install a service pack.")
    $oLang.Add("Idle_TT","Things windows does in the background (not documented by Microsoft). Helps performance.")

    ; WinFixes
    $oLang.Add("Installer","Fix Windows Installer")
    $oLang.Add("SSLHTTPSCryptsvc","Fix SSL/HTTPS/Cryptsvc")
    $oLang.Add("Update","Fix Windows Update")
    $oLang.Add("FlushDNS","Flush DNS Cache")
    $oLang.Add("FixExplorer","Fix Windows Explorer")
    $oLang.Add("Time","Reset Windows Time")
    $oLang.Add("Network","Reset Network Interfaces")
    $oLang.Add("Shut","Fix Slow Logoff/Shutdown")
    $oLang.Add("Bin","Empty Recycle Bin")
    $oLang.Add("Installer_TT","Run if windows installer isn't working.")
    $oLang.Add("SSLHTTPSCryptsvc_TT","Fixes some internet related errors.")
    $oLang.Add("Update_TT","Make windows update work properly...")
    $oLang.Add("FlushDNS_TT","Usually only web developers need this, but it might help some other people.")
    $oLang.Add("FixExplorer_TT","Fixes many windows explorer related errors.")
    $oLang.Add("Time_TT","Fixes Windows time.")
    $oLang.Add("Network_TT","Fixes some strange networking issues.")
    $oLang.Add("Shut_TT","Kill apps faster and don't flush the pagefile.")
    $oLang.Add("Bin_TT","Because not unchecking this is easier than the 3 clicks it would normally take.")

    ; WinFixes 2
    $oLang.Add("ExeAss","Fix Windows Associations")
    $oLang.Add("ZipAss","Restore .zip Association")
    $oLang.Add("TxtAss","Restore .txt Association")
    $oLang.Add("WorkGroup","Fix Workgroup Detection")
    $oLang.Add("USBDriv","Fix USB Drive Detection")
    $oLang.Add("Printer","Fix Printer Install Errors")
    $oLang.Add("TaskMan","Fix Task Manager")
    $oLang.Add("Links","Fix Broken MSOffice/Outlook Links")
    $oLang.Add("NTREGOPT","Optomize Registry")
    $oLang.Add("ExeAss_TT","Restores .exe .scr .msi .lnk .msc .reg and Windows folder execution Associations")
    $oLang.Add("ZipAss_TT","Restores control of zip files to the default windows zipped folder.")
    $oLang.Add("TxtAss_TT","Just because I had this issue a while back.")
    $oLang.Add("WorkGroup_TT","According to microsoft, this is a common error...")
    $oLang.Add("USBDriv_TT","There are many methods of breaking this. If this doesn't fix your problem and you figure out how, tell me.")
    $oLang.Add("Printer_TT","Won't install the printer for you, but it will make it possible if things error out on you."&@CRLF&"This single checkbox does what 3 'Windows FixIt' programs do.")
    $oLang.Add("TaskMan_TT","If it was for somehow disabled (either by an admin or a virus) this re-enables it.")
    $oLang.Add("Links_TT","Not desktop shortcuts/links. For that you need 'Fix Windows Associations'")
    $oLang.Add("NTREGOPT_TT","Rebuilds the registry hives and replaces them next boot.")
EndFunc

Happy Scripting,

-Matt

_________[u]UDFs[/u]_________-Mouse UDF-Math UDF-Misc Constants-Uninstaller Shell

Link to comment
Share on other sites

Thanks, I'm glad you like it

I'll look into the BHO problem

-Matt

EDIT:

I looked into it, and there is no bug.

It deletes the registry key that it had enumerated there, so when it loops back with the same value, it retrieves a new key.

Thanks for telling me though.

the problem happens when the key can't be deleted. the routine loops back with the same value, tries to delete the same key, can't, loops... i have 2 norton/symantec BHOs that can't be deleted, even manually in regedit.

Link to comment
Share on other sites

This looks like a PHENOMINAL program, we actually use a few similar programs at work (I work at a computer repair shop, most of them, virus's). Just one (free) program I would like to recommend: Hijackthis. I don't know if you will be able to automate it, but if you get it to run a scan with a report, and copy and paste the report to hijackthis.de, it will tell you numerous things that malwarebytes might not pick up.

Otherwise, I am going to look forward to checking out this program, and thank you for something I was planning on doing myself :(.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...