我正在尝试将我的桌面应用程序Computator.NET(用WinForms编写)转换为UWP,它使用InstallShield作为它的安装程序,但DAC似乎找不到可执行文件 . 看起来它认为exe文件是一些临时安装程序文件 . 记录过程如下:
警告:DesktopAppConverter:警告'W_PACKAGE_DEPENDENCY_ADDED':对AppxManifest.xml添加了对框架包'Microsoft.VCLibs.140.00.UWPDesktop'的依赖 . 有关在本地部署之前安装软件包的指导,请参阅“http://go.microsoft.com/fwlink/?LinkId=821959” . 否则,如果这是错误的,请在打包和部署应用程序之前从AppxManifest.xml中的Dependencies中删除相应的条目 . 警告:DesktopAppConverter:警告'W_DISCOVERED_EXE_NOT_FOUND':发现的快捷方式表示应用程序可执行文件应为'\ WINDOWS \ Installer _8C37B49DBB16422C8EF917F2AEA02293.exe',但找不到此文件 . 警告:DesktopAppConverter:警告'W_DISCOVERED_EXE_NOT_FOUND':发现的快捷方式表示应用程序可执行文件应为'\ WINDOWS \ Installer _A9A8E5CA913F4E1EB7F6ACDB86DAFB8B.exe',但找不到此文件 . 警告:DesktopAppConverter:警告'W_DISCOVERED_EXE_NOT_FOUND':发现的快捷方式表示应用程序可执行文件应为'\ Windows \ SysWOW64 \ msiexec.exe',但找不到此文件 . 警告:DesktopAppConverter:警告'W_EXE_NOT_DISCOVERED':无法从任何快捷方式确定应用程序可执行文件 . 在AppxManifest.xml中修复Application Executable属性之前,MakeAppx将失败警告:DesktopAppConverter:警告'W_INSTALL_PATH_NOT_DISCOVERED':Converter无法确定应用程序的安装路径 . 请使用-AppInstallPath参数将app二进制文件移到VFS之外 . 警告:DesktopAppConverter:警告'W_CANNOT_MAKEAPPX_WITHOUT_EXE':无法在AppxManifest.xml中设置'Application Executable'属性而无法创建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 _8C37B49DBB16422C8EF917F2AEA02293.exe',但找不到此文件 . W_DISCOVERED_EXE_NOT_FOUND发现的快捷方式表示应用程序可执行文件应为'\ WINDOWS \ Installer _A9A8E5CA913F4E1EB7F6ACDB86DAFB8B.exe',但找不到此文件 . W_DISCOVERED_EXE_NOT_FOUND发现的快捷方式表示应用程序可执行文件应为'\ Windows \ SysWOW64 \ msiexec.exe',但找不到此文件 . W_EXE_NOT_DISCOVERED无法从任何快捷方式确定应用程序可执行文件 . 在AppxManifest.xml中修复Application Executable属性之前,MakeAppx将失败W_INSTALL_PATH_NOT_DISCOVERED转换器无法确定应用程序的安装路径 . 请使用-AppInstallPath参数将app二进制文件移到VFS之外 . W_CANNOT_MAKEAPPX_WITHOUT_EXE无法在AppxManifest.xml中设置“Application Executable”属性而无法创建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” - 出版商“CN = Pawel Troka”-Version 2.1.0.0 -MakeAppx
1 回答
看起来这个问题是因为InstallShield安装程序的工作方式 . 幸运的是,有一种简单的方法可以解决这个问题 - 我们需要将路径传递给可执行文件,就像它一样
-AppExecutable "path_to_your_exe_file_after_installation"
所以我的最终命令看起来像这样:
请注意,我还添加了
-MakeAppx
和-Sign
参数,这是因为我希望它可以进行测试 - 只需要在转换后将证书auto-generated.cer
安装到Trusted Root Certification Authorities
并且我的appx已准备好在我的开发人员上安装和测试机 .This tutorial在这个过程中真的很有帮助,而且this article对我有所帮助 .