Forum Discussion

ValdimarThor's avatar
ValdimarThor
Copper Contributor
May 23, 2019
Solved

How to create a MSIX package for a WPF app that doesn't have an MSI

Hi, 

 

I have an WPF application that I'm trying to package that doesn't have an MSI. The application is a composite application created with PRISM and the modules it should contain are only known during deployment or rather right before deployment.

So the steps are:

  1. Application and Modules are built and pushed to Octopus deployment server
  2. During Deployment all modules are gathered into a folder

and for a step 3 I would need to create an MSIX package through an CMD line tool on my Build/Deployment server.

Is that possible, and if so how can I do go about doing it?

 

I've been trying out the DesktopAppConverter and its been working fine locally where the MSIX has been created successfully but it hasn't been working at all on the Build/Deployment server.

 

Regards

Valdimar Thor

  • James Pike's avatar
    James Pike
    May 29, 2019

    I'm not entirely sure what you mean by enabling automatic updates?

     

    By virtue of being MSIX, if you create a new MSIX with the same package name and publisher but an updated version number, you will automatically get delta update behavior.

     

    You would need to extend your build system to increment the version numbers of your package yourself.  It also will not automatically push these packages to other machines for you.  

    If that is a scenario for you, you might find the appinstaller file a viable option: https://docs.microsoft.com/en-us/windows/msix/app-installer/app-installer-file-overview.  You could potentially craft your build system to place the MSIX file onto a well known share and then configure the appinstaller file to look for updates when your users launch the app.

     

    Thanks!
    James

  • Hi ValdimarThor,

     

    DesktopAppConverter is an option for post build conversion. You could also look into using: https://docs.microsoft.com/en-us/windows/msix/mpt-overview

     

    Could you elaborate on what specifically does not work on your build server?

    Since you are building from source, you consider just using the conversion tools to generate a sample MSIX manifest. You could then have your build system directly use the packaging tools to create the MSIX. See: https://docs.microsoft.com/en-us/windows/uwp/packaging/create-app-package-with-makeappx-tool

     

    Thanks!
    James

    • ValdimarThor's avatar
      ValdimarThor
      Copper Contributor

      HiJames Pike and thanks for the reply

      I managed to get it to work using MakeAppx.exe but does it also support enabling automatic updates for the package?

       

      Regards Valdimar Thor

      • James Pike's avatar
        James Pike
        Icon for Microsoft rankMicrosoft

        I'm not entirely sure what you mean by enabling automatic updates?

         

        By virtue of being MSIX, if you create a new MSIX with the same package name and publisher but an updated version number, you will automatically get delta update behavior.

         

        You would need to extend your build system to increment the version numbers of your package yourself.  It also will not automatically push these packages to other machines for you.  

        If that is a scenario for you, you might find the appinstaller file a viable option: https://docs.microsoft.com/en-us/windows/msix/app-installer/app-installer-file-overview.  You could potentially craft your build system to place the MSIX file onto a well known share and then configure the appinstaller file to look for updates when your users launch the app.

         

        Thanks!
        James

Resources