WPF / Silverlight可以生成独立的可执行文件吗?

时间:2012-01-04 00:00:36

标签: wpf silverlight

假设我想要显示图像,包含一些热链接,翻转等。我知道这很容易作为网页或SWF,但我希望它是独立的,而不是依赖于Web浏览器。我还希望资产有点隐藏,只是为了便于部署。

作为SWF,我的解决方案很简单。所有媒体对象都在SWF内。

如何使用WPF / Silverlight执行此操作?我发现如果我使用WPF,.net 4安装在某些机器上可能需要20分钟。这对我的用途来说是完全不可接受的。有没有办法使用不需要安装的WPF子集?

有没有办法让Silverlight只生成像Flash SWF这样的独立文件?

3 个答案:

答案 0 :(得分:2)

WPF在.NET平台上运行,您的用户必须安装此程序才能运行您的应用程序。 Silverlight可以作为浏览器之外的应用程序运行,但Silverlight运行在单独的Silverlight运行时之上。这比完整的.NET运行时要小一点(如果我记得的话,大约5MB)并且应该是一个更快的安装过程(这是最初的目标之一)。

答案 1 :(得分:1)

是的,可以使用第三方工具/框架。

我过去曾使用Xenocode postbuild将.NET框架嵌入到应用程序中,并获得一个可在不在目标PC上安装.NET框架的情况下运行的可执行文件。请注意,Postbuild似乎已被Spoon Studio买断/合并。

对于Silverlight,无需在目标计算机上安装SL,但是有一些非常聪明的工具,例如来自ComponentArt的Dashboard Server,它允许您将Silverlight / Xaml应用程序部署到服务器,但跨多个不同的操作系统/浏览器向客户端提供HTML5。在这种情况下,您仍然需要一个兼容HTML5的浏览器,但随着时间的推移,这应该变得更加普遍。

最后,如果您要做的只是有一个exe来重新分发(然后在客户端依赖于.NET Framework),您可以使用BabelFor.NET onfuscator等工具,它允许您合并多个组装成一个。

致以最诚挚的问候,

答案 2 :(得分:0)

WPF在编译代码时会创建独立的可执行文件。对于Silverlight,您必须创建一个浏览器外的应用程序,但它仍然需要在第一次运行时下载xap文件。