MSIX AppAttach vs App-v Streaming?

%3CLINGO-SUB%20id%3D%22lingo-sub-1451911%22%20slang%3D%22en-US%22%3EMSIX%20AppAttach%20vs%20App-v%20Streaming%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1451911%22%20slang%3D%22en-US%22%3E%3CP%3EDoes%26nbsp%3BMSIX%20AppAttach%20offers%20similar%20features%20like%20App-v%20streaming%3F%20What%20is%20it%20all%20about%20w.r.t%20streaming%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1451911%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EMSIX%20MSIXAPPATTACH%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1455949%22%20slang%3D%22en-US%22%3ERE%3A%20MSIX%20AppAttach%20vs%20App-v%20Streaming%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1455949%22%20slang%3D%22en-US%22%3EAppreciate%20If%20anyone%20could%20give%20an%20insight%20on%20this%3F%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1464030%22%20slang%3D%22en-US%22%3ERe%3A%20MSIX%20AppAttach%20vs%20App-v%20Streaming%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1464030%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F680653%22%20target%3D%22_blank%22%3E%40Shashank450%3C%2FA%3E%2C%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWhereas%20in%20App-V%20streaming%20the%20entire%20preconfigured%20block%20size%20is%20downloaded%20at%20a%20time%2C%20for%20MSIX%20app%20attach%2C%20the%20bits%20required%20for%20a%20package%20are%20accessed%20as%20needed%20e.g.%20when%20the%20application%20is%20initially%20staged%20and%20registered%20(made%20available%20to%20a%20user)%20in%20MSIX%20app%20attach%2C%20just%20the%20AppxManifest.xml%20required%20to%20do%20the%20registration%20for%20a%20user%20is%20used%2C%20however%20in%20App-V%20the%20entire%20first%20block%20would%20be%20streamed%20regardless%20of%20whether%20it%20is%20used%20or%20not.%3CBR%20%2F%3EHave%20a%20look%20at%20this%20talk%20for%20more%20info%20-%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fyoutu.be%2FWeiUUp1nFuQ%3Ft%3D212%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fyoutu.be%2FWeiUUp1nFuQ%3Ft%3D212%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ECheers%2C%3C%2FP%3E%0A%3CP%3ETanaka%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1472816%22%20slang%3D%22en-US%22%3ERE%3A%20MSIX%20AppAttach%20vs%20App-v%20Streaming%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1472816%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F680653%22%20target%3D%22_blank%22%3E%40Shashank450%3C%2FA%3E%26nbsp%3B%20Here%20is%20the%20reply%20I%20gave%20you%20in%20the%20private%20request%20on%20this%20subject%20previously.%26nbsp%3B%20I%20thought%20it%20might%20be%20good%20to%20share%20this%20perspective%20with%20others%20that%20find%20this%20question%20here.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoeui%26amp%3Bquot%3B%2C%26amp%3Bquot%3Blato%26amp%3Bquot%3B%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Carial%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20300%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%3B%22%3EA%20quick%20summary%3A%3C%2FP%3E%0A%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoeui%26amp%3Bquot%3B%2C%26amp%3Bquot%3Blato%26amp%3Bquot%3B%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Carial%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20300%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoeui%26amp%3Bquot%3B%2C%26amp%3Bquot%3Blato%26amp%3Bquot%3B%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Carial%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20300%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%3B%22%3EMSIX%20uses%20the%20same%20strategy%20as%20App-V%20uses%20to%20compress%2064KB%20blocks%20of%20files%20and%20treat%20them%20separately.%26nbsp%3B%20How%20they%20do%20that%20differs.%3C%2FP%3E%0A%3CUL%20style%3D%22box-sizing%3A%20border-box%3B%20clear%3A%20left%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoeui%26amp%3Bquot%3B%2C%26amp%3Bquot%3Blato%26amp%3Bquot%3B%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Carial%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20300%3B%20letter-spacing%3A%20normal%3B%20list-style-image%3A%20none%3B%20list-style-position%3A%20outside%3B%20list-style-type%3A%20disc%3B%20margin-bottom%3A%2012px%3B%20margin-top%3A%200px%3B%20orphans%3A%202%3B%20padding-left%3A%202.5em%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%22%3E%0A%3CLI%20style%3D%22box-sizing%3A%20border-box%3B%20font-family%3A%20%26amp%3Bquot%3B%22%3E%26nbsp%3BUnder%20App-V%2C%20it%20only%20affects%20the%20download%20over%20the%20network.%26nbsp%3B%20App-V%20packaging%20identifies%20three%20categories%20of%20blocks%20Primary%2C%20Publishing%2C%20and%20Streaming%20and%20these%20categories%20are%20used%20to%20determine%20when%20to%20stream.%26nbsp%3B%20A%20client%20setting%20determines%20is%20streaming%20blocks%20are%20cached%20to%20disk.%20An%20identical%20file%20in%20two%20packages%20are%20not%20detected%20for%20potential%20advantages.%3C%2FLI%3E%0A%3CLI%20style%3D%22box-sizing%3A%20border-box%3B%20font-family%3A%20%26amp%3Bquot%3B%22%3E%26nbsp%3BUnder%20MSIX%2C%20the%20blocks%20are%20identified%20via%20hash%20for%20uniqueness%2C%20but%20no%20categorization%20is%20provided%20in%20the%20format.%26nbsp%3B%20Indivual%20blocks%20are%20only%20downloaded%20over%20the%20network%2C%20and%20stored%20to%20disk%2C%20if%20the%20same%20hashed%20block%20is%20not%20already%20present.%26nbsp%3B%20Otherwise%2C%20the%20block%20is%20linked%2C%20providing%20both%20single-instance%20download%20and%20single-instance%20storage%20against%20all%20packages%20present%20on%20the%20system.%26nbsp%3B%20Thus%20the%20same%20dll%20contained%20in%20multiple%20packages%20only%20streams%2Fstores%20once.%20%26nbsp%3B%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoeui%26amp%3Bquot%3B%2C%26amp%3Bquot%3Blato%26amp%3Bquot%3B%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Carial%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20300%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%3B%22%3ESo%20normally%20under%20MSIX%2C%20the%20entire%20package%20must%20be%20present%20to%20complete%20publishing%2Finstallation%2C%20although%20some%20parts%20might%20already%20be%20present.%3C%2FP%3E%0A%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoeui%26amp%3Bquot%3B%2C%26amp%3Bquot%3Blato%26amp%3Bquot%3B%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Carial%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20300%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoeui%26amp%3Bquot%3B%2C%26amp%3Bquot%3Blato%26amp%3Bquot%3B%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Carial%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20300%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%3B%22%3EMSIX%20App%20Attach%20is%20a%20strategy%20to%20provide%20quicker%20publishing%20of%20MSIX%20packages.%26nbsp%3B%20This%20is%20done%20via%20a%20combination%20of%20a%20preparation%20stage%20whereby%20the%20zip%20compressed%20MSIX%20format%20is%20transformed%20into%20a%20VHD%2C%20along%20with%20software%20that%20understands%20the%20minimum%20implementation%20needed%20to%20make%20the%20app%20appear%20as%20if%20published.%26nbsp%3B%20For%20example%20making%20the%20start%20menu%20appear%20as%20if%20the%20app%20has%20been%20installed.%20Then%2C%20only%20when%20the%20user%20tries%20to%20use%20the%20app%2C%20does%20it%20actually%20get%20installed.%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoeui%26amp%3Bquot%3B%2C%26amp%3Bquot%3Blato%26amp%3Bquot%3B%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Carial%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20300%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%3B%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%20style%3D%22box-sizing%3A%20border-box%3B%20color%3A%20%23333333%3B%20font-family%3A%20%26amp%3Bquot%3B%20segoeui%26amp%3Bquot%3B%2C%26amp%3Bquot%3Blato%26amp%3Bquot%3B%2C%26amp%3Bquot%3Bhelvetica%20neue%26amp%3Bquot%3B%2Chelvetica%2Carial%2Csans-serif%3B%20font-size%3A%2014px%3B%20font-style%3A%20normal%3B%20font-variant%3A%20normal%3B%20font-weight%3A%20300%3B%20letter-spacing%3A%20normal%3B%20orphans%3A%202%3B%20text-align%3A%20left%3B%20text-decoration%3A%20none%3B%20text-indent%3A%200px%3B%20text-transform%3A%20none%3B%20-webkit-text-stroke-width%3A%200px%3B%20white-space%3A%20normal%3B%20word-spacing%3A%200px%3B%20margin%3A%200px%3B%22%3EIf%20you%20assume%20the%20average%20user%20gets%2C%20say%205%20packages%20when%20they%20login%2C%20MSIX%20App%20Attach%20offers%20a%20perception%20of%20a%20faster%20completion%20of%20the%20login.%26nbsp%3B%20But%20that%20first%20launch%20of%20the%20app%20will%20be%20delayed.%26nbsp%3B%20A%20trade%20off%20many%20seem%20to%20feel%20is%20worth%20it.%3C%2FP%3E%3C%2FLINGO-BODY%3E
Occasional Contributor

Does MSIX AppAttach offers similar features like App-v streaming? What is it all about w.r.t streaming?

3 Replies
Appreciate If anyone could give an insight on this?

Hi @Shashank450,

 

Whereas in App-V streaming the entire preconfigured block size is downloaded at a time, for MSIX app attach, the bits required for a package are accessed as needed e.g. when the application is initially staged and registered (made available to a user) in MSIX app attach, just the AppxManifest.xml required to do the registration for a user is used, however in App-V the entire first block would be streamed regardless of whether it is used or not.
Have a look at this talk for more info - https://youtu.be/WeiUUp1nFuQ?t=212 

 

Cheers,

Tanaka

@Shashank450  Here is the reply I gave you in the private request on this subject previously.  I thought it might be good to share this perspective with others that find this question here.

 

A quick summary:

 

MSIX uses the same strategy as App-V uses to compress 64KB blocks of files and treat them separately.  How they do that differs.

  •  Under App-V, it only affects the download over the network.  App-V packaging identifies three categories of blocks Primary, Publishing, and Streaming and these categories are used to determine when to stream.  A client setting determines is streaming blocks are cached to disk. An identical file in two packages are not detected for potential advantages.
  •  Under MSIX, the blocks are identified via hash for uniqueness, but no categorization is provided in the format.  Indivual blocks are only downloaded over the network, and stored to disk, if the same hashed block is not already present.  Otherwise, the block is linked, providing both single-instance download and single-instance storage against all packages present on the system.  Thus the same dll contained in multiple packages only streams/stores once.  

So normally under MSIX, the entire package must be present to complete publishing/installation, although some parts might already be present.

 

MSIX App Attach is a strategy to provide quicker publishing of MSIX packages.  This is done via a combination of a preparation stage whereby the zip compressed MSIX format is transformed into a VHD, along with software that understands the minimum implementation needed to make the app appear as if published.  For example making the start menu appear as if the app has been installed. Then, only when the user tries to use the app, does it actually get installed. 

 

If you assume the average user gets, say 5 packages when they login, MSIX App Attach offers a perception of a faster completion of the login.  But that first launch of the app will be delayed.  A trade off many seem to feel is worth it.