Download presentation
Presentation is loading. Please wait.
Published byDamon Scott Modified over 8 years ago
1
DESKTOP INTEGRATION MANAGEMENT FOR PORTABLE, ZERO-INSTALL AND VIRTUALIZED APPLICATIONS BACHELOR THESIS PRESENTATION BASTIAN EICHER – KIT, 2011
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
3
Problem definition Bachelor Thesis Presentation – Bastian Eicher 3 User controlMultiple versionsLibrariesUninstall
4
Existing technology Bachelor Thesis Presentation – Bastian Eicher 4 Zero-install applications Zero Install Portable applications Portable Apps.com Application virtualization ThinAppApp-V InstallFree Bridge
5
Desktop Integration Handler File endingns Burn CDs, etc. Services Browser Mail client Icons Start menu Desktop Bachelor Thesis Presentation – Bastian Eicher 5
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
7
Zero Install: Feeds Metadata Name Description Icon Dependencies References to other feeds Implementations Download URLs Archive type SHA hashes Bachelor Thesis Presentation – Bastian Eicher 7 <!-- Base64 Signature iQEcBAABAgAGBQJOBZXzAg8Nq0A... -->
8
Zero Install: Launch process download ArchivesHashes Bachelor Thesis Presentation – Bastian Eicher 8 Inter- face Require ments Depend encies selectrun Dependency injection 0install run http://domain/file.xml Interface URI
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
10
Design Capabilities Access points Bachelor Thesis Presentation – Bastian Eicher 10 Open with list AutoPlay handler Register as default Desktop icon
11
Domain-specific languages Bachelor Thesis Presentation – Bastian Eicher 11
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
13
Applying Check for conflictsUpdate application listModify registry, create shortcuts, etc. Bachelor Thesis Presentation – Bastian Eicher 13 0install integrate-app http://domain/file.xml...
14
Sync Application list as XML AES-128 encryption UploadDownload AES-128 decryption Bachelor Thesis Presentation – Bastian Eicher 14 HTTP PUTHTTP GET 3-way merge
15
Implementation Desktop integration Branch of Windows port C# 2.0 Windows port Developed outside of thesis C# 2.0 Original Zero Install Pre-existing project Python Bachelor Thesis Presentation – Bastian Eicher 15
16
Problem: Runtime modifications Bachelor Thesis Presentation – Bastian Eicher 16 Access pointZero Install Select version Dependency injection Target application Access point Fixed version Target application
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
18
Problem: Metadata in EXEs Bachelor Thesis Presentation – Bastian Eicher 18
19
Solution: Stubs Bachelor Thesis Presentation – Bastian Eicher 19 Interface URICommand nameBinary name http://mozilla.org/ firefox.xml safe-mode firefox SHA-256...\stubs\e55b7669206cfd44fe6676b53...\firefox.exe
20
Evaluation: Qualitative INSTALLATIONRUNTIME 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, …
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
22
Conclusion Zero Install can now provide desktop integration equivalent to classic installers Bachelor Thesis Presentation – Bastian Eicher 22
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.