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

How can we add a comma in publisher name in appxmanifest while using desktop app converter to convert my win32 app into UWP app

.\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

所以我为我的应用程序准备的 comodo 证书在 CN 中有一个逗号,即类似于 CN="Comapany, NAme"

如何在 powershell 中传递这个

根据关于 appxmanifest 的 Microsoft 文档,只要发布者名称用引号 (") 括起来,您就可以在发布者名称中包含逗号没有问题:

https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx

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

解决方案似乎是在传递发布者时用 \"\" 表示:

-Publisher 'CN=\"\"Company, Name\"\"'

完整命令在这里:

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

但是 DesktopAppConverter 中似乎存在错误。我得到的结果是这样的:

CN="公司,姓名

结果中缺少第二个 "。我不确定为什么 DesktopAppConverter 无法识别第二个 \"\" 特殊字符,但情况就是这样,所以我们不幸被困在这里。

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

-Publisher 'CN=\"\"Company, Name""\"\"'

我有同样的问题,对我来说,修复是双重的,正如我在 blog:

中描述的那样
  1. 在 Publisher 字段中的命令后使用 space:例如CN=Company, Name=Foo
  2. 从 PowerShell 启动桌面应用程序转换器。

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

<Identity Name="VLC" Publisher="CN=&quot;Comapany, NAme&quot;" Version="1.0.0.0" ProcessorArchitecture="x64" />