The desktop app would download the file(ex: foo.exe file) and try to open it. It is important to note that it is not a browser but an app trying to download the file. I tried google drive with downloadable content link generator and GitHub release package but they don't seem to work with the App. Any suggestions?
Try to put it in a cloud service with api like bunnycdn and use the provided download link with an http request
DigitalOcean Spaces
S3?
What are your challenges with it? Is it the windows signing/"downloaded from the internet"..?
I think this type of flow is being rightfully filtered as a security risk, why do you have that flow?
No, it's not downloaded from the Internet issue. Think of it as an update. A desktop app downloads a new version of .exe or equivalent and runs it when the download is complete. Maybe, Google and Github don't allow access to an app even if the download content is open for all. I think because they always expect a browser to download files.
To me it sound your missing something technical...
Github files are downloaded multiple ways including the most simple of http gets. You can try it with
curlorwgetand change headers as you please, AFAIK it all works without issues.I do believe windows does not allow you to run
.exefiles that were downloaded without a user approving he wants to trust this new file, as this would be a security exploit. Updates commonly either update everything but the executable, or require the user to interact with it (usually they would run anmsi installerto do updates, almost anything I can think of... in the msi installer they asks you to close the software, as in windows you can't overwrite a running executable, they remove the old one and do a clean install.. the msi asks for user interaction..) and that's on top of signing and sometimes being verified by MS or nowadays they use the app store for updates to reduce the mess..When I keep the files on my server, it gets downloaded and runs as well. I don't have the option of msi installer as the implementation doesn't support it.
it's a really weird edge case story
is the executable file signed?
can you serve the same file from a subdomain and it still works?
does putting a CDN on top of your server breaks it as well?
can you get any debugging info on what the actual error is?
Yes, the exe is signed. I'm using Http get to access the file. On debugging, I'm getting "ConnectionRefusedError".