多年来我一直使用ClickOnce,但我遇到了很多局限.Web部署有哪些替代方案?
到目前为止,我唯一能够出现的是ClickThrough,它现在已成为WiX的一部分.还有其他人取得了成功吗?
Squirrel:就像ClickOnce一样,但它确实有效.
Squirrel既是一组工具,也是一个库,可以完全管理安装和更新桌面Windows应用程序,使用C#或任何其他语言编写(即Squirrel可以管理本机C++应用程序).
Squirrel使用NuGet包来创建安装和更新包,这意味着您可能已经知道创建安装程序所需的大部分内容.
使用维克斯,NSIS和的InstallAware之后,我不得不承认,虚心,他们都矫枉过正我真正需要的是一个软件开发人员.到目前为止,我还没有使用Visual Studio部署项目部署的项目.
有限吗?是.
它的学习和使用也非常简单.此外,您实际上可以通过使用此处所述的技术自动创建补丁(.MSP文件)
我完全理解你不能在Visual Studio安装项目中做所有事情,但是你可以完成的事情是相当令人惊讶的.它是免费的,很简单,坦率地说,对于一般用途来说,比花费无数个小时学习WiX令人难以置信的XML(令人印象深刻的原因)或InstallAware的详细脚本更好.
使用VS Setup,它可以拖放和构建'n'部署.我尝试过所有其他解决办法挫折...他们不能自动检测到您的项目输出...或需要特殊的过滤器,以便不包括生成不需要的输出.
因此我的建议是:如果您只是希望部署您的项目,那么请学习:
如何构建自定义安装程序类,以及
如何编写自己的必备软件包
这些都是相当容易掌握的技能,并满足大多数开发人员的需求.
您在使用ClickOnce时遇到什么限制?当我不使用ClickOnce时,我会使用NSIS(尽管您可以使用大多数其他安装程序语言/系统)来制作可运行的自安装应用程序。
也就是说,当您运行下载程序时,它正在运行应用程序,并且没有任何设置问题。有一个菜单选项或一个允许永久安装的经常使用的检测器。
两个难题是:
设置文件
本地注册表设置
对于设置文件,我使用远程Web服务来保存状态等。
如果您需要本地注册表设置(文件关联等),则需要进行正确的安装,但是当用户首次使用该应用程序时,可以静默完成此安装。