此列表是否正确理解了Microsoft当前的应用程序部署选项?

时间:2009-01-20 12:54:30

标签: wpf silverlight xbap

6 个答案:

答案 0 :(得分:2)

总结,爱德华。

Silverlight中的大部分代码都可以直接用于WPF& WPF XBAP应用程序,因为Silverlight是WPF的子集。对于XAML,您必须更改名称空间URI,并且可能需要进行一些轻微的手动调整 对于XAML到Silverlight的转换,您还必须更改名称空间URI,但如果使用不在Silverlight中的WPF元素,则可能需要重构。 WPF和Sync Framework是在线/离线应用程序的绝佳选择。有关WPF / Sync Framework应用程序的示例,请参阅Syndicated Client Experience Starter Kit。此外,Silverlight + Windows Live Mesh将提供在线/离线功能。

答案 1 :(得分:1)

MS支持客户端应用程序的部署选项

  • MSI(任何Windows应用)
  • Clickonce(仅适用于.Net客户端应用)

Clickonce不是特定于WPF的。

XBAPS是受信任的安全沙箱中的Clickonce部署,浏览器托管的WPF应用程序。 WinForms应用程序可以单击部署,也可以进行浏览器托管。

Silverlight(主要)源代码与WPF兼容。您可以将SL控件重新编译为WPF控件。

非浏览器托管的clickonce可能非常适合您。

答案 2 :(得分:1)

AppStart经验:

MSI = 只有Windows。很多点击。使用前安装。适用于非常庞大且资源密集型应用。应用程序可以在DVD上分发。 App可以做任何事情。没有技术限制。

ClickOnce = 只有Windows。可以从网页激活。下载一次。保留有关它的信息(服务器)并可以自动更新。应用受限制。需要.NET

Silverlight = 在Windows / Max / Linux(很快)和未来的Mobiles(计划)上运行。是一个网页还是可以嵌入到html中。代码在服务器上,永远不会安装。需要Silverligth-Runtime。提供WPF的子集

XBAP =喜欢silverlight,但仅适用于Windows。没人会需要那个。 Silverlight更好

编程技术:

Silverlight = 在客户机上运行。使用WPF *

ASP.NET = 在.NET上运行服务器maschine,但在客户端maschine上运行Javascript / html。

WinForms =旧技术

WCF =不适用于基于浏览器的应用。适用于分布式应用。人们可以打开所有门进入客户端mashine。使用WCF =需要MSI。

WCF为服务器提供了一个很好的框架。当您使用REST进行接口时,您将永远不需要在客户端上使用WCF。可以在ClickOnce和MSI安装的应用程序中连接/断开客户端。您必须连接到Silverlight和ASP中的appstart网页。

XAML可以重复用于silverlight / wpf / xbap。 wpf / silverlight的微小变化。据我所知,wpf / xbap没有变化。

答案 3 :(得分:1)

我不会那么快就将XBAP视为“仅适用于Windows的Silverlight”。因为它使用完整的WPF集,所以只要您在对XBAP施加的部分信任限制内工作,就可以为WPF应用程序和XBAP使用相同的代码库。

此外,从.NET 3.5开始,WCF在Partial Trust下的XBAP中工作。你不能在完全信任的WPF应用程序中做到这么多,但它仍然有用。

答案 4 :(得分:0)

您列出了“MSI App”。 Windows Installer是Microsoft在Windows上安装和升级程序的技术。它创建的安装包具有“.msi”扩展名。 (它最初将被称为“Microsoft Installer”。他们将其更改为“Windows Installer”,但保留扩展名。)它定义了创建安装包的标准方法。可以通过许多不同的工具(InstallShield,WiX,Visual Studio等)创建包。它不仅限于WPF应用程序。您可以使用它来安装几乎任何类型的应用程序。

答案 5 :(得分:0)

Live Framework(Live Mesh vNext)提供的另一个部署选项是支持网格的Web应用程序(MEWA)。这使您可以将Silverlight,DHTML和Flash应用程序打包,以在Live桌面上联机运行,也可以在Windows桌面上联机/脱机运行。您可以将MEWA安装到Mesh中,并将其自动部署到Mesh中的所有设备。如果发布了新版本的应用程序,则更新也可以同步到所有设备。

除了Silverlight / DHTML / Flash之外,还有一些提示,未来版本的Live Framework将支持MSI和CAB打包应用程序,可能具有类似的部署功能。

支持网格的Web应用程序的文档: http://msdn.microsoft.com/en-us/library/dd199554.aspx