Installationsprogram för Windows Vista och Windows 7


Windows Vista och Windows 7 - en ny generation av Windows från Microsoft
 
Det skedde stora förändringar i Windows, både under ytan och när det gäller det grafiska gränssnittet, när Windows Vista släpptes år 2006. Dessa förändringar påverkade installationsverktyg (som t ex Visual Installer) som var tvungna att ta hänsyn till de nya tekniska förhållanden som uppstod. En av de största förändringarna var det ökade säkerhetstänkandet, vilket såväl vanliga applikationsprogram som installationsprogram var tvungna att anpassa sig efter.
 
År 2009 släpptes Windows 7. Denna version av Windows är en vidareutveckling av Windows Vista. Väldigt mycket är detsamma under ytan vilket innebär att de anpassningar i programvara som gjorts för Windows Vista även gäller för Windows 7. Att det inte skiljer så mycket mellan Windows Vista och Windows 7 inser man när man tittar på versionsnumren för operativsystemen. Windows Vista har versionsnumret 6.0 medan Windows 7 har versionsnumret 6.1 (trots sitt produktnamn där ju en sjua ingår).
  
I denna artikel tar vi upp några saker man bör tänka på när man skapar installationer för Windows Vista och Windows 7. Vissa detaljer som berör vårt installations-verktyg Visual Installer tas också upp i artikeln.
Informationen i denna artikel gäller även för Windows 8.
 
 
Standardrättigheter och administratörsrättigheter
 
Program i Windows Vista och Windows 7 körs med antingen standardrättigheter eller administratörsrättigheter. Ett program som körs med standardrättigheter har en begränsad tillgång till systemet medan ett program som körs med administratörsrättigheter har nästan obegränsad tillgång till systemet.
 
Det som är nytt för Windows Vista / Windows 7, jämfört med tidigare versioner av Windows, är att även om en användare loggar in som en administratör, så startas de flesta program ändå med standardrättigheter. Om ett program kräver administratörsrättigheter så flaggar utvecklaren detta i sitt program. Saknas en sådan flagga startas programmet alltid med standardrättigheter, oavsett vilka rättigheter som den som loggat in har. Dessutom, om ett program i Windows Vista eller Windows 7 kräver administratörsrättigheter måste användaren alltid bekräfta nivåhöjningen via en dialogruta eller byta konto till ett administratörskonto. Det är inte möjligt att köra igång ett program med administratörsrättigheter utan användarens vetskap. Någon form av användardialogruta visas alltid, oavsett vilka rättigheter som den inloggade användaren har.


När program körs med standardrättigheter är delar av systemet spärrad mot skrivning
 
Om ett program körs med standardrättigheter så är vissa mappar på hårddisken och nycklar i Registry spärrade mot skrivning. Exempelvis så är Program-mappen och Windows-mappen spärrad mot lagring av filer eller ändring av befintliga filer. En standardanvändare kan enbart läsa filer från dessa mappar. Behöver en standardanvändare skapa filer på hårddisken så ska han främst använda mapparna under \Users\<Användare>, exempelvis: \Users\<Användare>\Documents.
 
Även i Registry är flera av nycklarna spärrade mot skrivning. Detta gäller t ex HKEY_LOCAL_MACHINE dit ett program med standardrättigheter inte kan skriva in data. Programmet kan bara läsa data från denna nyckel. Behöver ett program med standardrättigheter skriva data i Registry ska HKEY_CURRENT_USER användas istället. Den information som lagras där blir per användare, vilket innebär att en annan inloggad användare inte kommer åt denna information. Det är inte möjligt (under normala omständigheter) att dela data med andra användare via HKEY_CURRENT_USER.


Installationsprogram behöver normalt köras med administratörsrättigheter
 
Installationsprogram såsom Visual Installer behöver normalt köras med administratörsrättigheter. Detta eftersom installationsprogram ofta installerar filer till Program-mappen och behöver lägga in värden till nycklar i Registry som är spärrade för standardanvändaren. Detta gäller bland annat nycklarna HKEY_CLASSES_ROOT och HKEY_LOCAL_MACHINE, dit installationsprogram ofta lagrar inställningar som ska delas av alla användare på en viss dator.
 
När du startar ett installationsprogram, som kräver administratörsrättigheter, så kommer Windows Vista / Windows 7 alltid att be dig bekräfta nivåhöjningen eller be dig byta till ett administratörskonto. En dialogruta från Windows visas alltid innan själva installationsprogrammet går igång. Det finns inget sätt att komma runt detta utan det är ett av fundamenten i det nya säkerhetstänkandet i Windows Vista / Windows 7. I så stor utsträckning som möjligt ska program köras med standardrättigheter, men måste ett visst program tilldelas administratörsrättigheter måste man alltid bekräfta nivåhöjningen via en användardialogruta.


Att tänka på när man från ett installationsprogram lägger in data i Registry
 
I och med lanseringarna av Windows Vista och Windows 7 så kommer det att bli allt vanligare att man har ett eller flera standardkonton plus ett administratörskonto på en dator. Detta gäller både hemmamiljö och kontorsmiljö. Hemma kanske föräldrar föredrar att deras barn endast använder ett standardkonto, med begränsad åtkomst till systemet. Och på företag så kommer ett ökat säkerhetstänkande, och de nya förutsättningar som Windows Vista och Windows 7 gett, innebära att många föredrar att de som inte behöver administratörsrättigheter loggar in som standardanvändare i datorn.
 
Det här innebär att det kan bli vissa praktiska problem ifall man använder nyckeln HKEY_CURRENT_USER i en installation. Eftersom en installation normalt kräver administratörsrättigheter innebär det att en standardanvändare måste byta till ett administratörskonto (eller kalla på administratören) innan programmet kan installeras. Ett kontobyte innebär att en annan användare installerar än den som kör programmet. Det medför att all data som skrivs in i HKEY_CURRENT_USER endast kan läsas av administratören. Inte av standardanvändaren.
 
Ska man skriva in data i Registry som ska kunna läsas oberoende av vem som är inloggad bör HKEY_LOCAL_MACHINE användas istället. Eventuell data som ska skrivas in i HKEY_CURRENT_USER, dvs data som ska lagras per användare, bör skrivas in av de program som installerats istället. Exempelvis kan installationsprogrammet skriva in default-inställningar (grundinställningar) i HKEY_LOCAL_MACHINE och därefter lagrar de installerade programmen användaranpassade inställningar under HKEY_CURRENT_USER när programmet startar eller när det stängs.


Genvägar i Windows Vista och Windows 7
 
I Windows XP och äldre var det vanligt att man valde om man ville installera genvägar till endast inloggad användare eller till alla användare i en dator. Men eftersom en installation i Windows Vista och Windows 7 ofta kräver administratörsrättigheter blir det svårt att installera genvägar för en specifik standardanvändare. Information om vem som var den sista standardanvändaren lagras inte i systemet på ett lättillgängligt sätt och det kan vara svårt att veta om användaren bytte användarkonto bara för aktuell installations skull eller av helt andra skäl.
 
Att installationsprogram körs med administratörsrättigheter innebär att filer och inställningar lagras per dator eller för enbart administratören. Detta gäller även genvägar (ikoner) till program och dokument mm. Filer som installeras till Program-mappen är alltid per dator och således är det ofta logiskt att även genvägar ska vara per dator.


64-bitars versioner av Windows Vista och Windows 7
 
I och med lanseringen av Windows 7 så har användandet av 64-bitars versioner av Windows börjat ta fart. Det finns en del personer som använder en 64-bitars version av Windows Vista, och vissa enstaka använder till och med en 64-bitars Windows XP, men det är först i samband med att Windows 7 introducerades på marknaden som en betydande andel 64-bitars Windows har börjat säljas. En orsak är att 64-bitars datorerna sjunkit så mycket i pris att de idag bara är marginellt dyrare än 32-bitars datorer och nu när många användare ska förnya sina datorer så blir det logiska valet att köpa en 64-bitars dator med en 64-bitars Windows 7.
 
En 64-bitars version av Windows kan hantera både 32- och 64-bitars program. När ett 32-bitars program körs i en 64-bitars Windows så ska systemet i princip uppföra sig som en 32-bitars Windows. Men det finns dock en del saker att ta hänsyn till i samband med installationen av ett program i en 64-bitars Windows.
 
I en 64-bitars Windows så finns det två versioner av Program-mappen och två versioner av systemmappen (system-katalogen). En version är avsedd för 32-bitars filer och en annan version är avsedd för 64-bitars filer. När det gäller systemmappen så måste man alltid installera filer med en viss bitstorlek till rätt systemmapp, annars kan inte dessa filer laddas in och användas av de program som behöver dem. När det gäller Program-mappen så rekommenderas det starkt att installera filer med en viss bitstorlek till avsedd mapp eftersom det annars finns risk att vissa filer inte fungerar som de ska. Och riktlinjerna från Microsoft, när det gäller installationer i Windows, är att filer med viss bitstorlek alltid ska installeras till de mappar som de är avsedda för. I tabellen nedan så ser du till vilka mappar som filer med en viss bitstorlek ska installeras till:
 
Mappnamn Svenskt mappnamn Bitstorlek Beskrivning
System32 System32 64 Systemmapp för 64-bitars filer
SysWOW64 SysWOW64 32 Systemmapp för 32-bitars filer
Program Files Program 64 Program-katalog för 64-bitars filer
Program Files (x86) Program (x86) 32 Program-katalog för 32-bitars filer

Observera att mappen System32 ska användas för installation av 64-bitars filer och mappen SysWOW64 ska användas för installation av 32-bitars filer. Tvärtom mot vad man skulle kunna tro med tanke på mappnamnen, men orsaken till att mappnamnen är som de är beror på att när man skapade systemet så ville man ha 64 bitars mappsökvägar som var helt bakåtkompatibla namnmässigt med mappsökvägar i 32 bitars system.
 
Mer detaljerad information om de mappar som nämns ovan, samt en del annan information om 64-bitars Windows, kan läsas i följande artikel på vår sajt: 64-bitars Windows: Mapparna 'Program (x86)' och 'SysWOW64' förklaras
 

Att tänka på när man distribuerar en självuppackande Internet-installation via CD/DVD
 
I Visual Installer kan man välja mellan att skapa installationer för CD/DVD eller Internet. En installation avsedd för Internet packas ihop till en enda EXE-fil medan en installation för CD/DVD består av en mängd filer. Många har använt Internet-installationer även till CD/DVD eftersom det ibland är enklare att hantera en enda fil. Att samma fil kan användas till både Internet och CD/DVD kan även förenkla underhållet av installationer.
 
Om du använder Visual Installer 2008 eller äldre så har du kanske märkt att installationsprogrammet ibland startar i bakgrunden i Windows Vista och Windows 7, och att en knapp på Aktivitetsfältet blinkar och användaren måste klicka på denna knapp för att installationsprogrammet ska hamna i förgrunden.
 

 
Om du vill att installationen ska hamna i förgrunden direkt, utan att man trycker på knappen på Aktivitetsfältet, så kan du lägga till ordet SETUP eller INSTALL i filnamnet (exempelvis så här: MyFiles-SETUP.exe). Då förstår Windows Vista och Windows 7 att EXE-filen är en installation som bör köras i förgrunden.
 
Använder du Visual Installer 2010 eller nyare så behöver du inte lägga in något av dessa ord i filnamnet. Visual Installer infogar ett speciellt manifest i den självuppackande installationsfilen som gör att Windows Vista och Windows 7 vet hur denna fil bör hanteras när den startar.
 

 
Vill du ha fler tips?
 
Vill du ha fler tips som har med installationsprogram att göra så kan du prenumerera på vårt nyhetsbrev. Du kan även ta en titt på våra övriga artiklar.
 
 
Relaterad produktinformation:
SamLogic Visual Installer  -  skapar installationer för Windows

 
Artikeln finns som en utskrivbar PDF också.

Öppna PDF-dokument
SamLogic
Skriven av: Mika Larramo English