有没有办法要求.NET 3.5 SP1作为ClickOnce应用程序的先决条件?

时间:2009-10-30 13:06:52

标签: .net-3.5 clickonce prerequisites

我有一个ClickOnce应用程序,除非客户端计算机具有.NET 3.5 SP1,否则它将无法运行。当在Storyboard上调用Stop()时,我正在运行它崩溃。在我的客户端虚拟机上安装SP1后,一切都运行良好。

我的问题是我正在使用ClickOnce进行部署,并且我已经将.NET 3.5作为先决条件,但我也不知道如何要求SP1。

有什么想法吗?

更新

我已经检查了先决条件对话框,但绝对不存在。我在Win 7盒子(64位)上运行VS 2008。

3 个答案:

答案 0 :(得分:4)

转到“属性/发布/先决条件”,然后单击“.NET Framework 3.5 SP1”(而不是“.NET Framework 3.5”) : - )

答案 1 :(得分:0)

出于这个原因(以及其他人),我不会向最终用户提供最终的ClickOnce安装位置。相反,我将它们发送到一个页面/站点,在允许它们安装应用程序之前在其PC上运行各种检查(.NET Framework级别就是这样的检查)。

如果您可以为此应用程序要求FullTrust,则可以在HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5处为“版本”检索REG_SZ,并在应用程序启动时将其与3.5.30729.01进行比较。

答案 2 :(得分:0)

您需要在Windows SDK bootstrapper包文件夹中安装.NET 3.5 SP1的Bootstrap Package。对于Windows 7上的VS2008(我的设置),这是:

  

C:\ Program Files(x86)\ Microsoft   的SDK \的Windows \ v6.0A \引导程序\包

此文件夹最初只在我的计算机上有一个名为DotNetFX35的子文件夹,用于.NET FrameWork 3.5 RTM(不是SP1)。我需要DotNetFX35SP1,并在(...)\ Windows \ v7.0A下找到它。我认为v7.0A是随Visual Studio 2010一起安装的,但我不确定。无论如何,我已经在我的博客网站上提供了这个地址的引导文件:

http://posts.nilzorblog.com/stackoverflow/DotNetFX35SP1.zip

只需在(...)\ Packages下的名为DotNetFX35SP1的文件夹中下载并解压缩此软件包,重启Visual Studio 2008即可开始使用!