Wix

vcredistの存在を検出します-UpgradeCodeを使用します



Detect Presence Vcredist Using Upgradecode



解決:

次のロジックは、ブートストラッパーバンドル(書き込み)に対して正常に機能します。

  

要約する:



  • 使用する検索用util:ProductSearch withUpgradeCodeパラメーター。
  • 検出のために、バージョン比較を行いますDetectCondition。

燃やす UpgradeCodeに基づく製品検出は、明らかに動作が異なります。 msi (ここで、アップグレードテーブルを属性「OnlyDetect」と一緒に使用してから「LaunchCondition」を構成できます)。


参考までに:
私は以下を見つけました UpgradeCodes (彼らと一緒に 最小 バージョン)一致する..。



x86:

vcredist 2005 x86-86C9D5AA-F00C-4921-B3F2-C60AF92E2844、8.0.61001 vcredist 2008 x86-DE2C306F-A067-38EF-B86C-03DE4B0312F9、9.0.30729.6161 vcredist 2010 x86-1F4F1D2A-D9DA-32CF-9 40219 vcredist 2012 x86-4121ED58-4BD9-3E7B-A8B5-9F8BAAE045B7、11.0.61030 vcredist 2013 x86-B59F5BF1-67C8-3802-8E59-2CE551A39FC5、12.0.40660 vcredist 2015 x86-65E5BD06-6392-3027-8C26-853107D3CF .23506 vcredist 2017 x86-65E5BD06-6392-3027-8C26-853107D3CF1A、14.15.26706 vcredist 2019 x86-65E5BD06-6392-3027-8C26-853107D3CF1A、14.20.27508

x64:

vcredist 2005 x64-A8D19029-8E5C-4E22-8011-48070F9E796E、8.0.61000 vcredist 2008 x64-FDA45DDF-8E17-336F-A3ED-356B7B7C688A、9.0.30729.6161 vcredist 2010 x64-5B75813A761-DDAD8。40219 vcredist 2012 -3E00-8101-FD03B86B29D1、11.0.61030 vcredist 2013 x64-20400CF0-DE7C-327E-9AE4-F0F38D9085F8、12.0.40660 vcredist 2015 x64-36F68A90-231580C-34DF64 .23506 vcredist 2017 x64-36F68A90-239C-34DF 64B30153CE35、14.15.26706 vcredist 2019 x64-36F68A90-239C-34DF-B58C-64B30153CE35、14.20.27508

履歴の編集:



1)Brian Sutherlandのコメントに従って、vcredist 2017x86のUpradeCodeを更新しました。 VS 2015、VS 2017、およびVS 2019はすべて、同じファミリ内にとどまります14. *。

2)Ahmed Danielのコメントの質問に答えるために、x64バリアントを追加しました。更新されたリストは、主に回答https://stackoverflow.com/a/46637095で提案されているようにソリューションの修正バージョンを実行することから決定されました
これらの特定のアップグレードコードに関するマイクロソフトの公式ドキュメントがないのは残念ですが、私たちは自分自身を理解する必要があります...