weixin_40348031 2023-12-02 13:31 采纳率: 0%
浏览 11
已结题

win10商店接入问题

1.开发工具:visual studio 2022
2.https://learn.microsoft.com/zh-tw/windows/msix/msix-container#configure-a-windows-application-project-c-win32-wndproc-type-app-for-appcontainer

img


根据文档内容,可以将C++ Win32 WndProc项目,打包成Appcontainer运行项目。
3.真实打包过程中,通过vs建立打包项目,生成的Package.appxmanifest文件如下:

img


其中包含了<rescap:Capability Name="runFullTrust" />,有此项则自动获取所有权限,不会在appContainer中运行。

4.手动删除<rescap:Capability Name="runFullTrust" />内容,然后生成项目则抛出错误:

img

应用的EntryPoint配置项又被自动替换为了Windows.FullTrustApplication,而不是设置的windows.partialTrustApplication。
5.进一步研究发现,将传统win32项目设置为打包项目的应用程序时,会出现黄色警告图标,如下图:

img

这会导致无法进行项目设置,如下图:

img


如果是新建C#项目,或c++/winrt项目,则没有这个警告,且可以设置项目运行时的信任级别,如下图:

img


只要能够设置这个信任级别,则打包器能够打出不需要所有权限的,在AppContainer中运行的包。
如何才能将将C++ Win32 WndProc项目,正确的打包成Appcontainer运行项目?

  • 写回答

15条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-12-02 13:31
    关注
    获得0.80元问题酬金

    引自强大而免费的微信小程序:皆我百晓生

    1. 问题分析
    根据问题描述,你想要将C++ Win32 WndProc项目正确打包成Appcontainer运行项目,但是在手动删除<rescap:Capability Name="runFullTrust" />内容后,生成项目时遇到了错误。你想知道如何解决这个问题。

    2. 解决步骤

    步骤 1: 设置项目属性
    确保你已经安装了Visual Studio 2022,并且在打包项目之前,你需要确保你的C++ Win32 WndProc项目的属性设置正确。

    • 在Visual Studio中打开你的C++ Win32 WndProc项目。
    • 确保你的项目的平台目标设置为最新的Windows 10版本(例如Windows 10, version 21H1)。
    • 在项目属性窗口中,选择“配置属性”>“常规”,然后确保“Windows SDK版本”设置为最新的Windows 10 SDK版本。

    步骤 2: 创建打包项目
    现在,你可以创建一个打包项目来生成Package.appxmanifest文件,并进行必要的修改。

    • 在Visual Studio的解决方案资源管理器中,右键单击你的C++ Win32 WndProc项目,然后选择“添加”>“新项目”。
    • 在“新建项目”对话框中,选择“Windows应用程序打包项目”模板,并为打包项目指定一个名称。然后单击“确定”。
    • 在打包项目的Package.appxmanifest文件中,可以设定一些属性(如应用的名称、发布者信息等)。此时,你可以填写你的项目相关信息。
    • 找到Package.appxmanifest文件中的节点,并在其中添加以下内容(请确保在节点末尾处添加):
    <Extensions>
      <!-- ... 其他扩展项 ... -->
    
      <windows>
        <uap:Extension Category="windows.fullTrustProcess" Executable="MyApp.exe">
          <!-- 请将“MyApp.exe”更改为你的应用程序的可执行文件名 -->
        </uap:Extension>
      </windows>
    </Extensions>
    

    上述代码片段描述了一个“fullTrustProcess”扩展,将你的应用程序作为一个完全信任的进程运行。

    步骤 3: 生成打包项目
    现在,你可以尝试生成打包项目,并将其打包成一个Appcontainer运行项目。

    • 在Visual Studio中,右键单击打包项目,然后选择“生成”>“生成解决方案”。
    • 如果生成成功,你将在输出窗口中看到一条类似于“生成成功”或“打包成功”等消息。
    • 现在,你可以在生成后的文件夹中找到生成的Appx包文件(例如YourAppName_1.0.0.0_x86.appx)。

    步骤 4: 安装Appx包
    你可以使用PowerShell命令来安装并运行生成的Appx包。

    • 打开一个PowerShell终端,并导航到包含你的Appx包文件的文件夹。
    • 运行以下命令来安装Appx包:
    Add-AppxPackage -Path "YourAppName_1.0.0.0_x86.appx"
    

    确保将上述命令中的文件名替换为你生成的Appx包文件的实际名称。

    步骤 5: 运行Appcontainer项目
    现在,你可以运行已经打包成Appcontainer的C++ Win32 WndProc项目了。

    • 找到你的应用程序的快捷方式(通常在开始菜单的“全部应用”或“最近添加”中)。
    • 双击打开快捷方式来运行你的Appcontainer项目。

    通过按照上述步骤,你应该能够正确打包你的C++ Win32 WndProc项目,并将其作为Appcontainer项目运行。

    如果你仍然遇到问题或错误,请提供详细的错误信息,以便更好地帮助你解决问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月10日
  • 修改了问题 12月2日
  • 创建了问题 12月2日