2

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

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

有任何想法吗?

更新

我检查了先决条件对话框,它肯定不存在。我在 Win 7 机器(64 位)上运行 VS 2008。

4

3 回答 3

4

Go to Properties / Publish / Prerequisites and click on ".NET Framework 3.5 SP1" (instead of ".NET Framework 3.5") :-)

于 2009-10-30T13:14:24.640 回答
0

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

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

于 2009-12-15T14:04:14.113 回答
0

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

C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages

此文件夹最初在我的计算机上只有名为 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 即可!

于 2010-12-08T23:17:20.950 回答