如何制作一个 C# Windows 窗体应用程序,为 Windows 应用商店转换,从 Windows 开始

Posted

技术标签:

【中文标题】如何制作一个 C# Windows 窗体应用程序,为 Windows 应用商店转换,从 Windows 开始【英文标题】:How to make a C# Windows Forms app , converted for the Windows Store, start with Windows 【发布时间】:2019-11-12 19:48:16 【问题描述】:

我创建了一个名为“Desktop Web Tiles”的 Windows 窗体 C# 应用程序,它创建了一个面板,其中包含四个使用 Microsoft Edge 运行的网站。

https://www.microsoft.com/en-us/p/desktop-web-tiles/9pmp8f1nqcj7?activetab=pivot:overviewtab

我使用 Desktop Bridge for Windows Store 转换了应用并发布了它。唯一的问题是我无法让最终用户在启动时运行 Windows Store 应用程序。环顾四周,我发现了这个链接:

https://blogs.windows.com/windowsdeveloper/2017/08/01/configure-app-start-log/#V6oroyVxClAEehF6.97

它说在我的应用清单中使用“windows.startupTask”扩展来使应用自动启动。问题是我对处理应用程序清单知之甚少,我被卡住了。我的应用程序必须从 Windows 开始,因为它是其使用的基础。非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

问题是我对处理应用程序清单知之甚少,所以我被卡住了。

如果你使用Desktop Bridge你会在Windows应用程序打包项目中找到Package.appxmanifest文件,然后双击appxmanifest文件->按F7查看代码- > 将以下内容添加到 appxmanifest 文件中。

xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
IgnorableNamespaces="uap mp rescap desktop">

  ......

<Applications>
  <Application Id="App"
    Executable="$targetnametoken$.exe"
    EntryPoint="$targetentrypoint$">

  .....

    <Extensions>
      <desktop:Extension
 Category="windows.startupTask"
 Executable="DesktopApp\DesktopApp.exe"
 EntryPoint="Windows.FullTrustApplication">
        <desktop:StartupTask
          TaskId="MyStartupId"
          Enabled="false"
          DisplayName="TestWinFormApp" />
      </desktop:Extension>
    </Extensions>
  </Application>
</Applications>

运行您的应用并在启动列表中启用应用的启动。详细步骤请参考提供的blog。为了更好地理解,我分享了 appxmanifest here。

【讨论】:

您好,首先感谢您抽出宝贵时间。我尝试了您所说的,但在“. 处出现错误 这行你加xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"了吗? 是的,你是对的,在我添加该行之后,错误就消失了。但现在它给了我一个警告: 请添加此链接xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" 此行存在,但警告仍然存在。我应该尝试发布应用程序而忽略警告吗?

以上是关于如何制作一个 C# Windows 窗体应用程序,为 Windows 应用商店转换,从 Windows 开始的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中发布带有其数据库的 Windows 窗体应用程序

c#制作飘动动画窗体

在 C# windows 窗体中制作的保存/加载控件

我用C#编写的一个Windows窗体程序怎么样打包成一个安装包?

C#如何在 Windows 窗体应用程序中使用事件

为啥我的图片框动画没有按预期工作(C# Windows 窗体应用程序)?