-
Notifications
You must be signed in to change notification settings - Fork 160
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
Windows GUI: Fix installer out path after assets #979
Conversation
Shouldn't it be added also to https://github.com/MediaArea/MediaInfo/blob/master/Source/Install/MediaInfo_GUI_Windows_x64.nsi#L156 ? |
Not needed because there is immediately a
|
05f411b
to
8c3d749
Compare
I prefer to normalize the order of lines between installers so we don't miss such issue in the future. |
By the way, how/where do you see the impact of the fix? In practice I don't see a difference on Win11 (I am very new to this OS, so I may miss a lot of things). |
Can just remove me as author then won't have the unverified tag.
Before this fix, some files were wrongly placed in
|
Sorry, I wanted to mean what is the impact on not having the asset found by the DLL? |
By normalizing order of lines
8c3d749
to
84c9ace
Compare
The PNG images are referenced by the MSIX. Without them, the taskbar icon will be missing. |
I missed something. Here it is with the NSI installer, I don't see about which MSIX you are talking about. |
The XML manifest inside |
And what is the impact? |
The impact is as I mentioned in #979 (comment). Some files are wrongly placed in the wrong place that's all. No change/effect in functionality. The only way to detect the buggy installer is to inspect the install directory. edit: the wrongly placed files are not the PNGs so nothing is broken there. |
I don't get it: if no change/effect, why installing them? We can just not install them (and remove the reference from the MSIX). |
See my edit. The wrongly placed files are not the PNGs or any of the new files that are used by the Windows 11 context menu. So there is no change in functionality there. I mean the fix of installer has no effect on functionality not that the files we are installing has no effect. Unrelated to this fix, the MSIX has to reference the PNGs to be valid. The PNGs have to be present for the taskbar icon. |
Oops, right, I was thinking the wrong way. |
Yes that is what I found out. When there is a package installed, it behaves like a MSIX packaged app so the AppxManifest and PNGs are used instead of binary icon. Since it is a sparse package, the Assets are in the install directory instead of in the MSIX itself. I have seen other applications packaging the Assets in MSIX instead which results in missing taskbar icon as well as uselessly large MSIX file.
The main purpose of the sparse package here is to gain access to the new modern context menu. You can see the new DLL is referenced in the AppxManifest along with all the file extensions we want to register. In general, the sparse package grants an application package identity. This enables an unpackaged app to use features that require package identity which are traditionally only accessibly by packaged apps. Other features that require package identity other than the new context menu can be found here: https://learn.microsoft.com/en-us/windows/apps/desktop/modernize/modernize-packaged-apps
If you see Task Manager or Process Explorer and enable the package name column, you will see that MediaInfo has a package name when the sparse package is installed. That is package identity. Sparse package makes the app more like a MSIX/Store packaged app. Can also do |
Snapshot 20241130-2 looks good. |
This is what I was missing, thank you for the explanation. |
@JeromeMartinez side note: Probably can replace MediaInfo UWP store version with a packaged VCL or Qt one so that achieve feature parity and no need to maintain so many different code. If not mistaken some of Microsoft's updated pre-installed apps from the Store are not using UWP anymore. |
We created the UWP version for having a presence on the Windows App Store before they accept Win32 apps. We need to think about if the UWP version still have a value added (UI more "Windows"? Well, it seems that people don't really see a Windows style), if not we may switch to the VCL (for the moment) one. |
From what I see, UWP is abandoned by Microsoft themselves. Microsoft's own apps are mostly updated to use WinUI3. That is the new 'Windows style' for Windows 11 with Mica material. Microsoft now encourages use of Windows App SDK/WinUI or WPF as development platform. There is also a guide from Microsoft to migrate from UWP to Windows App SDK. |
Not stable... But right, maybe time for us to move from UWP and push the VCL version on the Windows Store. But I guess this will not be easy to move, but having the Win11 option also on the Windows Store is needed, I'll check with @g-maxime when we have time for that. |
I never published apps to store but a rough idea I have is to modify the sparse package manifest to turn it into a fully packaged win32 app. Or modify the Qt MSIX manifest for the VCL one. Then the graph/ffmpeg plugins can probably be published to store as a dependent but optional package if not wanting to bundle everything together. Something like what I done for the Qt MSIX should be publishable to Store with working context menu. Not 100% sure it will work since I never published to Store. |
People using the Store don't really care about package sizes, so all in one there :).
We will try... |
Fix #960 (comment)