2009-10-30 44 views
2

我有一个ClickOnce应用程序不会运行,除非客户端机器具有.NET 3.5 SP1。当Stop()在Storyboard上被调用时,我正在运行它崩溃。在我的客户端虚拟机上安装SP1之后,所有工作都完美无缺。有没有办法将.NET 3.5 SP1作为ClickOnce应用程序的先决条件?

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

任何想法?

UPDATE

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

回答

4

进入属性/出版/先决条件,并点击 “的.NET Framework 3.5 SP1" (而不是” .NET框架3.5" ) :-)

+0

@Nestor哇我发誓我昨晚没有看到凌晨2点= P这就是我固执的想法,并试图解决睡眠不足时的问题! – Joseph 2009-10-30 13:26:19

+1

它也发生在我身上很多次! – Nestor 2009-10-30 13:48:00

+1

好的,我在一台运行Windows Server的计算机上看到了这一点。但是,我的主开发计算机运行Win 7,它没有这个选项。我错过了什么? – Joseph 2009-10-31 02:58:31

0

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

如果你可以要求FullTrust此应用程序,你可以在HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5的“版本”检索REG_SZ,当您的应用程序启动时,它比较对3.5.30729.01。

0

您需要在Windows SDK引导程序包文件夹中具有.NET 3.5 SP1的引导程序包。在Windows 7(我的设置)VS2008,这就是:

C:\ Program Files文件(x86)的\微软的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

只需下载并命名DotNetFX35SP1下的文件夹中解压这个包(...)\包,重新启动Visual Studio 2008,你会很开心!

相关问题