0

私は .NET 3.5 SP1 を要求しました VS2008 セットアップ プロジェクトは Net 3.5 SP1 を更新しますか? . これにより、setup.exe が正しくチェックされます。

また、「SP1」起動条件を MSI に追加して、ユーザーが MSI を起動して .NET 3.5SP1 アプリをインストールできないようにしました ([VSDNETMSG]フレームワーク条件メッセージの を実際に SP1 に言及するものに置き換えました)。

将来の保証の観点からすると、これは間違っているように感じます。条件を次のようにしたい:

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

いいえ

(NETVer=3.5 AND Net35SPLevel=1)

それを行う方法はありますか?フレームワーク チェックには、サブ条件を追加できるようにする条件プロパティがありません...

はい、私はそれについて私のかわいい頭を心配することもできませんでした:P

MS のバージョン管理の専門家の 1 人がこれを読んだ場合、コードが依存するものを 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がインストールされていて、マシンにサービスパックされていない3.5がある場合をまだカバーしていないということです...(だから私の応答を受け入れません!)

[1]そうじゃない、アダム!

于 2009-01-26T09:38:57.143 に答える