MSIX for Linux

%3CLINGO-SUB%20id%3D%22lingo-sub-1595918%22%20slang%3D%22en-US%22%3EMSIX%20for%20Linux%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1595918%22%20slang%3D%22en-US%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3EWe%20are%20looking%20for%20the%20opportunity%20to%20deploy%20msix%20in%20linux%20VM%20in%20azure.%3CBR%20%2F%3EI%20have%20read%20that%20we%20can%20make%20MSIX%20available%20for%20linux%20OS(Ubuntu)%20using%20MSIX%20SDK%20and%20we%20can%20do%20it%20using%20%2Fmakelinux%20in%20linux%20machine.%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20am%20not%20a%20developer.%20I%20have%20an%20app%20converted%20from%20existing%20installer%2C%20lets%20say%20from%20EXE%20to%20MSIX%20for%20windows.%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CP%3Ehow%20do%20I%20make%20the%20same%20MSIX%20available%20for%20Linux.%26nbsp%3B%20where%20do%20i%20need%20to%20have%20the%20MSIX%20unpacked%20files%20in%20SDK.%20so%20that%20%2Fmakelinux%20will%20provide%20output.%3C%2FP%3E%3CP%3EAny%20info%20available%20to%20modify%20it.%20Kind%20of%20steps%20document.%20Any%20help%20will%20be%20appreciated.%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1595918%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EMSIX%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1596811%22%20slang%3D%22en-US%22%3ERe%3A%20MSIX%20for%20Linux%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1596811%22%20slang%3D%22en-US%22%3E%3CP%3EThe%20MSIX%20SDK%26nbsp%3B%20doesn't%20deploy%2Finstall%20an%20MSIX%20on%20non-Windows%20platforms%2C%20it%20will%20just%20unpack%20the%20contents%20of%20a%20MSIX%20into%20the%20machine%20or%20pack%20a%20directory%20into%20a%20MSIX.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAs%20you%20mentioned%2C%20to%20use%20the%20MSIX%20SDK%20in%20Linux%20you%20have%20to%20built%20it%20yourself%20via%20makelinux.%20By%20default%2C%20the%20MSIX%20SDK%20will%20be%20built%20without%20packing%20support.%20If%20you%20need%20it%20pass%20the%20--pack%20flag%20into%20makelinux.%26nbsp%3B%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3Emakelinux%20outputs%20two%20main%20binaries%3A%20libmsix.so%20and%20makemsix.%20Use%20makemsix%20if%20you%20just%20want%20to%20unpack%20your%20MSIX.%20You%20can%20use%20the%3CSPAN%3E%26nbsp%3B-%3F%20option%20to%20get%20information%20about%20the%20options%20supported.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EAlso%20note%20that%20MSIX%20doesn't%20do%20anything%20to%20allow%20running%20Windows%20executables%20into%20a%20Unix-like%20system.%20An%20MSIX%20that%20targets%20non-Windows%20platforms%20is%20expected%20to%20contain%20files%20that%20are%20supported%20in%20that%20specific%20platform.%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1598152%22%20slang%3D%22en-US%22%3ERe%3A%20MSIX%20for%20Linux%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1598152%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F436611%22%20target%3D%22_blank%22%3E%40rubengu%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThanks%20for%20your%20reply.%26nbsp%3B%3CBR%20%2F%3Elet%20me%20rephrase%20my%20query.%26nbsp%3B%3C%2FP%3E%3CP%3EI%20have%20MSIX%20unpackaged%20in%20a%20folder.%20can%20I%20make%20this%20installable%20in%20LINUX%20using%20%22makeLinux.sh%22%20or%20using%20SDK.%20where%20do%20i%20need%20to%20provide%20the%20path%20of%20the%20upackaged%20MSIX%20folder%20location%20to%20build%20an%20output%20which%20would%20install%20in%20LInux%20machines.%3CBR%20%2F%3EEX%3A%3C%2FP%3E%3CP%3EI%20have%20notepad%2B%2B%20extracted%20in%20a%20folder.%20I%20have%20makelinux.sh%20and%20SDK.%3C%2FP%3E%3CP%3ECan%20you%20help%20me%20to%20build%20the%20extracted%20folder%20into%20a%20notepad%2B%2B%20package%20which%20will%20install%20in%20Linux%20machine.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1602657%22%20slang%3D%22en-US%22%3ERe%3A%20MSIX%20for%20Linux%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1602657%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F749926%22%20target%3D%22_blank%22%3E%40Kragunath%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIf%20you%20have%20a%20folder%20that%20you%20want%20to%20pack%2C%20in%20Windows%20you%20can%20either%20use%20Visual%20Studio%20or%20makeappx%20to%20do%20it.%20If%20the%20directory%20is%20in%20Linux%2C%20then%20you%20have%20the%20build%20the%20MSIX%20SDK%20via%20%22.%2Fmakelinux.sh%20--pack%22.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIf%20you%20are%20using%20makeappx%20you%20can%20use%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fwindows%2Fwin32%2Fappxpkg%2Fmake-appx-package--makeappx-exe-%23to-create-a-package-using-a-directory-structure%22%20target%3D%22_self%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ethis%3C%2FA%3E%26nbsp%3Binstructions.%20If%20you%20are%20using%20makemsix%20(the%20output%20of%20makelinux.sh)%20then%20you%20need%20'%3CSTRONG%3Emakemsix%20pack%20-d%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CEM%3Einput_directorypath%3C%2FEM%3E%3CSPAN%3E%26nbsp%3B-%3C%2FSPAN%3E%3CSTRONG%3Ep%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CEM%3Efilepath%3C%2FEM%3E%3CSTRONG%3E.msix%3C%2FSTRONG%3E'.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThen%20you%20can%20use%26nbsp%3B'%3CSTRONG%3Emakemsix%20unpack%20-d%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CEM%3Einput_directorypath%3C%2FEM%3E%3CSPAN%3E%26nbsp%3B-%3C%2FSPAN%3E%3CSTRONG%3Ep%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CEM%3Efilepath%3C%2FEM%3E%3CSTRONG%3E.msix%3C%2FSTRONG%3E'%20to%20extract%20the%20MSIX%20in%20Linux.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EKeep%20in%20mind%20that%20if%20the%20application%20you%20are%20packing%20only%20targets%20Windows%20platforms%20it%20will%20not%20be%20able%20to%20run%20in%20Linux%20when%20you%20unpack.%20So%20if%20you%20pack%20notepad%2B%2B%20and%20unpack%20it%20on%20Linux%20it%20won't%20work%20unless%20you%20use%20other%20third%20party%20software.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1607477%22%20slang%3D%22en-US%22%3ERe%3A%20MSIX%20for%20Linux%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1607477%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F436611%22%20target%3D%22_blank%22%3E%40rubengu%3C%2FA%3E%26nbsp%3B%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E1.%20I%20have%20extracted%20notepad%2B%2B%20and%20kept%20in%20ubuntu.%20where%20do%20i%20need%20to%20refer%20the%20path%20of%20extracted%20folder%20as%20input%20for%20makelinux.sh.%20I%20ran%20makelinux.sh%20in%20ubuntu%20and%20i%20couldnt%20find%20any%20output%20or%20makeMsix.%20how%20to%20convert%20file%20format%20for%20linux%20install%20from%20MSIX%20using%20sdk.%3C%2FP%3E%3CP%3E2.can%20i%20use%20the%20output%20of%20makemsix%20to%20install%20notepad%2B%2B%20in%20Ubuntu%20OS.%3C%2FP%3E%3CP%3E3.%20Could%20you%20specify%20some%20third%20party%20tools%20to%26nbsp%3B%20make%20MSIX%20for%20Ubuntu%2FLinux%20OS.%3C%2FP%3E%3C%2FLINGO-BODY%3E
Occasional Contributor

Hi,

We are looking for the opportunity to deploy msix in linux VM in azure.
I have read that we can make MSIX available for linux OS(Ubuntu) using MSIX SDK and we can do it using /makelinux in linux machine. 

 

I am not a developer. I have an app converted from existing installer, lets say from EXE to MSIX for windows.

how do I make the same MSIX available for Linux.  where do i need to have the MSIX unpacked files in SDK. so that /makelinux will provide output.

Any info available to modify it. Kind of steps document. Any help will be appreciated.

4 Replies

The MSIX SDK  doesn't deploy/install an MSIX on non-Windows platforms, it will just unpack the contents of a MSIX into the machine or pack a directory into a MSIX.

 

As you mentioned, to use the MSIX SDK in Linux you have to built it yourself via makelinux. By default, the MSIX SDK will be built without packing support. If you need it pass the --pack flag into makelinux.  

 

makelinux outputs two main binaries: libmsix.so and makemsix. Use makemsix if you just want to unpack your MSIX. You can use the -? option to get information about the options supported.

 

Also note that MSIX doesn't do anything to allow running Windows executables into a Unix-like system. An MSIX that targets non-Windows platforms is expected to contain files that are supported in that specific platform.

@rubengu 

Hi,

 

Thanks for your reply. 
let me rephrase my query. 

I have MSIX unpackaged in a folder. can I make this installable in LINUX using "makeLinux.sh" or using SDK. where do i need to provide the path of the upackaged MSIX folder location to build an output which would install in LInux machines.
EX:

I have notepad++ extracted in a folder. I have makelinux.sh and SDK.

Can you help me to build the extracted folder into a notepad++ package which will install in Linux machine.

@Kragunath 

 

If you have a folder that you want to pack, in Windows you can either use Visual Studio or makeappx to do it. If the directory is in Linux, then you have the build the MSIX SDK via "./makelinux.sh --pack".

 

If you are using makeappx you can use this instructions. If you are using makemsix (the output of makelinux.sh) then you need 'makemsix pack -d input_directorypath -p filepath.msix'.

 

Then you can use 'makemsix unpack -d input_directorypath -p filepath.msix' to extract the MSIX in Linux.

 

Keep in mind that if the application you are packing only targets Windows platforms it will not be able to run in Linux when you unpack. So if you pack notepad++ and unpack it on Linux it won't work unless you use other third party software.

@rubengu ,

 

1. I have extracted notepad++ and kept in ubuntu. where do i need to refer the path of extracted folder as input for makelinux.sh. I ran makelinux.sh in ubuntu and i couldnt find any output or makeMsix. how to convert file format for linux install from MSIX using sdk.

2.can i use the output of makemsix to install notepad++ in Ubuntu OS.

3. Could you specify some third party tools to  make MSIX for Ubuntu/Linux OS.