【问题标题】:Creating a future proof .NET 3.5 SP1 installer prerequisite for setup.exe AND the .MSI为 setup.exe 和 .MSI 创建面向未来的 .NET 3.5 SP1 安装程序先决条件
【发布时间】:2010-10-02 17:28:13
【问题描述】:

我要求 .NET 3.5 SP1 和 Will a VS2008 setup project update Net 3.5 SP1?。这使得 setup.exe 检查正确。

我还在我的 MSI 中添加了“SP1”启动条件,因此它不会让用户通过启动 MSI 来安装我的 .NET 3.5SP1 应用程序(并将框架条件消息中的 [VSDNETMSG] 替换为一个实际上提到了SP1)。

从未来打样的角度来看,这感觉是错误的。我希望条件是:

(NETVer=3.5 AND Net35SPLevel=1) OR (NETVer=>3.5)

不是

(NETVer=3.5 AND Net35SPLevel=1)

有没有办法做到这一点?框架检查没有条件属性允许我添加子条件...

是的,我也可以不用担心我的小脑袋:P

如果那里的一位 MS 版本控制专家读到此内容,如果您要将代码所依赖的内容放入 SP,您能否让安装程序能够检查它的 OOTB。

(我真希望他们能想出一个更好的编号方案 - 世界和它的狗可以看到这会变得混乱)

【问题讨论】:

    标签: visual-studio-2008 installation windows-installer .net-3.5 launch-condition


    【解决方案1】:

    啊,正如the article 链接到the other post I referenced 所指出的那样,您可以使用这样一个事实,即失败的注册表搜索将产生一个空白字符串(而#0#1 将在3.5 为实际安装并使用表达式:

    (NET35SPLEVEL="") OR NOT (NET35SPLEVEL>>"0")
    

    这使得检查成为析取,而不是合取[1]

    这解决了问题 - 在没有 SP 的 4.0 上检查不会失败。

    剩下的问题是仍然没有涵盖安装了 4/4.1/4/5/5/6 并且机器上有 unservicepacked 3.5 的情况......(所以不接受我的回复!)

    [1] 不对,亚当!

    【讨论】:

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