为setup.exe和.MSI创建面向未来的.NET 3.5 SP1安装程序先决条件

时间:2009-01-21 16:11:57

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

我要求.NET 3.5 SP1 la Will a VS2008 setup project update Net 3.5 SP1?。这样可以正确检查setup.exe。

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

从未来的证据来看,这感觉不对。我希望条件是:

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

(NETVer=3.5 AND Net35SPLevel=1)

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

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

如果那里的某个MS版本专家读到这个,如果你要把代码所依赖的东西放到SP中,你可以让安装程序能够检查它吗OOTB。

(我真的希望他们能够提出一个更好的编号方案 - 世界和它的狗可以看到这会让人感到困惑)

1 个答案:

答案 0 :(得分:0)

啊,正如从the article链接的the other post I referenced所指向的那样,你可以使用这样一个事实:失败的注册表搜索会产生一个空字符串(而#0和{{如果实际安装了3.5并且使用表达式:

将导致1}}
#1

这使得检查成为分离,而不是连接[1]

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

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

[1]没错,亚当!