我要求.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。
(我真的希望他们能够提出一个更好的编号方案 - 世界和它的狗可以看到这会让人感到困惑)
答案 0 :(得分:0)
啊,正如从the article链接的the other post I referenced所指向的那样,你可以使用这样一个事实:失败的注册表搜索会产生一个空字符串(而#0
和{{如果实际安装了3.5并且使用表达式:
#1
这使得检查成为分离,而不是连接[1]
这解决了问题 - 在没有SP的情况下4.0检查不会失败。
剩下的问题是,仍然没有涵盖4 / 4.1 / 4/5/5/6安装的情况,并且机器上有一个未使用的3.5装......(所以不接受我的回复!)
[1]没错,亚当!