2017-02-14 13 views
0

インストーラでVisual C++ Redistributable 2013をインストールする(インストールされていない場合)必要があります。しかし、既にインストールされているVC++が壊れていると、CustomActionで呼び出されるDLL関数があるため、インストーラが動作しません。インストールされている製品が破損しているかどうかを確認する方法は?

私の質問:インストールされたVC++の再配布可能ファイルが破損しているかどうかを調べる方法はありますか?

答えて

1

一般的なヘルスチェックは非常に困難なトピックです。 Windowsに組み込まれているファイルの場合、SFCのようなツールがありますが、それは他のインストール済みパッケージには適用されません。 MSIパッケージの場合、修復の実行を選択することができます。場合によっては、Windowsが自動的に修復を実行します。このトピックは一般的にResiliencyと呼ばれています。しかし、自動修復や手動修復があなたが遭遇する問題の種類を修正しない限り、それはあまり意味がありません。

問題は実際にどのような問題が発生しているか、どのような頻度で修正されているか、問題を修正することによってどのような問題が引き起こされるかになります。 VC++ redistの手動修復を呼び出すだけで十分であれば、実装はかなり簡単です。完全なアンインストールと再インストールが必要な場合は、これははるかに侵略的です。インストールのその部分を作る考えは私を間違った方法で擦ります。非常に特殊な状況でのみこれを行う必要がある場合、その状況をどれだけうまく識別できるかによって異なります。

また、インストールに成功することが重視されている場合、VC++パッケージの状態に依存しなくなるようにカスタムアクションDLLを静的にリンクすることができます。しかし、アプリケーションがVC++パッケージにも依存している場合、これはアプリケーションに大きな影響を与えません。おそらく、VC++ DLLの民営化されたコピーは、セキュリティアップデートの場合にVC++ DLLのコピーを扱うことの困難さを犠牲にして、(2013バージョンでサポートされていれば - それは忘れてしまいます)

もう一度、これはどのような問題が発生しているか、頻繁に対処しているかどうか、治癒が病気よりも悪いかどうかによって異なります。

関連する問題