SOLVED

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

Copper Contributor

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

4 Replies

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

Hi@James 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

best response confirmed by ValdimarThor (Copper Contributor)
Solution

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

@James Pike 

 

Brilliant James, thanks for the clarification.

 

best regards

Valdimar Thor

1 best response

Accepted Solutions
best response confirmed by ValdimarThor (Copper Contributor)
Solution

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

View solution in original post