Programmappsfixaren - Problemförklaring

Det finns många myter och förklaringar på problemet om varför programmappen öppnas när Windows startar. Den här sidan försöker förklara problemet så korrekt som möjligt. Texten finns även i Programmappsifxarens hjälpfil.

Tillbaka till Programmappsfixaren.

Varför öppnas Programmappen?

Det finns många förklaringar till orsaken till varför programmappen öppnas som man startar Windows. Några myter om detta kan du läsa om i avsnittet "Myter". Här följer en riktig förklaring till fenomenet:

När man startar Windows eller loggar in så startas alltid ett eller flera program. Några av dessa hittar man i autostartmappen i Startmenyn, men de allra flesta är inställda i "Registret". Var i registret detta finns visas i slutet av detta stycke.

När ett program ska starta automatiskt skriver det ett värde i registret som visar vilken sökväg och program som ska starta. Ibland skrivs också så kallade "växlar" efter sökvägen, dessa växlar är instruktioner till programmet som ska starta. Några exempel:

Om anteckningar ska starta automatisk så kan programmet skriva in detta i registret:

C:\Windows\Notepad.exe

Om anteckningar ska starta automatisk och samtidigt öppna en fil ("min-fil.txt" i det här fallet) skrivs detta i registret:

C:\Windows\Notepad.exe min-fil.txt

I det här fallet ska programmet "C:\Windows\Notepad.exe" startas med växeln "min-fil.txt".

Tänk dig nu att du har dessa två mappar:

C:\Program
C:\Program Files

I mappen C:\Program Files har du ett program i mappen "Mittprogram". Nu ska detta program starta automatiskt med Windows och då skrivs följande värde i registret:

C:\Program Files\Mittprogram\mittprogram.exe

Nu uppstår det ett tolkningsproblem. Det här värdet kan tolkas på två sätt:
1. Starta programmet: "C:\Program Files\Mittprogram\mittprogram.exe"
2. Starta programmet: "C:\Program" med växeln "Files\Mittprogram\mittprogram.exe"

Windows väljer här alternativ två; "C:\Program" öppnas med växeln "Files\Mittprogram\mittprogram.exe" (växeln ignoreras sedan av programmet).

Hur ska man då göra för att slippa det här problemet? Det enda som man behöver göra är att lägga citattecken runt programnamnet:

"C:\Program Files\Mittprogram\mittprogram.exe"

Då kan inga tolkningsproblem uppstå. Det är precis detta som Programmappsfixaren gör; den tittar på alla program som ska starta automatiskt och lägger till citattecken där de saknas. De program som ska starta automatiskt hittar man i registret under följande sökvägar:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run (denna är vanligast)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup

Myter

Det finns som sagt en hel del myter om det här problemet. Här följer några samt lite kommentarer:

· Felet är en bugg i Windows
- Nej. När man loggar in i Windows är det meningen att ett program ska startas, Windows missförstår detta och öppnar programmappen istället. Programmet som ska starta automatiskt har otydligt "berättat" för Windows vad som ska hända vid inloggningen (läs mer ovan) och Windows blir tvunget att "gissa".

· Felet beror på en bugg i den svenska versionen av Windows
- Nej, det här problemet kan uppstå i vilken språkversion som helst.

· Felet beror på en bugg i Windows 98.
- Nej, det här problemet kan uppstå i alla Windows-versioner (från och med Win95).

· Felet beror på att man installerar ett engelsk program i en svensk version av Windows.
- Nej, det ska inte heller orsaka några problem. Tyvärr så finns det en del dåliga installationsprogram som alltid installerar program i mappen "C:\Program Files" som standard. Ett bra installationsprogram kontrollerar först vilken mapp som program ska installeras i, detta kan nämligen vara olika på olika system.

· Windows läser bara de första åtta tecknen.
- Nej, Windows läser alla tecken. Men finns det mellanslag med kan den sista delen tolkas som en växel (se ovan i stycket "Varför öppnas C:\Program?")

· Man kan lösa problemet genom att flytta innehållet från C:\Program Files till C:\Program
- Ja, då löser man ett problem - MEN man riskerar samtidigt att få nya mycket värre problem. Om man gör så kan många andra inställningar ställa till problem. T ex kan man få problem med att avinstallera programmen som man flyttar. Genvägarna till programmen kommer att bli felaktiga. Det kan till och med bli så att de program man flyttar slutar helt att fungera. Så detta är ingen bra lösning. Om du av någon anledning måste flytta programmen så avinstallera de först som vanligt och installera om dom i C:\Program.

Om problemet kommer tillbaka

I sällsynta fall så hjälper det inte alltid att reparera felet med Programmappsfixaren, ibland kommer problemet tillbaka. Anledningen till detta är att först lagas problemet, sedan återställs ändringen av det program som ligger bakom problemet. I det här fallet bör du först ta reda på vilket program det är. Detta är relativt enkelt. Kör Programmappsfixaren en gång till och titta i felsökningsloggen. Här hittar du sökvägen till det program som strular. Nu finns det två saker att göra:

1. Det enklaste är att ändra i programmets inställningar så att det inte startar automatiskt. Detta alternativ finns inte alltid men väldigt ofta har man den möjligheten.

2. Ibland finns det ingen annan utväg än att avinstallera programmet och sedan installera om det i C:\Program. Observera att du ska avinstallera programmet i kontrollpanelen, om du flyttar mappen manuellt riskerar du att få värre problem.