Forum Discussion

Kragunath's avatar
Kragunath
Copper Contributor
Aug 18, 2020

MSIX for Linux

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.

  • 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.

    • Kragunath's avatar
      Kragunath
      Copper Contributor

      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.

      • rubengu's avatar
        rubengu
        Icon for Microsoft rankMicrosoft

        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.

Resources