【问题标题】:Is there a way to require .NET 3.5 SP1 as a prerequisite for ClickOnce applications?有没有办法要求 .NET 3.5 SP1 作为 ClickOnce 应用程序的先决条件?
【发布时间】:2009-10-30 13:06:52
【问题描述】:

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

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

有什么想法吗?

更新

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

【问题讨论】:

    标签: .net-3.5 clickonce prerequisites


    【解决方案1】:

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

    【讨论】:

    • @Nestor 哇,我发誓我昨晚凌晨 2 点没看到 =P 这就是我在睡眠不足的情况下固执并试图解决问题的结果!
    • 兄弟也发生过很多次!
    • 好的,我在一台运行 Windows Server 的计算机上看到了这个。但是,我的主开发计算机运行的是 Win 7,它没有此选项。我错过了什么???
    【解决方案2】:

    您需要在 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 即可!

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2010-12-27
        • 1970-01-01
        • 1970-01-01
        • 2014-04-14
        • 2011-02-07
        • 2011-06-10
        • 2010-10-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多