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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend