160 likes | 312 Views
State Driven Software Installation for Windows NT Martin Sjölin, WDR martin.sjoelin@wdr.com. Overview. Background Environment Introduction to Packaging Implementation - Workstation/Server & User The Good, the Bad and the Ugly Questions. Background.
E N D
State Driven Software Installation for Windows NTMartin Sjölin, WDRmartin.sjoelin@wdr.com
Overview • Background • Environment • Introduction to Packaging • Implementation - Workstation/Server & User • The Good, the Bad and the Ugly • Questions
Background • Merger of two administrative model & technical infrastructure • Locked down machine with standard set of applications • User data on local server • Flex seating • NetWare Servers, NT Servers, and Workstations • Easy installation of standard components • Secure server • Insecure workstations and LAN
Environment • Union Bank of Switzerland (UBS) • ~25000 NT4.0 WS • ~700 NW 4.11 SV • ~500 Applications (16-bit & 32-bit) • Local Administration • Centralized user administration (NDS) • Software distribution via CD or HTTP • Swiss Bank Corporation (SBC) • ~14000 NT3.51 WS • ~1000 NT 3.51 SV • ~400 Applications (16-bit & 32-bit) • Centralized Administration • Centralized User administration (NT Domain) • Software distribution and installation via SMS & ftp
Packaging - Background • Sys V like packaging • Based on experiencing from Solaris, HP-UX, NetWare 3.x, and NetWare 4.x • WinInstall & InstallShield was not sufficient • Run Time packages • Support for NT Servers, NetWare Servers, NT Workstations
Packaging - NT applications • Server components - files (dictionaries etc). • Machine components - files (DLL/EXE) & registry (HKLM) • User Components - files (INI/DAT) & registry (HKCU)
Packaging - UBS • Packaging Classes: registry, files, path, environment,…. • Packaging Variables: independent of directory structures • Declarative (prototyp.txt) • Dependencies: Installation- and Run-Time • Server based Installation & Local Installation. • Pkgmk, pkgadd, pkgrm, pkgchk …
EUPSRV - Workstation/Server Components • NT service running under local system account • Using Credential to access the package server • Poll mode: Wakes up regularly to check for status change • Push mode: Start from SMS job or ZEN client • Handles restarts requested by packages • Verify if user is logged in • Run pre- and post-batch script • Same service for NT Server, Workstation, and Laptop
Machine’s Current State • Determine the Current State of the machine: • Determine set of packages installed • For each package determine: installation mode & installation time, installation status, f&p server • Machine Current State - %SystemRoot%\Config\PkgInfo\ …. office_5_un_5.0\pkginfo.ini ubsgnu_4_un_1.4\pkginfo.ini ubsperl_5_un_1.5\pkginfo.ini ...
Machine’s Target State • Read the Target State from the configuration database • list of packages with installation mode (local, shared, or exported) • Machine Target State: … UBSGNU_4_UN_1.5=LOCAL UBSPERL_5_UN_1. 4=LOCAL OFFICE_5_IE_5.0=SHARED OUTLOOK_4_IE_5.11=SHARED ...
Packages to Remove or Add • Determine set of Packages 2 Remove = all packages not in the Target State but in the Current State ubsgnu_4_un_1.4 ubsperl_5_un_1.4 • Determine set of Packages 2 Install = all package in the Target State but not in the Current State ubsgnu_4_un_1.5 ubsperl_5_un_1.4 outlook_4_ie_5.11
Do It! • Filter out all packages not installed by service • Verify that all packages sources is present • Verify that all server based components is present • Remove packages in Packages 2 Remove set • install reverse installation order • handle packages requested immediate reboots • Install the packages the Packages 2 Install set • installation order as listed in the configuration database
EUPLOGON - User Components • Invoked at user logon via UserInit HKLM • Compares packaging installed in the “user profile” • Against packages installed on the current machine • Package customize via pre- and post-batch files • Only remove user components locally installed
The Good, the Bad & the Ugly • System in operation since autumn 1997 • Mechanism not bound packaging • Overwrite versus pkgrm + pkgadd • Centralized local states versus distributed of installed package • Integration Microsoft SMS • Same version of server based packages • 100% of packages delivered to SMS distribution servers • Poll versus Push mode • Centralized configuration database versus files • Packaging Guidelines together with tools • Microsoft Software Installer (MSI)
Contacts Martin Sjölin, martin.sjoelin@wdr.com