我正在尝试将我的桌面应用程序Computator.NET(用WinForms编写)转换为UWP,它正在使用InstallShield安装程序,但DAC似乎找不到可执行文件。看起来它认为exe文件是一些临时安装程序文件。该过程的记录如下:
警告:DesktopAppConverter:警告' W_PACKAGE_DEPENDENCY_ADDED':A 依赖于框架包' Microsoft.VCLibs.140.00.UWPDesktop' 已添加到AppxManifest.xml中。看到 ' http://go.microsoft.com/fwlink/?LinkId=821959'作为指导 在本地部署之前安装软件包。否则,如果这样 出错,从中依赖项中删除相应的条目 在打包和部署应用程序之前的AppxManifest.xml。 警告:DesktopAppConverter:警告' W_DISCOVERED_EXE_NOT_FOUND': 发现的快捷方式表示app可执行文件应该是 ' \ Windows \ {安装FA089B43-0451-420A-968B-DCC3C55644C7} _8C37B49DBB16422C8EF917F2AEA02293.exe&#39 ;, 但找不到此文件。警告:DesktopAppConverter:警告 ' W_DISCOVERED_EXE_NOT_FOUND':发现的快捷方式表示该应用 可执行文件应该 ' \ Windows \ {安装FA089B43-0451-420A-968B-DCC3C55644C7} _A9A8E5CA913F4E1EB7F6ACDB86DAFB8B.exe&#39 ;, 但找不到此文件。警告:DesktopAppConverter:警告 ' W_DISCOVERED_EXE_NOT_FOUND':发现的快捷方式表示该应用 可执行文件应该是' \ Windows \ SysWOW64 \ msiexec.exe',但是这个文件 无法找到。警告:DesktopAppConverter:警告 ' W_EXE_NOT_DISCOVERED':应用程序可执行文件不能 从任何捷径确定。在您修复之前,MakeAppx将失败 AppxManifest.xml中的应用程序可执行属性警告: DesktopAppConverter:警告' W_INSTALL_PATH_NOT_DISCOVERED': Converter无法确定您的应用程序的安装路径。请 使用-AppInstallPath参数将app二进制文件移到VFS之外。 警告:DesktopAppConverter:警告 ' W_CANNOT_MAKEAPPX_WITHOUT_EXE':无法创建appx包而不用 设置应用程序可执行文件' AppxManifest.xml中的属性。 请设置应用程序可执行文件'中的财产 手动调用makeappx之前的AppxManifest.xml。警告摘要: W_PACKAGE_DEPENDENCY_ADDED对框架包的依赖 ' Microsoft.VCLibs.140.00.UWPDesktop'被加入了 AppxManifest.xml。请参阅' http://go.microsoft.com/fwlink/?LinkId=821959' 有关在本地部署之前安装软件包的指导。 否则,如果这是错误的,请从中删除相应的条目 打包和部署之前在AppxManifest.xml中的依赖关系 你的申请。
W_DISCOVERED_EXE_NOT_FOUND发现的快捷方式表示该应用 可执行文件应该 ' \ Windows \ {安装FA089B43-0451-420A-968B-DCC3C55644C7} _8C37B49DBB16422C8EF917F2AEA02293.exe&#39 ;, 但是找不到这个文件。
W_DISCOVERED_EXE_NOT_FOUND发现的快捷方式表示该应用 可执行文件应该 ' \ Windows \ {安装FA089B43-0451-420A-968B-DCC3C55644C7} _A9A8E5CA913F4E1EB7F6ACDB86DAFB8B.exe&#39 ;, 但是找不到这个文件。
W_DISCOVERED_EXE_NOT_FOUND发现的快捷方式表示该应用 可执行文件应该是' \ Windows \ SysWOW64 \ msiexec.exe',但是这个文件 无法找到。
W_EXE_NOT_DISCOVERED应用程序可执行文件不能 从任何捷径确定。在您修复之前,MakeAppx将失败 AppxManifest.xml中的Application Executable属性
W_INSTALL_PATH_NOT_DISCOVERED转换器无法确定您的 应用程序的安装路径。请使用-AppInstallPath参数 将app二进制文件移到VFS之外。
W_CANNOT_MAKEAPPX_WITHOUT_EXE无法创建appx包 设置应用程序可执行文件' AppxManifest.xml中的属性。 请设置应用程序可执行文件'中的财产 在手动调用makeappx之前的AppxManifest.xml。
我使用相当简单的命令运行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" -Version 2.1.0.0 -MakeAppx
答案 0 :(得分: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”-Version 2.1.0.0 -MakeAppx -AppExecutable“C:\ Program Files(x86)\ Computator.NET \ Computator.NET.exe“ - 签名
请注意,我还添加了-MakeAppx
和-Sign
个参数,这是因为我希望它可以进行测试 - 只需将证书auto-generated.cer
安装到Trusted Root Certification Authorities
之后转换和我的appx已准备好在我的开发人员计算机上安装和测试。
This tutorial在此过程中非常有帮助,this article对我有所帮助。