有没有办法检查当前应用程序是否是 misx 应用程序

Is there a way to check if the current application is a misx application

我正在将当前使用 ClickOnce 部署的 C#/WPF 应用程序转换为 MSIX。我想检查代码,如果当前执行是从 MSIX 包中执行的,或者是否只执行了 .exe,类似于 ClickOnce 的 ApplicationDeployment.IsNetWorkDeployed 属性。 作为目前的解决方法,我使用 try catch 块尝试访问 Package.Current.Displayname 并在 catch 块中设置 isMsix 属性 ,但我想知道是否有更好的方法使用某些方法或 属性?

检测包标识和运行时上下文

https://docs.microsoft.com/en-us/windows/msix/detect-package-identity

使用 DesktopBridge.Helpers 中的 IsRunningAsUwp()

https://github.com/qmatteoq/DesktopBridgeHelpers/

https://nicksnettravels.builttoroam.com/sparse-package/