App-Manifest using customInstall

%3CLINGO-SUB%20id%3D%22lingo-sub-1502608%22%20slang%3D%22en-US%22%3EApp-Manifest%20using%20customInstall%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1502608%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20all%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20hope%20that%20topic%20fits%20in%20this%20board.%20I%20want%20to%20deploy%20a%20Windows-Store-App%20with%20a%20customInstall-Action%20as%20I%20need%20Dokany%20installed%20on%20the%20local%20system%20to%20create%20a%20Virtual%20File%20System%20that%20I%20want%20to%20manage%20with%20a%20UWP-app.%20The%20app%20itself%20works%2C%20but%20I%20do%20not%20get%20the%20Package-Project%20to%20pre-install%20the%20Dokany-Prerequisit.%20On%20install%2C%20I%20get%20an%20%22invalid%20manifest%22%20error%2C%20which%20is%20quite%20unspecific.%20I%20followed%20the%20instructions%20on%20how%20to%20use%20the%20customInstall-extension.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThis%20github-issue%20describes%20the%20same%20problem%20-%20I've%20got%20to%20your%20community%20by%20a%20hint%20from%20there%3A%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fwinrt-related%2Fissues%2F194%23event-3493578241%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fwinrt-related%2Fissues%2F194%23event-3493578241%3C%2FA%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3EThis%20is%20the%20open-source-project%20where%20I%20need%20to%20deploy%20dokany%20before%20my%20own%20app%3A%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FTopperDEL%2FDokanNet.Tardigrade%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2FTopperDEL%2FDokanNet.Tardigrade%3C%2FA%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EYou%20can%20find%20the%20appx-manifest%20in%20question%20here%3A%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FTopperDEL%2FDokanNet.Tardigrade%2Fblob%2Fmaster%2FDokanNet.Tardigrade.Package%2FPackage.appxmanifest%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2FTopperDEL%2FDokanNet.Tardigrade%2Fblob%2Fmaster%2FDokanNet.Tardigrade.Package%2FPackage.appxmanifest%3C%2FA%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3ECan%20someone%20tell%20me%2C%20if%3A%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E-%20customInstall%20is%20available%20for%20everybody%3F%20The%20doc%20says%20only%20for%20partners%20and%20for%20certain%20games%2C%20but%20the%20github-issue%20does%20not%20mention%20that%20restriction.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E-%20if%20my%20manifest%20is%20correct%20or%20where%20I%20may%20have%20an%20error.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3EThank%20you%20very%20much!%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3EKind%20regards%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3ETopperDEL%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1502626%22%20slang%3D%22en-US%22%3ERe%3A%20App-Manifest%20using%20customInstall%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1502626%22%20slang%3D%22en-US%22%3E%3CP%3EI%20don't%20think%20you%20will%20get%20this%20working.%20We%20tried%20to%20leverage%20the%20customInstall%20support%20in%20Advanced%20Installer%20too%20and%20the%20reply%20we%20got%20was%20a%20standard%20%22no%22.%20As%20mentioned%20in%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fuwp%2Fschemas%2Fappxpackage%2Fuapmanifestschema%2Felement-desktop6-custominstall%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ethe%20docs%3A%3C%2FA%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CEM%3E%26nbsp%3BThis%20element%20is%20currently%20intended%20to%20be%20used%20only%20by%20certain%20types%20of%20desktop%20PC%20games%20that%20are%20published%20by%20Microsoft%20and%20our%20partners.%3C%2FEM%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1502687%22%20slang%3D%22en-US%22%3ERe%3A%20App-Manifest%20using%20customInstall%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1502687%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F147865%22%20target%3D%22_blank%22%3E%40Bogdan%20Mitrache%3C%2FA%3E%26nbsp%3BThank%20you!%20Well%20at%20least%20this%20leads%20me%20to%20%22search%20for%20another%20way%22%20instead%20of%20hoping%20ans%20trying%20to%20get%20this%20to%20work%2C%20then.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1503750%22%20slang%3D%22en-US%22%3ERe%3A%20App-Manifest%20using%20customInstall%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1503750%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F716534%22%20target%3D%22_blank%22%3E%40TopperDEL%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EOne%20option%20you%20can%20try%20is%20with%20the%20help%20of%20the%20Package%20Support%20Framework%20and%20it's%20support%20to%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fmsix%2Fpsf%2Frun-scripts-with-package-support-framework%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Erun%20PowerShell%20scripts.%3C%2FA%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.advancedinstaller.com%2Fforums%2Fviewtopic.php%3Ft%3D41018%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3EThis%20is%20how%20we%20do%20it.%3C%2FA%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1503762%22%20slang%3D%22en-US%22%3ERe%3A%20App-Manifest%20using%20customInstall%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1503762%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F147865%22%20target%3D%22_blank%22%3E%40Bogdan%20Mitrache%3C%2FA%3E%26nbsp%3BThat's%20a%20nice%20hint!%20Powershell%20would%20be%20supported%20with%20Windows%20Store%20Apps%2C%20too%3F%3C%2FP%3E%3CP%3EHave%20to%20digg%20into%20this%20one%2C%20then.%20Seems%20to%20be%20a%20valid%20path%20to%20use.%20Thank%20you!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1503834%22%20slang%3D%22en-US%22%3ERE%3A%20App-Manifest%20using%20customInstall%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1503834%22%20slang%3D%22en-US%22%3EI%20am%20not%20sure%20about%20the%20store.%20%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F73899%22%20target%3D%22_blank%22%3E%40John%20Vintzel%3C%2FA%3E%20Do%20you%20know%20if%20the%20store%20allows%20packages%20with%20PS%20scripts%20or%20are%20these%20restricted%20only%20for%20enterprise%20sideloading%3F%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1504777%22%20slang%3D%22en-US%22%3ERe%3A%20App-Manifest%20using%20customInstall%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1504777%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F716534%22%20target%3D%22_blank%22%3E%40TopperDEL%3C%2FA%3E%20If%20looking%20to%20use%20the%20PSF%20scripting%20support%20to%20run%20a%20PowerShell%20script%2C%20you%20need%20to%20be%20aware%20of%20the%20following%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EMicrosoft%20changed%20how%20the%20scripts%20run%20in%20the%20OS%20level%20support.%26nbsp%3B%20In%20earlier%20versions%20of%20the%20OS%2C%20these%20scripts%20ran%20outside%20of%20the%20container%2C%20but%20on%20the%202004%20runtime%2C%20the%20scripts%20now%20run%20inside%20the%20container.%26nbsp%3B%20I%20believe%20the%20change%20applies%20only%20to%202004%20and%20beyond%2C%20but%20only%20Microsoft%20could%20confirm%20whether%20any%20back-porting%20of%20this%20change%20to%20the%20monthly%20fixes%20might%20apply%20to%20earlier%20versions.%26nbsp%3B%20Please%20be%20sure%20to%20check%20your%20work%20against%20all%20target%20OSs%20that%20your%20customers%20might%20use.%3C%2FLI%3E%0A%3CLI%3EThe%20PSF%20scripting%20has%20a%20setting%20to%20request%20the%20script%20to%20run%20inside%20or%20outside%20of%20the%20container.%26nbsp%3B%20I%20do%20not%20believe%20that%20this%20setting%20ever%20had%20an%20effect.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3EI%20will%20also%20mention%20this.%26nbsp%3B%20If%20the%20destination%20location%20to%20place%20files%20is%20outside%20of%20the%20folder%20coverage%20of%20files%20inside%20the%20package%2C%20files%20created%20by%20processed%20in%20the%20container%20are%20placed%20outside%20of%20the%20virtualized%20file%20system.%26nbsp%3B%20For%20example%2C%20if%20you%20don't%20include%20any%20files%20in%20the%20Documents%20folder%20in%20the%20package%2C%20a%20file%20written%20will%20end%20up%20in%20the%20real%20documents%20folder.%20%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWriting%20files%20outside%20of%20the%20container%20that%20are%20not%20intended%20for%20use%20by%20other%20applications%20is%20not%20in-line%20with%20Microsoft's%20%22never%20regret%22%20strategy%20with%20MSIX%2C%20where%20removal%20removes%20everything.%26nbsp%3B%20So%20if%20you%20are%20talking%20about%20files%20only%20used%20by%20the%20app%2C%20consider%20if%20external%20writing%20is%20actually%20needed.%26nbsp%3B%20When%20client-side%20customizations%20are%20needed%2C%20I%20have%20used%20an%20in-container%20script%20that%20writes%20to%20the%20redirected%20location%20(using%20the%20new%20%25MSIXWritablePackageRoot%25%20pseudo-variable%20supported%20by%20Psf%20Scripting)%20to%20solve%20the%20problem%20and%20support%20%22never%20regret%22.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1562463%22%20slang%3D%22en-US%22%3ERe%3A%20App-Manifest%20using%20customInstall%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1562463%22%20slang%3D%22en-US%22%3E%3CP%3EI%20still%20did%20not%20get%20it%20to%20work.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThe%20%22customInstall%22%20has%20been%20constantly%20rejected%20from%20Microsoft%20-%20that%20fits%20the%20expectations%20from%20the%20documentation.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EPSF%20did%20not%20work%20on%20my%20side%2C%20either.%20Is%20this%20really%20usable%20for%20Store-Apps%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F147865%22%20target%3D%22_blank%22%3E%40Bogdan%20Mitrache%3C%2FA%3E%3F%20Unfortunately%20John%20Vintzel%20did%20not%20respond%20here%20yet.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ECurrently%20I'm%20a%20completely%20lost%20as%20I%201.%20do%20not%20know%20if%20PSF%20is%20really%20supported%20in%20my%20case%20and%202.%20if%20there%20is%20a%20%22legal%22%20and%20%22official%22%20way%20to%20install%20Dokany%20via%20MSI%20together%20with%20my%20store-app.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1564948%22%20slang%3D%22en-US%22%3ERe%3A%20App-Manifest%20using%20customInstall%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1564948%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F716534%22%20target%3D%22_blank%22%3E%40TopperDEL%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThis%20is%20%3CA%20href%3D%22https%3A%2F%2Fwww.advancedinstaller.com%2Fforums%2Fviewtopic.php%3Ft%3D41018%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehow%20to%20launch%20an%20MSI%20from%20an%20MSIX%20package%20using%20the%20Packager%20Support%20Framework.%3C%2FA%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20doubt%20Microsoft%20will%20allow%20you%20to%20publish%20this%20in%20the%20store.%20But%20you%20should%20be%20allowed%20to%20publish%20it%20directly%20on%20your%20website%2C%20using%20an%20%3CA%20href%3D%22https%3A%2F%2Fwww.advancedinstaller.com%2Fms-appinstaller-protocol.html%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Eappinstaller%20file.%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThe%20appinstaller%20file%20also%20allows%20you%20to%20configure%20auto-updates%20using%20the%20OS's%20native%20support%2C%20even%20if%20the%20app%20is%20not%20deployed%20through%20the%20Store.%3CBR%20%2F%3E%3CBR%20%2F%3EHope%20it%20helps%2C%3CBR%20%2F%3EBogdan%3C%2FP%3E%3C%2FLINGO-BODY%3E
New Contributor

Hi all,

 

I hope that topic fits in this board. I want to deploy a Windows-Store-App with a customInstall-Action as I need Dokany installed on the local system to create a Virtual File System that I want to manage with a UWP-app. The app itself works, but I do not get the Package-Project to pre-install the Dokany-Prerequisit. On install, I get an "invalid manifest" error, which is quite unspecific. I followed the instructions on how to use the customInstall-extension.

 

This github-issue describes the same problem - I've got to your community by a hint from there:

https://github.com/MicrosoftDocs/winrt-related/issues/194#event-3493578241

 

This is the open-source-project where I need to deploy dokany before my own app:

https://github.com/TopperDEL/DokanNet.Tardigrade

You can find the appx-manifest in question here:

https://github.com/TopperDEL/DokanNet.Tardigrade/blob/master/DokanNet.Tardigrade.Package/Package.app...

 

Can someone tell me, if:

- customInstall is available for everybody? The doc says only for partners and for certain games, but the github-issue does not mention that restriction.

- if my manifest is correct or where I may have an error.

 

Thank you very much!

 

Kind regards,

 

TopperDEL

8 Replies

I don't think you will get this working. We tried to leverage the customInstall support in Advanced Installer too and the reply we got was a standard "no". As mentioned in the docs:

 

 This element is currently intended to be used only by certain types of desktop PC games that are published by Microsoft and our partners.

 

@Bogdan Mitrache Thank you! Well at least this leads me to "search for another way" instead of hoping ans trying to get this to work, then.

@TopperDEL 

 

One option you can try is with the help of the Package Support Framework and it's support to run PowerShell scripts.

 

This is how we do it.

@Bogdan Mitrache That's a nice hint! Powershell would be supported with Windows Store Apps, too?

Have to digg into this one, then. Seems to be a valid path to use. Thank you!

I am not sure about the store. @John Vintzel Do you know if the store allows packages with PS scripts or are these restricted only for enterprise sideloading?

@TopperDEL If looking to use the PSF scripting support to run a PowerShell script, you need to be aware of the following:

  • Microsoft changed how the scripts run in the OS level support.  In earlier versions of the OS, these scripts ran outside of the container, but on the 2004 runtime, the scripts now run inside the container.  I believe the change applies only to 2004 and beyond, but only Microsoft could confirm whether any back-porting of this change to the monthly fixes might apply to earlier versions.  Please be sure to check your work against all target OSs that your customers might use.
  • The PSF scripting has a setting to request the script to run inside or outside of the container.  I do not believe that this setting ever had an effect.

I will also mention this.  If the destination location to place files is outside of the folder coverage of files inside the package, files created by processed in the container are placed outside of the virtualized file system.  For example, if you don't include any files in the Documents folder in the package, a file written will end up in the real documents folder.  

 

Writing files outside of the container that are not intended for use by other applications is not in-line with Microsoft's "never regret" strategy with MSIX, where removal removes everything.  So if you are talking about files only used by the app, consider if external writing is actually needed.  When client-side customizations are needed, I have used an in-container script that writes to the redirected location (using the new %MSIXWritablePackageRoot% pseudo-variable supported by Psf Scripting) to solve the problem and support "never regret".

I still did not get it to work.

 

The "customInstall" has been constantly rejected from Microsoft - that fits the expectations from the documentation.

 

PSF did not work on my side, either. Is this really usable for Store-Apps @Bogdan Mitrache? Unfortunately John Vintzel did not respond here yet.

 

Currently I'm a completely lost as I 1. do not know if PSF is really supported in my case and 2. if there is a "legal" and "official" way to install Dokany via MSI together with my store-app.

Hi @TopperDEL 

 

This is how to launch an MSI from an MSIX package using the Packager Support Framework.

 

I doubt Microsoft will allow you to publish this in the store. But you should be allowed to publish it directly on your website, using an appinstaller file. 

 

The appinstaller file also allows you to configure auto-updates using the OS's native support, even if the app is not deployed through the Store.

Hope it helps,
Bogdan