-1

我将 WPF 应用程序打包为 MSIX,但同样的代码也可以打包为 ClickOnce 或在没有任何包的情况下作为可移植的工作。在运行时检测使用哪种包装技术(如果有)的最佳方法是什么?

编辑:我将尝试澄清一些事情,因为问题正在被否决而没有任何评论。现有应用程序打包为ClickOnce。我们正在尝试将其移至MSIX,该接缝可以正常工作,但不会立即迁移整个用户群,我们也需要与旧打包格式兼容,因为“现代”打包方式引入了很多限制,应该区别对待。

4

1 回答 1

3

是的,您可以使用它Windows.ApplicationModel.Package.Current来查看您是否作为打包应用程序运行。假设您使用的是 C#(但您也可以使用 C++ 等):

internal static bool IsPackaged()
{
  try
  {
    // If we have a package ID then we are running in a packaged context
    var dummy = Windows.ApplicationModel.Package.Current.Id;
    return true;
  }
  catch
  {
    return false;
  }
}

(来自此桌面桥示例)。

于 2019-12-30T20:35:47.383 回答