0

我正在尝试将我的桌面应用程序Computator.NET(用 WinForms 编写)转换为 UWP,它使用 InstallShield 作为它的安装程序,但 DAC 似乎找不到可执行文件。看起来它认为 exe 文件是一些临时安装程序文件。该过程的日志如下:

警告:DesktopAppConverter:警告“W_PACKAGE_DEPENDENCY_ADDED”:对框架包“Microsoft.VCLibs.140.00.UWPDesktop”的依赖已添加到 AppxManifest.xml。请参阅' http://go.microsoft.com/fwlink/?LinkId=821959' 有关在本地部署之前安装软件包的指导。否则,如果这是错误的,请在打包和部署应用程序之前从 AppxManifest.xml 中的 Dependencies 中删除相应的条目。警告:DesktopAppConverter:警告“W_DISCOVERED_EXE_NOT_FOUND”:发现的快捷方式指示应用程序可执行文件应为“\WINDOWS\Installer{FA089B43-0451-420A-968B-DCC3C55644C7}_8C37B49DBB16422C8EF917F2AEA02293.exe”,但找不到此文件。警告:DesktopAppConverter:警告“W_DISCOVERED_EXE_NOT_FOUND”:发现的快捷方式指示应用程序可执行文件应为“\WINDOWS\Installer{FA089B43-0451-420A-968B-DCC3C55644C7}_A9A8E5CA913F4E1EB7F6ACDB86DAFB8B.exe”,但找不到此文件。警告:DesktopAppConverter:警告' W_DISCOVERED_EXE_NOT_FOUND':发现的快捷方式表明应用程序可执行文件应该是 '\Windows\SysWOW64\msiexec.exe',但找不到此文件。警告:DesktopAppConverter:警告“W_EXE_NOT_DISCOVERED”:无法从任何快捷方式确定应用程序可执行文件。MakeAppx 将失败,直到您修复 AppxManifest.xml 中的 Application Executable 属性警告:DesktopAppConverter:警告“W_INSTALL_PATH_NOT_DISCOVERED”:转换器无法确定您的应用程序的安装路径。请使用 -AppInstallPath 参数将应用程序二进制文件移出 VFS。警告:DesktopAppConverter:警告“W_CANNOT_MAKEAPPX_WITHOUT_EXE”:如果不在 AppxManifest.xml 中设置“应用程序可执行文件”属性,则无法创建 appx 包。请在手动调用 makeappx 之前在 AppxManifest.xml 中设置“Application Executable”属性。警告摘要:W_PACKAGE_DEPENDENCY_ADDED 对框架包“Microsoft.VCLibs.140.00.UWPDesktop”的依赖已添加到 AppxManifest.xml。看 'http://go.microsoft.com/fwlink/?LinkId=821959 '有关在本地部署之前安装包的指导。否则,如果这是错误的,请在打包和部署应用程序之前从 AppxManifest.xml 中的 Dependencies 中删除相应的条目。

W_DISCOVERED_EXE_NOT_FOUND 发现的快捷方式指示应用程序可执行文件应为“\WINDOWS\Installer{FA089B43-0451-420A-968B-DCC3C55644C7}_8C37B49DBB16422C8EF917F2AEA02293.exe”,但找不到此文件。

W_DISCOVERED_EXE_NOT_FOUND 发现的快捷方式指示应用程序可执行文件应为“\WINDOWS\Installer{FA089B43-0451-420A-968B-DCC3C55644C7}_A9A8E5CA913F4E1EB7F6ACDB86DAFB8B.exe”,但找不到此文件。

W_DISCOVERED_EXE_NOT_FOUND 发现的快捷方式指示应用程序可执行文件应为“\Windows\SysWOW64\msiexec.exe”,但找不到此文件。

W_EXE_NOT_DISCOVERED 无法从任何快捷方式确定应用程序可执行文件。MakeAppx 将失败,直到您修复 AppxManifest.xml 中的 Application Executable 属性

W_INSTALL_PATH_NOT_DISCOVERED 转换器无法确定您的应用程序的安装路径。请使用 -AppInstallPath 参数将应用程序二进制文件移出 VFS。

W_CANNOT_MAKEAPPX_WITHOUT_EXE 如果不设置 AppxManifest.xml 中的“应用程序可执行文件”属性,则无法创建 appx 包。请在手动调用 makeappx 之前在 AppxManifest.xml 中设置“Application Executable”属性。

我正在使用相当简单的命令运行 Dekstop App Converter:

DesktopAppConverter.exe -Installer C:\Computator.NET\Computator.NET.Installer.v2.1.0.beta.exe -InstallerArguments "/S" -Destination C:\Computator.NET\Appx -PackageName "Computator.NET" -Publisher “CN=Pawel Troka”-版本 2.1.0.0 -MakeAppx

4

1 回答 1

0

这个问题似乎是因为 InstallShield 安装程序的工作方式。幸运的是,有一种简单的方法可以解决这个问题 - 我们需要将路径传递给可执行文件,就像它一样-AppExecutable "path_to_your_exe_file_after_installation"

所以我的最终命令如下所示:

DesktopAppConverter.exe -Installer C:\Computator.NET\Computator.NET.Installer.v2.1.0.beta.exe -InstallerArguments "/S" -Destination C:\Computator.NET\Appx -PackageName "Computator.NET" -Publisher “CN=Pawel Troka” - 版本 2.1.0.0 -MakeAppx -AppExecutable “C:\Program Files (x86)\Computator.NET\Computator.NET.exe” -Sign

请注意,我还添加了-MakeAppx-Sign参数,这是因为我希望它准备好进行测试 - 只需要在转换后安装证书auto-generated.cerTrusted Root Certification Authorities并且我的 appx 已准备好在我的开发人员机器上安装和测试。

这个教程在这个过程中真的很有帮助,这篇文章也帮助了我一点。

于 2016-10-20T21:46:34.680 回答