2017-09-12 53 views
3

Microsoftが最新バージョンのレジストリエントリのパターンを変更すると、Visual C++ 2017再頒布可能パッケージがマシンにインストールされている場合はどうなりますか?Visual C++ 2017 Redistributableがインストールされているかどうかを検出する方法

私の目的は、ソフトウェアがVS2015を使って書かれているので、VC++ 2015Redistをインストールすることです。マシン上でVC++ 2017Redistを正常に検出できたら、VC++ 2015Redistのインストールをスキップします

+0

しかし...なぜですか?ポイントは?あなたのプログラムがそれを必要とするなら、あなたのプログラムで再配布可能なものを出荷してください。あなたのプログラムがそうでないなら、しないでください。 –

+2

@DietrichEpp私は、OPがインストールパッケージが再配布可能ファイルが既にインストールされているかどうかを確認したいと考えています。その場合、そのステップはスキップできます。 – Simple

+0

@シンプル:私はOPの答えを聞きたい。 –

答えて

-1

問題を解決しています。 VS2015(Toolset v140)のみに適した旧式の再配布可能ファイルをインストールしようとしています。代わりに、現在のVS2017再配布可能ファイルをインストールしてください(Toolset v141)。 VS2015と下位互換性があります。

+2

マシンが既にVS2345を再インストール可能な状態にしているので、OPは(MSのリリース日に最新の再配布可能なインストーラを使って自分のアプリケーションを再パッケージしない限り)同じ状況になります。 – Ped7g

+0

@ Ped7g:Trueですが、これは仕様です。 VS2345のレジストリキーは検出できません。あなたはあなたに知られている最新のバージョンをインストールしようとします。時代遅れのインストーラをブロックするのは将来のインストーラに任されています。 – MSalters

+0

元の質問への答えは、 "彼のインストーラが失敗する"というものです...しかし、それは様々な理由で失敗する可能性があり、最近の配布可能なインストールによる失敗は、下位互換性があるので無視しても問題ありません。不十分なスペースは無視してはいけない... OPが彼の質問を言い換えるならば、彼は問題のある状況にあり、失敗が大丈夫かどうかを知ることはできない。 (私は答えがなく、10年以上の間、MSの技術ではうまくいきません、私はちょっと不思議です、あなたの答えがどこにも至っていないことを指摘しなければならないと感じました) – Ped7g

関連する問題