-
-
Notifications
You must be signed in to change notification settings - Fork 558
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
use msix/msixbundles for modern msvc builds #1149
base: develop
Are you sure you want to change the base?
Conversation
Signed-off-by: seth <getchoo@tuta.io>
237a403
to
39aa2bd
Compare
Signed-off-by: seth <getchoo@tuta.io>
Signed-off-by: seth <getchoo@tuta.io>
Signed-off-by: seth <getchoo@tuta.io>
Signed-off-by: seth <getchoo@tuta.io>
good thing i got an unlucky commit hash :p Signed-off-by: seth <getchoo@tuta.io>
msixbundle is done! |
Signed-off-by: seth <getchoo@tuta.io>
with the appinstaller (mostly) completed the package should be able to auto update now using the same msixbundle created previously. this requires a few things though:
|
Signed-off-by: seth <getchoo@tuta.io>
And this is why I think we should keep the nsis installer too (totally not because I use ltsc 2019 on some PCs) |
i might be wrong, but i'm pretty sure mainline support for ltsc 2019 this year no? i think it might be time to upgrade but in all seriousness, i see your point - not just for older releases, but just for backwards compatibility in general. as the main method of distribution for our flagship build, it will be pretty confusing for people if it no longer works for them or if they don't see the setup.exe they've been used to for so long. however, i really do think this temporary problem is worth it. with the possibility of sandboxing in the future, auto updates now, and a simplified install process, we should be pushing users towards this. by keeping the setup.exe for our recommended build, i fear that a good number of users will just stick with it and not be able to to take advantage of these features. i also think this will have to happen anyways, especially once sandboxing is implemented so we can make it a default when installing prism; it might be better to "rip off the band aid" now, so to speak i think that with proper documentation linked in the github release and blogpost on the website, this can be an easy transition that will pay off in the future. and after all, a vast majority of users are most likely on versions > 20h1, and there are still regular x64 setup.exes available with mingw |
Also add the new files in https://github.com/PrismLauncher/PrismLauncher/blob/develop/.github/workflows/trigger_release.yml |
TIL we're in 2029 (https://learn.microsoft.com/en-us/lifecycle/products/windows-10-enterprise-ltsc-2019) |
this probably works...right? Signed-off-by: seth <getchoo@tuta.io>
hey i did say mainline |
I do think keeping the old installer around is good too. At least for now. |
Signed-off-by: seth <getchoo@tuta.io>
Signed-off-by: seth <getchoo@tuta.io>
done :) |
I still think we should have the setup.exe for modern builds for people who want to change paths but especially for PRs and devbuilds. Like I wanted to try this pr but looks like for self-signing I need the entire msvc |
im a still a bit iffy on this since it's a small niche that could cause a bit of confusion when the transition happens - like for example, we announce auto-updates, people use the setup.exe they have been using, but then don't get auto updates. come to think of it though, making the msix the default on the site could hopefully avoid some of this, as well as saying something like "hey! you'll need to uninstall your current version of prism and then use the msix just this once"
yeah we really can't do much with prs (though personally i just use the zip instead of the setup.exe), but for dev builds i was thinking of making a separate app installer specifically for develop. it'd make it easier than ever for people to have a rolling version of prism on windows (this would already work, and could use automation similar to what we'll do for actual releases)
technically it's just the windows sdk (TIL), but yeah...i didn't realize this until now. this does suck, especially with how you have to make your own cert :/ i'll add back the setup.exe, but i think with that we should really push the point that it's probably not something you should be using when installing modern builds |
Perhaps we could say on the website to use the msix and maybe we could put the setup as an extra option but as an "advanced" option like we do rn for the system install zip |
yeah i'd be up for that idea :) |
Signed-off-by: seth <getchoo@tuta.io>
tests are ongoing in feature/msix |
Signed-off-by: seth <getchoo@tuta.io>
Signed-off-by: seth <getchoo@tuta.io>
Signed-off-by: seth <getchoo@tuta.io>
Signed-off-by: seth <getchoo@tuta.io>
Signed-off-by: seth <getchoo@tuta.io>
Signed-off-by: seth <getchoo@tuta.io>
Signed-off-by: seth <getchoo@tuta.io>
Signed-off-by: seth <getchoo@tuta.io>
backported all of the work done in features/msix. i'm going to do a general test tomorrow and this should hopefully be good to go! all that would be left is automating the upload of prismlauncher.AppInstaller and the msixbundle to a server somewhere 🥳 |
might need more changes as #981 was merged. See #981 (comment) |
It needs changes anyways, I remember there are issues with running MC rn |
This comment was marked as off-topic.
This comment was marked as off-topic.
|
prism won't be able to make %appdata%\PrismLauncher on first launch, which would be ok...but this in turn breaks opening and folders :( Signed-off-by: seth <getchoo@tuta.io>
we can hopefully try this again one day, but for now we can't move forward without having ms signing certs marking as draft |
this replaces the nsis installer for modern msvc builds with an msix package. this does not yet implement the sandboxing capabilities possible with the format, as that will require a bit of rewriting. i still plan to do this, but would like to have the basic infrastructure setup beforehand.
new. cool stuff
msix (in this pr) will allow us to:
this is the main reason why this is draft right now, as i'm still figuring this out :pa lot of issues relating to this wowtradeoffs
there are some tradeoffs here though, including:
v2004/20H1v1809/LTSC 2019 will be unable to use thisthis is due to win32 runtime behavior not being supported until then, and given that the latest ltsc is still supported and 20H1 has been EOL for a while, i think this is also acceptablewin32 runtime behavior is no longer used here so this isn't an issue. instead we usepackagedClassicApp
/windows.fullTrustApplication
which is supported by v1809/LTSC 2019 and upmost of these could be avoided by still providing a setup.exe, however with auto updating and sandboxing (hopefully) in the future, i think it's best if we push this as the primary and only installer for modern msvc builds. plus, for the sake of compatibility with much older windows versions (and slightly newer 10 releases prior to
20H11809), legacy and mingw builds will still create a setup.exe. i feel this is a good compromise for users who would rather stick with a setup.exe on modern windows or haven't updated.TODO
here's a nice list to help track progress :)
Known Issue
these come from the testing we've done on discord