在Windows上启动MAUI应用程序exe的最简单方法是什么?

4
有没有一种方法可以在Windows桌面上运行exe而不进行安装和部署步骤?我注意到所有需要的东西都在bin\debug\win10-x64下的AppX文件夹中,但由于应用商店的集成,似乎只能通过开始菜单快捷方式启动。有没有办法手动创建快捷方式?我在dev/qa环境中分享和传递实用程序,每次运行安装程序都很麻烦。
如果需要,我可以制作一个简单的reg脚本。 看起来在HKLM\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\Deployment\Package\*中添加了一个引用。
详细信息似乎是在这里设置的: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModel\StateRepository\Cache\Application\Data\

这只是一个UWP应用程序 - 请查看有关UWP部署选项的文档 - Jason
我在这方面运气不佳,我可以让它开始启动过程,但随后它会失败(使用协议方法)。https://learn.microsoft.com/en-us/windows/uwp/xbox-apps/automate-launching-uwp-apps - GuildOfCalamity
这个代码是可以运行的,但在执行部署步骤之前不能运行... https://www.addictivetips.com/windows-tips/open-uwp-apps-from-command-line-windows-10/ - GuildOfCalamity
2个回答

8

你可以使用以下方法从exe文件创建可执行应用程序,但由于这只是一种后门方法,可能会引起一些问题。

操作1

在csproj文件的PropertyGroup标签中添加一个WindowsPackageType标签,该标签的值为None。

<PropertyGroup>
    ~omission~
    <WindowsPackageType>None</WindowsPackageType>
</PropertyGroup>

操作2

按照以下步骤修改项目中 Properties 文件夹中的 launchSettings.json 文件:

{
  "profiles": {
    "Windows Machine": {
      "commandName": "Project", ←Rewrite from MsixPackage to Project
      "nativeDebugging": false
    }
  }
}

References


谢谢!这个方法可行。我就知道它一定比所有的UWP黑科技都要简单。 - GuildOfCalamity
@GuildOfCalamity 在按照这些步骤后,我将exe文件复制到另一台机器上,但是双击生成的exe文件没有任何反应。我有什么遗漏吗? - Mounika
我从未在另一台电脑上运行过创建的exe文件,所以我会在有时间时尝试并回报。 - user20001459
@tkMaui,根据你的说法:“从exe文件创建可执行应用程序”-->我想,我们应该能够从exe文件运行该应用程序。你在这里所说的“可执行应用程序”是什么意思? - Mounika
我已经尝试将bin文件夹发送到另一台电脑并运行exe文件,但应用程序仅在我的环境中运行。您是否尝试将仅exe文件移动到另一台机器并运行它? 如果是这样,那么缺少一些程序集。 我认为它甚至不会启动。 项目/bin/debug或release/.net6-windows[版本号] 文件夹传输到另一台计算机并尝试运行它。如果这是唯一的原因,我不知道。 - user20001459
显示剩余2条评论

3
很简单,只需右键点击项目文件(或双击项目文件),然后点击“编辑项目文件”。只需在 PropertyGroup 标记内添加以下标记即可。
 <WindowsPackageType>None</WindowsPackageType>

将 launchSetting.json 文件中的 CommandName 参数从 MsixPackage 更改为 Project。或者将以下代码复制到 launchSetting.json 文件中。请保留 HTML 标签。
{
  "profiles": {
    "Windows Machine": {
      "commandName": "Project",
      "nativeDebugging": false
    }
  }
}

这个回答提供了什么,老的、被接受的回答并且有更多赞同的回答没有提供的内容? - jvn91173
我只是试图简单地给出答案。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接