desktop
play

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


  1. DESKTOP INTEGRATION MANAGEMENT FOR PORTABLE, ZERO-INSTALL AND VIRTUALIZED APPLICATIONS BACHELOR THESIS PRESENTATION BASTIAN EICHER – KIT, 2011

  2. Overview • What is wrong with current Problem definition installers • Improve an existing zero-install Proposed solution system • Domain-specific languages, Design & implementation capturing, applying • Qualitative, quantitative Evaluation 2 Bachelor Thesis Presentation – Bastian Eicher

  3. Problem definition User control Multiple versions Libraries Uninstall 3 Bachelor Thesis Presentation – Bastian Eicher

  4. Existing technology Zero-install applications Portable applications Application virtualization Zero Install Portable Apps.com InstallFree ThinApp App-V Bridge 4 Bachelor Thesis Presentation – Bastian Eicher

  5. Desktop Integration Handler Icons • File endingns • Start menu • Burn CDs, etc. • Desktop Services • Browser • Mail client 5 Bachelor Thesis Presentation – Bastian Eicher

  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 6 Bachelor Thesis Presentation – Bastian Eicher

  7. Zero Install: Feeds <?xml?> Implementations Metadata Dependencies • Download URLs • Name • References to • Archive type • Description other feeds • SHA hashes • Icon <!-- Base64 Signature iQEcBAABAgAGBQJOBZXzAg8Nq0A... --> 7 Bachelor Thesis Presentation – Bastian Eicher

  8. Zero Install: Launch process Interface URI 0install run http://domain/file.xml select download run Inter- face Dependency Require Archives Hashes ments injection Depend encies 8 Bachelor Thesis Presentation – Bastian Eicher

  9. Proposed solution Extend Zero Install to provide desktop integration Analyze Design Implement • Installers • Domain- • Toolset • Desktop specific • Runtime language environments support 9 Bachelor Thesis Presentation – Bastian Eicher

  10. Design • Open with list • AutoPlay handler Capabilities Access points • Register as default • Desktop icon 10 Bachelor Thesis Presentation – Bastian Eicher

  11. Domain-specific languages 11 Bachelor Thesis Presentation – Bastian Eicher

  12. Capturing Classic installer Improved Zero Install Modify system Zero Install state Register capabilities, Extract files add access points Feed Snapshots 12 Bachelor Thesis Presentation – Bastian Eicher

  13. Applying 0install integrate-app http://domain/file.xml ... • Check for conflicts • Update application list • Modify registry, create shortcuts, etc. 13 Bachelor Thesis Presentation – Bastian Eicher

  14. Sync Application list as XML 3-way merge AES-128 AES-128 decryption encryption HTTP GET HTTP PUT Download Upload 14 Bachelor Thesis Presentation – Bastian Eicher

  15. Implementation • Branch of Desktop Windows port integration • C# 2.0 • Developed Windows outside of thesis port • C# 2.0 • Pre-existing Original project Zero Install • Python 15 Bachelor Thesis Presentation – Bastian Eicher

  16. Problem: Runtime modifications Select Dependency Target Access point Zero Install version injection application Fixed Target Access point version application 16 Bachelor Thesis Presentation – Bastian Eicher

  17. Solution: API hooking Application Application Reference to settings specific app version Zero Install Reference to 0install run Windows registry 17 Bachelor Thesis Presentation – Bastian Eicher

  18. Problem: Metadata in EXEs 18 Bachelor Thesis Presentation – Bastian Eicher

  19. Solution: Stubs Interface URI Command name Binary name safe-mode firefox http://mozilla.org/ firefox.xml SHA-256 ...\stubs\e55b7669206cfd44fe6676b53...\firefox.exe 19 Bachelor Thesis Presentation – Bastian Eicher

  20. Evaluation: Qualitative INSTALLATION RUNTIME Use cases: Classic • File double-click installers Zero Install • Default browser • Command line Captured: File types, protocols, … • Context menu • AutoPlay Not captured: Browser plugins, drivers, … 20 Bachelor Thesis Presentation – Bastian Eicher

  21. Evaluation: Quantitative PERFORMANCE STABILITY • API hooking captures all supported Plain • Solving time: changes Zero ~1.3 s Install • Causes memory access violations in some applications • Startup delay: • May be improved ~250 ms API using application • Delay per API: hooking virtualization ~460 ns methods 21 Bachelor Thesis Presentation – Bastian Eicher

  22. Conclusion Zero Install can now provide desktop integration equivalent to classic installers 22 Bachelor Thesis Presentation – Bastian Eicher

Recommend


More recommend