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

8mmmxcuj  于 2023-03-24  发布在  Windows
关注(0)|答案(4)|浏览(134)
.\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中传递这个

zwghvu4y

zwghvu4y1#

根据微软关于appxmanifest的文档,只要发布者名称用引号(“)括起来,你就可以在发布者名称中包含逗号而不会有问题:
https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx
因此,真实的的问题是如何将带引号的发布者名称传递给AppConverter。
解决方案似乎是在传递publisher时用"\“表示”,如下所示:

-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中似乎有一个bug。我得到的结果是这样的:
CN=“公司,名称
结果中缺少第二个“”。我不知道为什么DesktopAppConverter无法识别第二个“”特殊字符,但情况就是这样,所以我们不幸地被困在这里。

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

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

gkn4icbw2#

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

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

9nvpjoqh3#

我也遇到了同样的问题,对我来说,修复是双重的,正如我在blog上所描述的:
1.在“发布者”字段中的命令后使用空格:例如CN=Company, Name=Foo
1.从PowerShell启动Desktop App Converter。

zed5wv10

zed5wv104#

转义逗号,即使用-Publisher "CN=Company&comma;name"

相关问题