Friday, January 25, 2008

MSinfo32 og startup programmer

Jeg liker å ha kontroll på hva som startes opp av programmer når jeg skrur på pc'n min. Jeg er en "neatfreak" når det gjelder pc'n, men ikke i huset hjemme sier kona :-D.

Java Updater, Winamp Tray icon, Picasa Media Agent, QuickTimeTask, AdobeUpdater, GoogleTalk, for å nevne noen, er programmer som legger seg inn i "autooppstart" når man installerer dem. MEN, hvorfor skal min pc's oppstarthastighet lide pga. dette? Det går jo mye treigere hvis man ikke rensker opp i hvilke programmer man trenger ved windows oppstart.

Tidligere har jeg fjernet snarveier i "startup" katalogen på startmenyen, men det ligger jo masse rart i registeret også. Og de ligger ikke bare under HKLM, neida, 3-4 andre steder kan de også ligge.

Så derfor har jeg testet ut denne:
http://www.windowsstartup.com/startupinspector.php.

Dette programmet gir deg en grafisk "point&click" løsning på hvordan disable oppstartselementer.

Det fungerer greit, men gir meg en del feilmeldinger av og til.

Det finnes og et innebygged program som følger med Windows. "MSConfig". (start - run - skriv inn "msconfig" og trykk enter).



Dette programmet er helt ok, men faktisk, jeg syns pc'n min blir litt treigere å starte opp hvis jeg stopper/fjerner programmer fra "Startup" her.

Jeg har derfor revertert tilbake til min gamle metode, manuelt inn i registeret!!
Dette er et herk, hvis det ikke hadde vært for MSINFO.

MSinfo32.exe er et program som gir deg oversikt over så og si alt på pc'n din. Hardware ressurser, softwaremiljøet ditt m.m.

For å starte dette programmet, kan du gå på Start - Run/Kjør - skrive inn "msinfo32" og trykk enter.

Under "Software Environment\StartUp programs" ligger alt av programmer som startes opp automatisk. Her ser man også hele stien i registeret om hvor det ligger snarvei til det og det programmet.



MEN, her kan man ikke fjerne noe. Så man må dermed gå manuelt inn i registeret og slette ting.

Fordelen med å bruke "Startup Inspector" programmet, er at man kan angre seg hvis man gjør noe galt. 1 klikk, og wips så er programmet tilbake.
Sletter man ting fra registeret, så er det borte (hvis du da ikke har tatt backup av stringene først. Anbefales!!)

Jeg skal ikke gå inn på programmer som legger seg inn som en tjeneste (Services) på pc'n. Disse er det jo bare å sette til manuell oppstart.
BTW, for å starte denne kjapt: Start - run - skriv inn "services.msc" og trykk enter. Kan man dette gui'et, så er det greit.

Ok, lang intro til selve kjernen av problemet.

MSInfo32 kan ha en bug i seg. Når du klikker på "Startup Programs" så kan denne ta sykt lang tid. Dette er pga. en bug som gjør at den lister opp ALLE programmene på pc'n din. Det fins jo EN DEL .exe filer, for å si det mildt.

For å fikse dette kan du lage en VBScript fil som du så eksekverer. Husk, dette er kun for Windows XP!

Koden til denne filen finner du nederst.

Det du gjør er å kopiere koden (alt innenfor linjene med * tegn), lime inn i en notisblokk og lagrer filen med navn f.eks. "MSINFO_startup_fix.VBS".
Veldig viktig at filendelsen er ".VBS" som indikerer en VBScript fil.
Så dobbelklikker du bare på fila for å kjøre den.
Får du opp en advarsel om at "do you really want to run this script", så er det bare å svare "yes".
Du trenger ikke restarte pc'n for å se endringen. Bare lukk msinfo32, og start den opp igjen og sjekk "Startup Programs" lista igjen.


KODE:
**********************************************************************************

'--------( D E S C R I P T I O N )--------

'Created on December 24, 2005
'Updated on January 09, 2006

'Fixes a problem in MSINFO32 utility where ....
'...the "Startup Programs" and the ............
'...."Program Groups" listing are incorrect....
'This script is for Windows® XP system only.
'Homepage: http://windowsxp.mvps.org
'Copyright © 2005 Ramesh Srinivasan.
'---------------------------------------------

Option Explicit
Dim WshShell, USF_Base, SF_Base, sPath
Set WshShell = CreateObject("WScript.Shell")
USF_Base= "\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\"
SF_Base="\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\"

'Phase 1 - Auto-start
sPath = WshShell.ExpandEnvironmentStrings("%WinDir%")
sPath = sPath & "\system32\config\systemprofile\Start Menu\Programs\Startup"
WshShell.RegWrite "HKEY_USERS\.DEFAULT" & SF_Base & "Startup",sPath,"REG_SZ"
WshShell.RegWrite "HKEY_USERS\.DEFAULT" & USF_Base & _
"Startup","%USERPROFILE%\Start Menu\Programs\Startup","REG_EXPAND_SZ"

'Phase 2
sPath = WshShell.ExpandEnvironmentStrings("%userprofile%")
sPath = sPath & "\Start Menu\Programs\Startup"
WshShell.RegWrite "HKCU" & SF_Base & "Startup",sPath,"REG_SZ"
WshShell.RegWrite "HKCU" & USF_Base & _
"Startup","%USERPROFILE%\Start Menu\Programs\Startup","REG_EXPAND_SZ"

'Phase 3
sPath = WshShell.ExpandEnvironmentStrings("%allusersprofile%")
sPath = sPath & "\Start Menu\Programs\Startup"
WshShell.RegWrite "HKLM" & SF_Base & "Common Startup",sPath,"REG_SZ"
WshShell.RegWrite "HKLM" & USF_Base & _
"Common Startup","%ALLUSERSPROFILE%\Start Menu\Programs\Startup","REG_EXPAND_SZ"

'Phase 4 - Programs
sPath = WshShell.ExpandEnvironmentStrings("%SystemDrive%")
sPath = sPath & "\Documents and Settings\NetworkService\Start Menu\Programs"
WshShell.RegWrite "HKEY_USERS\.DEFAULT" & SF_Base & "Programs",sPath,"REG_SZ"
WshShell.RegWrite "HKEY_USERS\.DEFAULT" & USF_Base & _
"Programs","%USERPROFILE%\Start Menu\Programs","REG_EXPAND_SZ"

'Phase 5
sPath = WshShell.ExpandEnvironmentStrings("%userprofile%")
sPath = sPath & "\Start Menu\Programs"
WshShell.RegWrite "HKCU" & SF_Base & "Programs",sPath,"REG_SZ"
WshShell.RegWrite "HKCU" & USF_Base & _
"Programs","%USERPROFILE%\Start Menu\Programs","REG_EXPAND_SZ"

'Phase 6
sPath = WshShell.ExpandEnvironmentStrings("%allusersprofile%")
sPath = sPath & "\Start Menu\Programs"
WshShell.RegWrite "HKLM" & SF_Base & "Common Programs",sPath,"REG_SZ"
WshShell.RegWrite "HKLM" & USF_Base & _
"Common Programs","%ALLUSERSPROFILE%\Start Menu\Programs","REG_EXPAND_SZ"
MsgBox "Restart Windows for the changes to take effect", vbOKOnly,"Fixed"
Set WshShell= Nothing


**********************************************************************************

Eller last ned filen HER

No comments: