> But why i cannot use the "DownloadUrl"
You can. I just didn't considered it. :)
It seems even a better and more natural approach. You will still need to do the magic of with detecting your CPU architecture and trigger one or another MSiPackage execution. Unfortunately the actual URL has to be hardcoded and only payload IDs and file names can be substituted at runtime.
In addition to this I just though about anoter interesting opportunity to simplify the whole solution. You can hav a simple URL based MSiPackage wraappeed into a dumb bootstrtepper and let the web serer hosting the downloadanble MSIs to decide which one to return on HTTP request. You can analyse the On the server User Agent of the request and detect if it came form x64 machine or fro x86 and return the correct msi. But you will need to test it first to see if Burn built in downloader properly includes the client OS info into request.
You can. I just didn't considered it. :)
It seems even a better and more natural approach. You will still need to do the magic of with detecting your CPU architecture and trigger one or another MSiPackage execution. Unfortunately the actual URL has to be hardcoded and only payload IDs and file names can be substituted at runtime.
In addition to this I just though about anoter interesting opportunity to simplify the whole solution. You can hav a simple URL based MSiPackage wraappeed into a dumb bootstrtepper and let the web serer hosting the downloadanble MSIs to decide which one to return on HTTP request. You can analyse the On the server User Agent of the request and detect if it came form x64 machine or fro x86 and return the correct msi. But you will need to test it first to see if Burn built in downloader properly includes the client OS info into request.