Powershell 在使用桌面应用程序转换器将我的win32应用程序转换为UWP应用程序时,如何在appxmanifest中的发布者名称中添加逗号

Powershell 在使用桌面应用程序转换器将我的win32应用程序转换为UWP应用程序时,如何在appxmanifest中的发布者名称中添加逗号,powershell,windows-applications,desktop-bridge,desktop-app-converter,Powershell,Windows Applications,Desktop Bridge,Desktop App Converter,因此,我为我的应用程序持有的comodo证书在CN中有一个逗号,即类似于CN=“Comapany,NAme” 如何在powershell中传递此消息根据Microsoft关于appxmanifest的文档,只要发布者名称被引号(“)包围,您就可以在发布者名称中包含逗号,而不会出现问题: 所以真正的问题是如何将带有引号的发布者名称传递给AppConverter 解决方案似乎是在传递publisher时表示“with\”\,如下所示: .\DesktopAppConverter.ps1 -Expa

因此,我为我的应用程序持有的comodo证书在CN中有一个逗号,即类似于
CN=“Comapany,NAme”


如何在powershell中传递此消息

根据Microsoft关于appxmanifest的文档,只要发布者名称被引号(“)包围,您就可以在发布者名称中包含逗号,而不会出现问题:

所以真正的问题是如何将带有引号的发布者名称传递给AppConverter

解决方案似乎是在传递publisher时表示“with\”\,如下所示:

.\DesktopAppConverter.ps1 -ExpandedBaseImage C:\ProgramData\Microsoft\Windows\Images\BaseImage-14316

–Installer C:\Users\chris\Downloads\x\x.exe -InstallerArguments "/S" -Destination C:\Output\x

-PackageName "VLC" -Publisher "CN=Company,name" -Version 0.2.2.2 -MakeAppx -Verbose
此处的完整命令:

-Publisher 'CN=\"\"Company, Name\"\"'
然而,DesktopAppConverter中似乎存在一个bug。我得到的结果是:

CN=“公司、名称

结果中缺少“第二个”。我不知道为什么DesktopAppConverter无法识别第二个\“\”特殊字符,但事实就是如此,因此我们不幸地被困在这里

更新:找到了解决方案。通过反复试验,我发现添加双引号“”有助于识别第二个引号。因此,以下工作:

DesktopAppConverter.exe -Installer myInstaller.exe -InstallerArguments "/S" -Destination . -PackageName "MyApp" -Publisher 'CN=\"\"Company, Name\"\"' -Version 0.0.0.1 -MakeAppx

我也有同样的问题,对我来说,修复程序是两个折叠的,正如我在我的

  • 在发布者字段中的命令后使用空格:例如,
    CN=Company,Name=Foo
  • 从PowerShell启动桌面应用程序转换器

  • 在AppXManifest.xml中,逗号可以嵌入到
    字符串中:

    -Publisher 'CN=\"\"Company, Name""\"\"'
    
    
    
    我尝试了建议的解决方案,但仍然不适用于我。我尝试了'CN=\'“Company,LLC\'”和'CN=\'“Company,LLC”\'。在这两种情况下,我都从MakeAppX收到错误,说出版商名称无效。在一种情况下,错误显示名称为:“Company,LLC”,在第二种情况下显示为:“Company,LLC”有没有人能让这一切真正起作用呢?我上面的解决方案对我来说很有效,但结果证明你无论如何都不需要它,因为你无论如何都不应该把你的公司名称称为“出版商”。在我联系微软后,我意识到“发布者”应该是他们在你注册微软应用开发者帐户时为你生成的发布者ID。你有账户吗?我一直在尝试,但仍然不起作用。在对appx包进行签名时,发布者条目必须与签名中使用的数字id相匹配,因此如果证书中有逗号,则必须在发布者字段中使用该逗号,因此需要它。有没有什么我不知道的东西对我不起作用?我正在使用Powershell运行该命令。在我帮助您包含逗号之前,让我告诉您甚至不需要证书,以节省您的时间。您是否计划将应用提交到Windows Appstore?如果是这样,那么你不应该用你自己的证书来签名,因为微软只接受“未签名”的应用。在您的应用获得批准后,Microsoft将使用其自己的证书对其进行签名。我将尝试此操作,但仍然令人不安的是,我们无法对appx包进行签名,因为发布者的名称中有逗号。
    <Identity Name="VLC" Publisher="CN=&quot;Comapany, NAme&quot;" Version="1.0.0.0" ProcessorArchitecture="x64" />