DESKTOP INTEGRATION MANAGEMENT FOR PORTABLE, ZERO-INSTALL AND - - PowerPoint PPT Presentation

desktop
SMART_READER_LITE
LIVE PREVIEW

DESKTOP INTEGRATION MANAGEMENT FOR PORTABLE, ZERO-INSTALL AND - - PowerPoint PPT Presentation

DESKTOP INTEGRATION MANAGEMENT FOR PORTABLE, ZERO-INSTALL AND VIRTUALIZED APPLICATIONS BACHELOR THESIS PRESENTATION BASTIAN EICHER KIT, 2011 Overview What is wrong with current Problem definition installers Improve an existing


slide-1
SLIDE 1

DESKTOP INTEGRATION

MANAGEMENT FOR PORTABLE, ZERO-INSTALL AND VIRTUALIZED APPLICATIONS

BACHELOR THESIS PRESENTATION BASTIAN EICHER – KIT, 2011

slide-2
SLIDE 2

Overview

Bachelor Thesis Presentation – Bastian Eicher

2

  • What is wrong with current

installers

Problem definition

  • Improve an existing zero-install

system

Proposed solution

  • Domain-specific languages,

capturing, applying

Design & implementation

  • Qualitative, quantitative

Evaluation

slide-3
SLIDE 3

Problem definition

Bachelor Thesis Presentation – Bastian Eicher

3

User control Multiple versions Libraries Uninstall

slide-4
SLIDE 4

Existing technology

Bachelor Thesis Presentation – Bastian Eicher

4

Zero-install applications

Zero Install

Portable applications

Portable Apps.com

Application virtualization

ThinApp App-V InstallFree Bridge

slide-5
SLIDE 5

Desktop Integration

Handler

  • File endingns
  • Burn CDs, etc.

Services

  • Browser
  • Mail client

Icons

  • Start menu
  • Desktop

Bachelor Thesis Presentation – Bastian Eicher

5

slide-6
SLIDE 6

What is Zero Install?

Install

  • Without root priveliges
  • Without side-effects

Distribute

  • Decentralized, regular websites
  • Directly upstream from developer

Security

  • GnuPG signatures
  • Sha-256 hashes

Bachelor Thesis Presentation – Bastian Eicher

6

slide-7
SLIDE 7

Zero Install: Feeds

Metadata

  • Name
  • Description
  • Icon

Dependencies

  • References to
  • ther feeds

Implementations

  • Download URLs
  • Archive type
  • SHA hashes

Bachelor Thesis Presentation – Bastian Eicher

7

<?xml?>

<!-- Base64 Signature iQEcBAABAgAGBQJOBZXzAg8Nq0A... -->

slide-8
SLIDE 8

Zero Install: Launch process

download

Archives Hashes

Bachelor Thesis Presentation – Bastian Eicher

8

Inter- face Require ments Depend encies

select run

Dependency injection

0install run http://domain/file.xml

Interface URI

slide-9
SLIDE 9

Proposed solution

Bachelor Thesis Presentation – Bastian Eicher

9 Extend Zero Install to provide desktop integration Analyze

  • Installers
  • Desktop

environments Design

  • Domain-

specific language Implement

  • Toolset
  • Runtime

support

slide-10
SLIDE 10

Design

Capabilities Access points

Bachelor Thesis Presentation – Bastian Eicher

10

  • Open with list
  • AutoPlay handler
  • Register as default
  • Desktop icon
slide-11
SLIDE 11

Domain-specific languages

Bachelor Thesis Presentation – Bastian Eicher

11

slide-12
SLIDE 12

Capturing

Classic installer Modify system state Improved Zero Install Register capabilities, add access points Zero Install Extract files

Bachelor Thesis Presentation – Bastian Eicher

12

Snapshots Feed

slide-13
SLIDE 13

Applying

  • Check for conflicts
  • Update application list
  • Modify registry, create shortcuts, etc.

Bachelor Thesis Presentation – Bastian Eicher

13

0install integrate-app http://domain/file.xml ...

slide-14
SLIDE 14

Sync

Application list as XML AES-128 encryption Upload Download AES-128 decryption

Bachelor Thesis Presentation – Bastian Eicher

14

HTTP PUT HTTP GET 3-way merge

slide-15
SLIDE 15

Implementation

Desktop integration

  • Branch of

Windows port

  • C# 2.0

Windows port

  • Developed
  • utside of thesis
  • C# 2.0

Original Zero Install

  • Pre-existing

project

  • Python

Bachelor Thesis Presentation – Bastian Eicher

15

slide-16
SLIDE 16

Problem: Runtime modifications

Bachelor Thesis Presentation – Bastian Eicher

16

Access point Zero Install Select version Dependency injection Target application

Access point Fixed version Target application

slide-17
SLIDE 17

Solution: API hooking

Bachelor Thesis Presentation – Bastian Eicher

17

Application Zero Install Windows registry

Application settings Reference to specific app version Reference to 0install run

slide-18
SLIDE 18

Problem: Metadata in EXEs

Bachelor Thesis Presentation – Bastian Eicher

18

slide-19
SLIDE 19

Solution: Stubs

Bachelor Thesis Presentation – Bastian Eicher

19 Interface URI Command name Binary name

http://mozilla.org/ firefox.xml safe-mode firefox

SHA-256

...\stubs\e55b7669206cfd44fe6676b53...\firefox.exe

slide-20
SLIDE 20

Evaluation: Qualitative

INSTALLATION RUNTIME Use cases:

  • File double-click
  • Default browser
  • Command line
  • Context menu
  • AutoPlay

Bachelor Thesis Presentation – Bastian Eicher

20

Classic installers Zero Install

Captured: File types, protocols, … Not captured: Browser plugins, drivers, …

slide-21
SLIDE 21

Evaluation: Quantitative

PERFORMANCE

  • Solving time:

~1.3 s Plain Zero Install

  • Startup delay:

~250 ms

  • Delay per API:

~460 ns API hooking

STABILITY

  • API hooking captures

all supported changes

  • Causes memory

access violations in some applications

  • May be improved

using application virtualization methods

Bachelor Thesis Presentation – Bastian Eicher

21

slide-22
SLIDE 22

Conclusion

Zero Install can now provide desktop integration equivalent to classic installers

Bachelor Thesis Presentation – Bastian Eicher

22