Atliko: Jokūbas Rusakevičius VU MIF PS 3k 3g

Slides:



Advertisements
Similar presentations
SOAP.
Advertisements

SOAP Quang Vinh Pham Simon De Baets Université Libre de Bruxelles1.
Lesson 6 – Part 6 Word Lesson 6 presentation prepared by Michele Smith – North Buncombe High School, Weaverville, NC. Content from Microsoft Office Word.
IoT HoloLens Surface Hub Windows Desktop Windows Mobile Xbox ONE CORE OS ONE APP PLATFORM ONE STORE Windows 10.
Windows XP File System Management Group D. 3 Layers of Drivers Filter Drivers Filter Drivers –Virus protection, compression, encryption File System Drivers.
Tony 684 User Data App Services Arun 765 Thomas 762 Shell Kernel Shawn 626 App Roberth 779 Enterprise John Ignite Store Barclay 695 Andrew 617 App Model.
Operating Systems.
Chapter 14 Introduction to HTML
X.509 Certificate management in.Net By, Vishnu Kamisetty
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Classes and objects Practice 2. Basic terms  Classifier is an element of the model, which specifies some general features for a set of objects. Features.
GTECH 361 Lecture 13a Address Matching. Address Event Tables Any supported tabular format One field must specify an address The name of that field is.
I hereby declare that this document is based on my project experience. To the best of my knowledge, this document does not contain any material that infringes.
Section 2.2 Network Forensics TRACKING HACKERS THROUGH CYBERSPACE
Module 14: WCF Send Adapters. Overview Lesson 1: Introduction to WCF Send Adapters Lesson 2: Consuming a Web Service Lesson 3: Consuming Services from.
1. Chapter 25 Protecting and Preparing Documents.
Advanced Windows 8 Apps Using JavaScript Jump Start Exam Prep M5: Data, Files, and Encryption Michael Palermo Microsoft Technical Evangelist Jeremy.
XML Meta Documents Security Based on Extended Provisional Authorization.
Storage Device Design Pattern JEFF MEISSNER; KEN HARDY Windows Program Management.
US Army Corps of Engineers BUILDING STRONG ® Submitting a Local Adaptation USACE SDSFIE Training Prerequisites: Creating the local adaptation.
Created by: Jennifer Tyndall, Spring Creek High School.
A Technical Overview Bill Branan DuraCloud Technical Lead.
Hyperion Artifact Life Cycle Management Agenda  Overview  Demo  Tips & Tricks  Takeaways  Queries.
Metro style Device App and Metadata Onboarding JOHN MULLALLY NIKET SANGHVI Program manager.
web Metadata Properties Thumbnails Properties by Kind MRU Change Notifications Bulk Access File broker functions Search Deep/Shallow Enumeration.
AFS/OSD Project R.Belloni, L.Giammarino, A.Maslennikov, G.Palumbo, H.Reuter, R.Toebbicke.
Chapter 29. Copyright 2003, Paradigm Publishing Inc. CHAPTER 29 BACKNEXTEND 29-2 LINKS TO OBJECTIVES Attach an XML Schema Attach an XML Schema Load XML.
Backstage View  After you click the File tab, you can see the Microsoft Office Backstage view  The Office Backstage view is where you manage your files.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
EBay Searcher Brian Payton, Jason Nowakoski, Justin Szeluga, Salvatore Siragusa, David Wolkiser.
Testing, Debugging, and Deploying a Mobile App Lesson 8.
Understanding Mobile Devices, Interactions, and Tools Lesson 1.
Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영.
© 2007 IBM Corporation ODF Programmability – What we need & What we have Robert Weir Software Architect IBM Software Group
© 2016 DECE, LLC – DECE CONFIDENTIAL CF Encoding and Validation Tools 1.
11/12/ :06 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Office 365 Development July 2014.
Doron Orbach UCMDB Product Manager
SARAH GIDEON 10th December 2016
Section 2.1 Section 2.2 Identify hardware
Objective % Select and utilize tools to design and develop websites.
VNF Package Integrity and Authenticity – Public key based
The Universal Windows Platform
5/25/2018 2:39 AM © 2006 Microsoft Corporation. All rights reserved.
Automate Custom Solutions Deployment on Office 365 and Azure
Backstage view in word 2010.
Node.js Express Web Services
.Net A brief introduction to
OpenStorage API part II
Objective % Select and utilize tools to design and develop websites.
Microsoft Build /13/2018 2:24 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Customizing your device experience with assigned access
1.1. .NET architectural components and .NET Core
Microsoft Build /8/2018 8:41 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Ernestas Kaukėnas MIF IT 3grupė
Hosted Web Apps with Windows App Studio
Operacinė sistema Testas 9 klasė
Windows Ribbon Framework
Android Developer Fundamentals V2 Lesson 1
Database Systems Instructor Name: Lecture-3.
Deepak Shenoy Agni Software
Windows RSS Platform Aleksej Karelin.
Secure Packager and Encoder Key Exchange (SPEKE) Open API Specification for Encoders, Transcoders, Packagers, and DRM Platforms Lionel Bringuier – Director.
WEB SERVICES From Chapter 19, Distributed Systems
Guidelines for Microsoft® Office 2013
Under the hood: Installation and updates for Metro style apps
Traditional Internet Applications
Simonas Vaicekauskas IT3 grupė
Eurostat Unit B3 – IT and standards for data and metadata exchange
Presentation transcript:

Atliko: Jokūbas Rusakevičius VU MIF PS 3k 3g Windows Store apps Atliko: Jokūbas Rusakevičius VU MIF PS 3k 3g

Turinys Kas yra Microsoft Store? Kas yra UWP? Programų pakavimas Packaging API Paketų pasirašymas

Kas yra Microsoft Store? Microsoft Store (anksčiau Windows Store) yra skaitmeninė platinimo platforma Microsoft Windows operacinei sistemai. Ši platforma atsirado Windwos 8 ir Windows server 2012 kaip pagrindinė UWP programų platinimo priemonė. Su Windows 10 Microsoft sujungė kitas platinimo platformas (Windows Marketplace, Windows Phone Store, Xbox Video ir Xbox Music) į Microsoft Store, padarydama ją bendru platinimo tašku programoms, muzikai, vaizdo įrašams ir e-knygoms.

Microsoft Store

Kas yra UWP? Universal Windows Platform (UWP) apps (anksčiau Windows Store apps ir Metro-style apps) yra programos, kurias galima naudoti su visais Microsoft Windows suderinamais įrenginiais: asmeniniais kompiuteriais, planšetėmis, išmaniaisiais telefonais, Xbox One, Microsoft HoloLens ir IOT (Interned of Things). UWP programas galima įsigyti ir atsisiųsti per Microsoft Store.

Programų pakavimas Microsoft Store programos, diegiamos, tvarkomos ir aptarnaujamas naudojant programų paketus pagal OPC formatą. Kiekvienas programos paketas apima programą sudarančius failus ir manifesto failą, kuris aprašo programinę įrangą Windows operacinei sistemai. Dažniausiai programos kūrėjai kuria ir registruoja programos paketus naudodamiesi Visual Studio ir jos įrankius. Packaging UWP apps: https://docs.microsoft.com/en-us/windows/uwp/packaging/packaging-uwp-apps

Windows Runtime app paketas talpina šiuos elementus: App payload – programos kodas, failai ir pan. App manifest – manifestas nurodo programos identitetą, jos galimybes bei informaciją diegimui ar naujinimui. App block map – sąrašas visų programos failų pakete kartu su priskirtomis koduotomis hash reikšmėmis App signature – programos paketo parašas užtikrina, kad paketo turinys nebuvo modifikuotas, po to kai buvo pasirašytas/sukurtas.

Packaging API Packaging API yra viešai prieinamas interfeisas skirtas kurti, skaityti ir rašyti programų paketus. Packaging can be more easily understood through an analogy with real–world filing systems. People and businesses need to organize their information. Often, this information is tracked by using paperwork that is stored in folders, which are, in turn, stored in filing cabinets. For each person and business, someone had to design a system that would allow information to be quickly accessed when needed.

Developer Audience The Packaging APIs are designed for the following classes of developers: Developers who create applications that interact with packages. Developers who create tools or add-ons that interact with packages.

API Interfaces Topic Description IAppxBlockMapBlock The IAppxBlockMapBlock interface provides a read-only object that represents an individual block within a file contained in the block map file (AppxBlockMap.xml) for the App package. The IAppxBlockMapFile::GetBlocks method is used to return an enumerator for traversing and retrieving the individual blocks of a file listed in the package block map. IAppxBlockMapBlocksEnumerator Enumerates the blocks from a block map in a single file. IAppxBlockMapFile Represents a file in the block map. IAppxBlockMapFilesEnumerator Enumerates the files from a block map. IAppxBlockMapReader Represents a read-only object model for block maps that provides access to the file attributes and block hashes. IAppxBundleFactory Creates objects for reading and writing bundle packages.

IAppxBlockMapFile interface Method Description GetBlocks Retrieves an enumerator for traversing the blocks of a file listed in the block map. GetLocalFileHeaderSize Retrieves the size of the zip local file header of the associated zip file item. GetName Retrieves the name of the associated zip file item. GetUncompressedSize Retrieves the uncompressed size of the associated zip file item. ValidateFileHash Validates the content of a file against the hashes stored in the block elements for this block map file.

IAppxBlockMapReader interface Method Description GetFile Retrieves data corresponding to a file in the block map with the specified file name. GetFiles Retrieves an enumerator for traversing the files listed in the block map. GetHashMethod Retrieves the URI for the hash algorithm used to create block hashes in the block map. GetStream Retrieves a read-only stream that represents the XML content of the block map.

IAppxBundleFactory interface Method Description CreateBundleManifestReader Creates a read-only bundle manifest object from a standalone stream to AppxBundleManifest.xml. CreateBundleReader Creates a read-only bundle object that reads its contents from an IStream object. CreateBundleWriter Creates a write-only bundle object to which app packages can be added.

API Interfaces IAppxBundleManifestOptionalBundleInfo Provides a read-only object model for an <OptionalBundle> element in a bundle package manifest. IAppxBundleManifestOptionalBundleInfoEnumerator Enumerates the optional bundle information from a bundle. IAppxBundleManifestPackageInfo Provides a read-only object model for a <Package> element in a bundle package manifest. IAppxBundleManifestPackageInfoEnumerator Provides a read-only object model for the list of payload packages that are described in a bundle package manifest. IAppxBundleManifestReader Provides a read-only object model for manifests of bundle packages. IAppxBundleManifestReader2 IAppxBundleReader Provides a read-only object model for bundle packages. IAppxBundleWriter Provides a write-only object model for bundle packages. IAppxBundleWriter2 IAppxBundleWriter3

IAppxBundleManifestPackageInfo interface Method Description GetFileName Retrieves the file-name attribute of the package. GetOffset Retrieves the offset of the package relative to the beginning of the bundle. GetPackageId Retrieves an object that represents the identity of the app package. GetPackageType Retrieves the type of package that is represented by the package info. GetResources Retrieves an enumerator that iterates through all the <Resource> elements that are defined in the app package's manifest. GetSize Retrieves the size of the package, in bytes.

IAppxBundleManifestReader(2) interface Method Description GetPackageId Retrieves an object that represents the <Identity> element under the root <Bundle> element. GetPackageInfoItems Retrieves an enumerator over all the <Package> elements under the <Packages> element. GetStream Gets the raw XML document without any preprocessing. (2) Method (2) Description GetOptionalBundles Retrieves an object that represents the <OptionalBundles> element under the root <Bundle> element.

IAppxBundleReader interface Method Description GetBlockMap Retrieves a read-only block map object from the bundle. GetFootprintFile Retrieves the specified type of footprint file from the bundle. GetManifest Retrieves a read-only manifest object from the bundle. GetPayloadPackage Retrieves an appx file object for the payload package with the specified file name. GetPayloadPackages Retrieves an enumerator that iterates over the list of all payload packages in the bundle.

IAppxBundleWriter(2) interface Method Description AddPayloadPackage Adds a new app package to the bundle. Close Finalizes the bundle package by writing footprint files at the end of the package, and closes the writer’s output stream. Method Description AddExternalPackageReference Adds a reference to an external package to the package bundle.

API Interfaces IAppxContentGroup Retrieves information about a content group. IAppxContentGroupsEnumerator Enumerates the content groups from a content group map. IAppxContentGroupFilesEnumerator Enumerates files in content groups from a content group map. IAppxContentGroupMapReader Gets information about a content group map. IAppxContentGroupMapWriter Provides a write-only object model for a content group map. IAppxEncryptionFactory Creates objects for encrypting, decrypting, reading, and writing packages and bundles. IAppxEncryptionFactory2 Creates objects for encrypting, decrypting, reading, and writing Windows app packages and bundles. IAppxEncryptionFactory3 IAppxEncryptionFactory4 Creates objects for encrypting Windows app packages and bundles. IAppxEncryptedPackageWriter Provides a write-only object model for encrypted app packages. IAppxEncryptedPackageWriter2

IAppxEncryptionFactory interface Method Description CreateEncryptedBundleReader Creates a read-only bundle object to which encrypted Windows app packages can be added. CreateEncryptedBundleWriter Creates a write-only bundle object to which encrypted Windows app packages can be added. CreateEncryptedPackageReader Creates a new instance of IAppxEncryptedPackageReader. CreateEncryptedPackageWriter Creates a new instance of an IAppxEncryptedPackageWriter. DecryptBundle Creates an unencrypted Windows app bundle from an encrypted one. DecryptPackage Creates an unencrypted Windows app package from an encrypted one. EncryptBundle Creates an encrypted Windows app bundle from an unencrypted one. EncryptPackage Creates an encrypted Windows app package from an unencrypted one.

API Interfaces IAppxEncryptedBlockMapFile Retrieves the file hash and Id of an encrypted block map file. IAppxEncryptedFile Retrieves information about an encrypted file. IAppxEncryptedBundleWriter Provides a write-only object model for encrypted bundle packages. IAppxEncryptedPackageFile Retrieves encrypted package readers and streams. IAppxFactory Creates objects for reading and writing app packages. IAppxFactory2 IAppxFile Retrieves information about a payload or footprint file in a package. IAppxFilesEnumerator Enumerates the payload files in a package. IAppxManifestApplication Provides access to attribute values of the application. IAppxManifestApplicationsEnumerator Enumerates the applications defined in the package manifest. IAppxManifestDeviceCapabilitiesEnumerator Enumerates the device capabilities defined in the package manifest. IAppxManifestMainPackageDependency Provides access to attribute values of the main package dependency. IAppxManifestMainPackageDependenciesEnumerator Enumerates <MainPackageDependency> elements from an app manifest.

IAppxFactory interface Method Description CreateBlockMapReader Creates a read-only block map object model from contents provided by an IStream. CreateManifestReader Creates a read-only manifest object model from contents provided by an IStream. CreatePackageReader Creates a read-only package reader from the contents provided by an IStream. This method does not validate the digital signature. CreatePackageWriter Creates a write-only package object to which files can be added. CreateValidatedBlockMapReader Creates a read-only block map object model from contents provided by an IStream and a digital signature.

API Interfaces IAppxManifestOptionalPackageInfo Provides access to attribute values of the optional package information. IAppxManifestPackageDependenciesEnumerator Enumerates the package dependencies defined in the package manifest. IAppxManifestPackageDependency Describes the dependency of one package on another package. IAppxManifestPackageId Provides access to the package identity. IAppxManifestPackageId2 Provides access to the app package identity. IAppxManifestProperties Provides read-only access to the properties section of a package manifest. IAppxManifestReader Represents an object model of the package manifest that provides methods to access manifest elements and attributes. IAppxManifestReader2 IAppxManifestReader5

IAppxManifestReader interface Method Description GetApplications Gets an enumerator that iterates through the applications defined in the manifest. GetCapabilities Gets the list of capabilities requested by the package. GetDeviceCapabilities Gets an enumerator that iterates through the device capabilities defined in the manifest. GetPackageDependencies Gets an enumerator that iterates through dependencies defined in the manifest. GetPackageId Gets the package identifier defined in the manifest. GetPrerequisite Gets the specified prerequisite as defined in the package manifest. GetProperties Gets the properties of the package as defined in the manifest. GetResources Gets an enumerator that iterates through the resources defined in the manifest. GetStream Gets the raw XML parsed and read by the manifest reader.

API Interfaces IAppxManifestResourcesEnumerator Enumerates the resources defined in the package manifest. IAppxManifestTargetDeviceFamily Retrieves information about the target device family from the AppxManifest.xml. IAppxPackageReader Provides a read-only object model for app packages. IAppxPackageReader2 IAppxPackageWriter Provides a write-only object model for app packages. IAppxPackageWriter2 IAppxPackageWriter3 IAppxSourceContentGroupMapReader Gets information about the source content group map.

IAppxPackageReader interface Method Description GetBlockMap Retrieves the block map object model of the package. GetFootprintFile Retrieves a footprint file from the package. GetManifest Retrieves the object model of the app manifest of the package. GetPayloadFile Retrieves a payload file from the package. GetPayloadFiles Retrieves an enumerator that iterates through the payload files in the package.

IAppxPackageWriter interface Method Description AddPayloadFile Adds a new payload file to the app package. Close Writes footprint files at the end of the app package, and closes the package writer object's output stream.

Interfeisai paprastam naudojimui IAppxFactory – IAppxPackageWriter sukurimui. IAppxPackageWriter – failų ir manifesto sudėjimui į paketą. Pavizdys: https://msdn.microsoft.com/en- us/library/windows/desktop/hh446616(v=vs.85).aspx

API Structures APPX_ENCRYPTED_PACKAGE_SETTINGS Settings for encrypted Windows app packages. APPX_ENCRYPTED_PACKAGE_SETTINGS2 Encrypted Windows app package settings. APPX_ENCRYPTED_EXEMPTIONS Files exempted from Windows app package encryption. APPX_KEY_INFO Windows app package key information. APPX_PACKAGE_SETTINGS Represents package settings used to create a package. APPX_PACKAGE_WRITER_PAYLOAD_STREAM Contains the data and metadata of files to write into the app package.

API enumerations APPX_BUNDLE_FOOTPRINT_FILE_TYPE Specifies the type of footprint file in a bundle. APPX_ENCRYPTED_PACKAGE_OPTIONS Encrypted app package options. APPX_BUNDLE_PAYLOAD_PACKAGE_TYPE Specifies the type of package for a IAppxBundleManifestPackageInfo object. APPX_CAPABILITIES Specifies the capabilities or privileges requested by a package. APPX_COMPRESSION_OPTION Specifies the degree of compression used to store the file in the package. APPX_FOOTPRINT_FILE_TYPE Specifies the type of footprint file in a package. APPX_PACKAGE_ARCHITECTURE Specifies the processor architectures supported by a package. APPX_PACKAGE_ARCHITECTURE2

Tolesnis darbas su paketais Kad būtų galima paketą diegti ar platinti, paketas turi būti pasirašytas skaitmeniniu būdu. Tam reikia: Sukurti parašo sertifikatą Pasirašyti programos paketą

Manifestas

Paketų parašo sertifikatas Reikalingi įrankiai iš WDK: MakeCert.exe ir Pvk2Pfx.exe Šių įrankių pagalba yra sukuriamas parašo sertifikatas ir sukuriamas .pfx failas, su kuriuo galima pasirašyti paketus. Daugiau informacijos: https://msdn.microsoft.com/en- us/library/windows/desktop/jj835832(v=vs.85).aspx

Paketų pasirašymas Reikalingas įrankis SignTool. Pasirašymui rekalingas Personal Information Exchange (.pfx) failas, bei supakuota Windows Store app, .appx failas. Daugiau informacijos: https://msdn.microsoft.com/en- us/library/windows/desktop/jj835835(v=vs.85).aspx

Useful Links / Sources https://msdn.microsoft.com/en- us/library/windows/desktop/hh446593(v=vs.85).aspx https://msdn.microsoft.com/en- us/library/windows/desktop/hh446766(v=vs.85).aspx https://msdn.microsoft.com/en- us/library/windows/desktop/dd371623(v=vs.85).aspx

Ačiū už dėmesį!