Software installasjon og andre ettertanker

Like dokumenter
INSTALLASJONSVEILEDNING FOR KALK2010 KALKULASJONSPROGRAM

Installasjonsveiledning for Ordnett Pluss

Installasjonsveiledning for Ordnett Pluss

Installasjonsveiledning Oppgradering av tidligere versjon

Oppgradering/installasjon av nye versjoner av ISY Park

INSTALLASJONSVEILEDNING

Felleskatalogens Nedlastbare CD-rom/web. Installasjonsveiledning Server (Flerbruker) for Windows

Installasjonsbeskrivelse for CAB Service Plattform med CABInstall

Installasjonsveiledning for Ordnett Pluss

Huldt & Lillevik Reise. Oppgradering. Aditro HRM AS

1. Å lage programmer i C++

Opus Dental 7.1 Oppdateringsveiledning

Scan Secure GTS PAS

)DVW3ODQ,QVWDOOHULQJ $%% $6 'LYLVMRQ $XWRPDVMRQVSURGXNWHU ΑΒΒ 3RVWERNV 6NLHQ

P L A N I A 8 S Y S T E M K R A V PLANIA 8 SYSTEM KRAV. Plania 8 Systemkrav.docx av 8

Generelt om operativsystemer

Installasjonsmanual for 1 st part TAPI

Velkomment til å installere BAS21

1. Å lage programmer i C++

Dokumentasjon av Git. Vedlegg F

Felleskatalogens Nedlastbare CD-rom/web. Installasjonsveiledning Enbruker (PC og bærbar) Windows

CORBA Component Model (CCM)

Veiledning for oppdatering av Extensor 05 - versjon 1.16.

Huldt & Lillevik Lønn 5.0. Oppdatere til ny versjon

Installasjonsveiledning Oppgradering av tidligere versjon

Konfigurasjonsstyring

INSTALLASJONSVEILEDNING FOR DATAX REISEREGNING BEDRIFT

Dokumentasjon av Installasjon

Huldt & Lillevik Reise. Oppgradering. Aditro HRM AS

Installasjonsveiledning Visma Avendo Lønn, versjon 7.60 Oktober 2011

Brukerveiledning for programmet HHR Animalia

Opus Dental 7.1 Oppdateingsveiledning

MERK: DU MÅ IKKE PRØVE Å INSTALLERE PROGRAM- VAREN FØR DU HAR LEST DETTE DOKUMENTET.

Manual for å oppgrade TS 1000 fra:

Huldt & Lillevik Reise. Oppgradering. Aditro HRM AS

Installasjonsveiledning. DDS-CAD ByggMester

Generelt om operativsystemer

Velkommen som ny bruker av Uni Økonomi!

Corentium Rapport & Analyse SW v2.2. Installasjonsguide

- Så har man antagelig et problem med Windows sin driversignering å gjøre.

DIPS Communicator 6.x. Installasjonsveiledning

Installere JBuilder Foundation i Mandrake Linux 10.0

Installasjon og oppgradering av Advisor

DDS-CAD 7 INSTALLERE PÅ TERMINALSERVER. DATA DESIGN SYSTEM ASA Øksnevad Næringspark, 4353 Klepp st., fax , tel.: , e-post: dds@dds.

DatamedFT Brukerhåndbok

Trinnvis veiledning for oppdatering til Windows 8.1

Hvordan koble seg opp mot prosjekt i SAFE fra Mac OS X?

Operativsystemer og grensesnitt

Aditro AS. Produktnotat Huldt & Lillevik Ansattportal Ansattportal. Versjon (286) Copyright 2014 Aditro Side 1

HP Easy Tools. Administratorhåndbok

Oppdatere, sikkerhetskopiere og gjenopprette programvare

Etiming i VirtualBox!!!!!!!!!! Side 1 av 24

Administrasjon av FLT-Sunnhordland Web-side

Nedlasting og brenning av egne ISO-cd-er

HJEMMEKONTOR. Del 1 Installasjon på jobb Norsk Helsenett SF

TAIME DATABASE INSTALLASJONSVEILEDNING

Håndtering av filer og kataloger

Installere programvare gjennom Datapennalet - Tilbud

NY PÅ NETT. Operativsystemer

Kurset består av to relativt uavhengige deler. Foreleser: Hårek Haugerud, rom PS431

Maestro Klientadministrasjon

Tilkobling. Windows-instruksjoner for en lokalt tilkoblet skriver. Før du installerer skriverprogramvare i Windows

Håndtering av filer og kataloger

Læringsmål og pensum. v=nkiu9yen5nc

InfoRed Publisering. - produktbeskrivelse. TalkPool WebServices Postboks Åneby

Brukerveiledning For Installasjon Av PCKasse. v1.01

Vedlegg 1: Oversikt over noen mulige leverandører

Installasjonsveiledning av Faktura Z

PRINTER DRIVER ADMINISTRATOR GUIDE

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

INSTALLASJONSVEILEDNING OPPDATERING TIL VERSJON Mamut datax Software DETALJERT STEG-FOR-STEG VEILEDNING FOR HVORDAN

Installasjonsdokument

Advertisements i SCCM. Innhold

Funksjonalitet og oppbygning av et OS (og litt mer om Linux)

ISY Park Go og nye ISY Park. Endre Lykke, NoIS

Om verktøyet. Installering av MySQL Migration Toolkit. Installer toolkitet. Brukerveiledning til Intelligent Converters MySQL Migration Toolkit

For mer informasjon om SQL Server 2014 Express, se Microsoft sine nettsider:

Din verktøykasse for anbud og prosjekt

AlgDat 10. Forelesning 2. Gunnar Misund

Programvareoppdateringer

Installasjonsveiledning

Byggeweb Prosjekt Brukerveiledning Arbeidsområdet

2. HVA ER EN KOMPONENT?

Telio Bredbåndstelefoni Installasjons- & brukerveiledning Telio SoftPhone

Huldt & Lillevik Ansattportal. Installere systemet

Samsung Universal Print Driver Brukerhåndbok

Introduksjon...5. Systemkrav...7. For Windows...9

Saia PG Kjære kunde,

Installasjonsveiledning. DDS-CAD Arkitekt & Konstruksjon 7

Oppdatering av eget innhold på venteromsskjermer BRUKERVEILEDNING

Installere JBuilder Foundation i Windows XP

Flytte Lønn 5.0 fra SQL 2000 til SQL 2005 / 2008

UNIVA as, Tromøyveien 26, N-4841 Arendal, Norway Phone: , web:

Enbruker-installasjon

Småteknisk Cantor Controller installasjon

Programvareoppdateringer Brukerhåndbok

Transkript:

Software installasjon og andre ettertanker Stein Jørgen Ryan 25feb05 Software installasjon Alle software produsenter gjør det. Høyst varierende forståelse av hva det er. Hvordan gjøres det i dag (på Windows)? Hvordan ble det slik? Hva er idealet? Hvordan realisere idealet? 1

Installasjon i dag (Windows) Skriv ditt eget setup.exe program som: 1. Oppretter en tom katalog. 2. Kopierer inn Egenutviklede filer til nyopprettet katalog. Microsoft redistribuérbare filer til systemkatalog. 3. Gjør funksjonaliteten tilgjengelig Legger programmet inn i Start menyen. Eventuelt hekter seg på som OS plugin. 4. Eventuelt registrerer egenutviklet uninstall.exe. Avinstallering i dag (Windows) Kun mulig hvis registrert med uninstall.exe. Windows vil da: 1. Liste opp de programmer som har registrert seg. 2. Starte egenutviklet uninstall.exe for valgt program. 3. Uninstall.exe reverserer det som ble gjort av setup.exe. 2

Sørgelig oppsummering Setup.exe = applikasjonskonstruktor. Uninstall.exe = applikasjonsdestruktor. Microsoft overlater hele oppgaven til applikasjonsutviklerne. Gjøres en eneste applikasjonsinstallasjon feil, får potensielt alle installerte applikasjoner lide. Jobben til et operativsystem er å isolere applikasjoner fra hverandre!!! Hvordan havnet vi i denne suppa? In the beginning was the command line Installasjon = nytt verb/kommando i shell. Eksekverbar fil kopieres til /usr/bin. Forhåndsdefinert katalogstruktur. Uninstall = fjerne filen. Install/uninstall er operasjoner på filer. Veldefinert og enkelt. Dagens systemer er mer enn et shell der hver kommando er en (og bare en) eksekverbar fil. Dette kompliserer installasjonsprosessen. 3

Enter the dragon 1 Dynamisk linking. Et program er ikke lenger én fil, men er nå: En hovedfil (exe). Flere dynamiske lenkede biblioteker (DLL) Link fra hovedfil til start-meny etc. Flere programmer kan dele en DLL. Typisk redistribuérbare tillegg fra Microsoft. Eksempler: GDI+ og.net framework. DLL HELL Programmer redistribuerer samme DLL. Flere versjoner av denne DLL. Problem: Installer et program = et annet slutter å virke. Microsoft løsning: Versjonskontroll av DLL. Gjøres av installasjonsprogrammet. Dersom en produsent gjør det feil slutter programmer fra andre produsenter å virke. 4

To typer dynamisk linking Implisitt. Exe inneholder refereranse til DLL er. Loader laster automatisk inn DLL er. Leter etter DLL ene i bestemte kataloger. Eksplisitt. Exe inneholder ikke referanser til DLL. Programmet laster DLL selv (LoadLibrary). Kall via funksjonspekere (GetProcAddress). Eksplisitt dynamisk linking Meget kraftig mekanisme som gir Late binding. Utbyttbar funksjonalitet. Basis for Common Object Model (COM).NET 5

Enter the dragon 2 Ved eksplisitt dynamisk linking: Ingen referanser fra EXE til DLL. Ukjent hvilke DLL er som brukes av EXE! Avhengigheter må lagres separat. Finnes ingen sentral oversikt over dette. Gjøres i beste fall av hvert enkelt program. Ingen generell mekanisme for avinstallering. Void if seal broken Produsenter trenger å kunne gi garantier. Må kunne beskytte seg mot andres feil. Støtte interaksjon med annen software. Vanskelig pr i dag. Program er bare en samling EXE og DLL filer. Avhengigheter mellom filer er ukjent. Direkte håpløst når flere programmer deler DLL. Til hinder for integrasjon av programvare. Vi trenger nye mekanismer! 6

Komponenter Enhet som (atomisk) kan Installeres Fjernes Oppdateres (feilrettinger) Kan ikke oppdateres av andre enn produsenten. Kan inneholde andre komponenter. Noen obligatoriske, andre ikke. Holder styr på avhengigheter mellom disse. Eksempler på komponenter Eksekverbar enkeltfil (EXE/DLL). Program Samling enkeltfiler med innbyrdes avhengigheter Eksempel: Excel Programpakke. Eksempel: Microsoft Office Device drivers Plugins Biometrisk login shell Passord kvalitetssjekker 7

Operativsystemet som komponent OS er en komponent. Inneholdes ikke i andre komponenter. Inneholder alle andre komponenter. Noen obligatoriske: dev-drivers, shell, plugins. Andre ikke-obligatoriske: Applikasjoner. Holder styr på alle avhengigheter og tilbyr: Installering. Avinstallering. Oppdatering (via web). Komponentstøtte i dag Systemkritiske komponenter Device drivers (tvunget fram av PnP) Visse typer plugins (protokollstack etc) Oppdatering via Windows Update Burde vært, men er ikke komponenter Programmer Plugins generelt 8

Konsekvenser Ingen sentral oversikt over software Installasjon/avinstallasjon er ikke robust Ingen sentral oppdateringsfunksjon Ønskeliste for ny OS funksjonalitet En sentral database over komponenter. Klar definisjon av komponenttyper. For hver komponenttype Språk for å beskrive en komponent av typen. Installasjon basert på beskrivelsen. Avinstallering som reverserer installasjonen. Generell oppdateringstjeneste. Kommuniserer med en server hos produsenten. Gi bedre beskyttelse mot virus. 9

Hvordan realisere ny funksjonalitet Operativsystem produsentene kan: Utvide eksisterende støtte for kritiske komponenter til også å omfatte vanlige applikasjoner. Åpne opp protokoller som Windows Update. I mellomtiden bør man Ikke distribuere redistribuerbare filer (!) Ikke kopiere filer til systemkataloger. Hva med open source? Mulig å modifisere Linux? Liten tradisjon for binære distribusjoner! Lang tradisjon for enkel shell-fokusert bruk! Plug-and-play hardware vil fremtvinge mer komponentmessig håndtering av kritiske sw-komponenter. Applikasjonsinstallasjon kan utnytte denne trenden. 10

Surfe inn på neste bølge?.net introduserer interessante konsepter: Distribuert kode er CIL (mellomkode). Kodegenerering gjøres ved installasjonen. CIL kode beskriver alle avhengigheter. CIL assemblies er fullgode komponenter? 11