无法安装打包到nuget包的C# WPF应用程序

g0czyy6m  于 2023-04-07  发布在  C#
关注(0)|答案(2)|浏览(175)

我最近一直在研究C# WPF应用程序的自动部署解决方案。据我所知,不可能使用普通方法(将项目Dockerizing和设置DevOps基础设施),所以我转向了其他方法。
我找到了Squirrel.Windows,它似乎是一个比较稳定的解决方案其中一个步骤是将应用程序制作成一个nuget包,我已经成功地做到了这一点(通过使用csproj文件)但是,由于缺少“.NET Desktop Runtime 6.0.9 x64”,因此无法安装生成的安装文件。而其他使用6.0.9的应用程序也能正常工作,所以我对此完全感到困惑。
如果有人知道如何解决这个问题,甚至解决这个问题,请让我知道。
我花了大半个星期的时间来解决这个问题,所以任何帮助都将不胜感激。
提前谢谢你,马特

eyh26e7m

eyh26e7m1#

不知道你想完成什么。但是如果我理解正确的话,你想在一些特定的Windows设备上安装一个WPF应用程序,并使其更便携?
1.可以使用ClickOnce创建安装文件。
1.您可以将应用程序的安装程序设置为https://medium.com/@kanchanaj/how-to-create-a-windows-installer-setup-file-for-desktop-application-using-visual-studio-2017-beb13015fb58(在Visual Studio中添加安装程序项目类型,通常它不会与初始安装一起使用)
1.你可以让你的应用程序的squashed .exe只是为了运行它与1文件,没有安装你有一切都压扁在1 .exe文件。为此,我曾经使用这个库:https://github.com/Fody/Costura

wpx232ag

wpx232ag2#

您应该研究ClickOnce,这是一种部署技术,使您能够创建自更新的Windows桌面应用程序,这些应用程序可以以最少的用户交互安装和运行,和/或MSIX,这是Windows应用程序的现代应用程序包格式。
现在应该没有理由把你的应用打包成一个NuGet包并使用Squirrel。
MSIX是当今在Windows上部署桌面应用程序的现代推荐方式,但它附带了一些limitations
这个article可能有用。

相关问题