0

我要求 .NET 3.5 SP1一个 VS2008 安装项目会更新 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。

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

4

1 回答 1

0

啊,正如我引用的另一篇文章链接到的文章中所指出的那样,您可以使用这样一个事实,即失败的注册表搜索将产生一个空白字符串(而如果实际安装了 3.5 并使用表达式,则会产生结果:#0#1

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

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

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

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

[1] 不对,亚当!

于 2009-01-26T09:38:57.143 回答