2
.\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中传递这个

4

3 回答 3

2

根据有关 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""\"\"'
于 2016-10-06T02:07:41.547 回答
1

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

<Identity Name="VLC" Publisher="CN=&quot;Comapany, NAme&quot;" Version="1.0.0.0" ProcessorArchitecture="x64" />
于 2021-02-03T09:53:16.003 回答
0

我遇到了同样的问题,对我来说,正如我在博客中描述的那样,修复是双重的:

  1. 在 Publisher 字段中的命令后使用空格:例如CN=Company, Name=Foo
  2. 从 PowerShell 启动桌面应用程序转换器。
于 2018-01-16T14:08:51.873 回答