-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bug: Azure Trusted Signing APPX release for Microsoft Store not possible #8948
Comments
Wait, where does it say that? I see: https://www.electron.build/app-builder-lib.interface.windowsazuresigningconfiguration#publishername
Just to understand this a bit more, are Appx always supposed to not be signed? Just the dll/exe's within it? Trying to understand if we need a configuration prop for Based on your logs, it looks like you're receiving a 403 though, can you check your configuration + token?
|
@mmaietta thank you for looking into this issue!
Yes exactly, I interpreted this to input only
If you want to send an appx to the Microsoft Store, then indeed it should not be signed since Microsoft manages the signing. See also here: https://www.electron.build/appx#appx-package-code-signing
I think this is because Azure Trusted Signing does not support appx? Since signing works fine for EXE/DLL/MSI but at the end of the electron-builder execution flow it fails since the servers refuse to sign APPX. I am not aware of a configuration toggle to change which extensions can be signed. But for the Microsoft Store release it should not be signed anyway. |
Oh forgot to respond to this:
I can try to bypass this bug by disabling Trusted Signing completely when building the appx release, but this is not what we want. Since after installation, the EXEs/DLLs on disk are then also not signed. And antivirus will not easily trust them for example. We want to have our resources inside the appx to be signed (just like electron-builder is doing right now), but the final appx bundle that is created should not be signed (or at least it should be configurable to be signed or not, but I don't think Trusted Signing supports appx due to the 403 error). |
@mmaietta do you perhaps have a time estimate when this issue will be looked into and/or resolved? Currently it is not possible to release our app due to the appx not building correctly. It is no problem if you can't handle this issue at the moment, but if it will take time on the side of electron-builder then I will try to bypass this issue in some way (probably by trying to delete the trusted signing config in a certain hook to prevent it from signing the final package). So it would be great to know if I should invest time in bypassing this bug or not :) |
So...my drink leaked in my backpack earlier this week and left my MacBook sitting in a lake for about an hour. It got completely fried. I'm currently waiting to receive it from the Apple repair center. Can provide an ETA once I receive it and can do a deeper investigation into solutions for you. |
Oh wow that's a true nightmare for every developer! I hope your Macbook will survive. But thanks for letting me know. I will wait for your ETA, no problem. |
@JJ-8 are Appx files always distributed via MS App Store? I ask since I'm not too familiar with AppX, but it's worth calling out that the signing logic in AppxTarget for signing, in particular, hasn't changed in 8 years |
@mmaietta no Appx files are not always distributed via MS App Store. You can also sign them yourself with a valid code signing certificate and then you can distribute them to users (think like an in-house enterprise app). But Trusted Signing appears to be not a valid source for a signature, which makes sense since Microsoft would not want to sign your in-house enterprise app. So I think we need to exclude Trusted Signing as a method of signing for Appx (and use the original methods through a normal code signing certificate). |
Okiedokie, sounds like we need a new property ( My MacBook overall did not survive its liquid encounter unfortunately, but the hard drive did at least! So I still have all my git branches, in-progress work, docker config, and VMs 💪 In light of the circumstances, this is one of the better outcomes I could have hoped for lol. Should be able to get a fix on this once we collaborate on what the solution should be. Can easily get it into this release or the next depending on fix scope. |
@mmaietta I think a property to indicate if the output appx should be signed or not is a great solution! I remember that I once had to create a separate electron-builder config just to configure it to sign the appx (and therefore by default not sign it with the main config). I think it is therefore a good idea to make this a general config that does not only apply to Trusted Signing. |
I am using Azure Trusted Signing to sign Windows DLLs/EXEs with electron-builder 26.0.10. This works fine when creating an MSI release. However, I encounter two bugs when creating an appx release:
win.azureSignOptions.publisherName
is used in the<Identity Publisher="..." />
in the AppxManifest.xml. This is confusing since this requires to use the formatCN=<company name>
while the docs say thatwin.azureSignOptions.publisherName
should only have<company name>
matching the certificate.I think the solution for this is to allow exclusion of signing for the appx release? However, I do not want to fully turn off Trusted Signing since the DLLs/EXEs inside the appx should still be signed. Only the final artifact should not be signed.
The text was updated successfully, but these errors were encountered: