启动转换后的应用程序时出错 "invalid parameter"

Error "invalid parameter" when launching a converted app

我做了什么

我已经使用如下命令行成功打包了一个桌面应用程序:

DesktopAppConverter.exe -Installer "_setup.bat" -InstallerArguments "<log_folder>" -Destination "c:\packaged_app" -PackageName "MyPackageName" -Publisher "CN=MyPublisher" -AppId "MyApp" -AppDisplayName "MyApp" -AppDescription "MyApp" -PackageDisplayName "MyApp" -PackagePublisherDisplayName "MyPublisher" -Version 1.2.3.4 -Verbose

为了在本地测试应用程序,我已按照 this MSDN page 中所述使用以下 PowerShell cmdlet 成功安装了程序包:

Add-AppxPackage –Register AppxManifest.xml

然后我尝试通过单击其开始菜单项来启动该应用程序。

错误症状

弹出一个错误对话框,如下所示:

C:\packaged_app\MyPackageName\PackageFiles\MyApp\my.exe

Invalid parameter.

显示的路径是正确的。

Windows事件日志有相应的条目:

%4: Cannot create the process for package %1 because an error was encountered while preparing for activation. %5

完成 XML 事件日志条目(省略 EventPayload 数据):

Log Name:      Microsoft-Windows-AppModel-Runtime/Admin
Source:        Microsoft-Windows-AppModel-Runtime
Date:          10/19/2017 3:51:08 PM
Event ID:      203
Task Category: None
Level:         Error
Keywords:      DesktopAppXProcess
User:          SYSTEM
Computer:      DESKTOP-5ODUDQ0
Description:
%4: Cannot create the process for package %1 because an error was encountered while preparing for activation. %5
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-AppModel-Runtime" Guid="{f1ef270a-0d32-4352-ba52-dbab41e1d859}" />
    <EventID>203</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x2000000000000004</Keywords>
    <TimeCreated SystemTime="2017-10-19T13:51:08.634936000Z" />
    <EventRecordID>874</EventRecordID>
    <Correlation />
    <Execution ProcessID="1204" ThreadID="4232" />
    <Channel>Microsoft-Windows-AppModel-Runtime/Admin</Channel>
    <Computer>DESKTOP-5ODUDQ0</Computer>
    <Security UserID="S-1-5-18" />
  </System>
  <ProcessingErrorData>
    <ErrorCode>15005</ErrorCode>
    <DataItemName>PackageName</DataItemName>
    <EventPayload></EventPayload>
  </ProcessingErrorData>
</Event>

我试过的

我已将参数 -Sign -MakeAppX 添加到 DesktopAppConverter 命令行。安装生成的证书和 .appx 包后,我已经能够从其开始菜单项成功启动该应用程序。

但根据 this MSDN page 这对 本地测试来说不是必需的:

You can run your app to test it out locally without having to obtain a certificate and sign it.

由于应用程序相当大(大约 100 MiB),我想避免每次更改内容时都必须重新打包和退出应用程序。

系统详细信息

我可以通过将 Windows 更新到最新版本(内部版本 16299.19)来解决问题。

更新后,我使用 "BaseImage-16299.wim" 作为 DAC 基础映像完全重新安装了 DAC。